VBA调用SAP事务

时间:2014-08-05 03:28:56

标签: vba sap

我是SAP和本网站的新手。 我试图从Excel调用SAP事务,我使用来自互联网的许多代码但仍然失败。 与我使用的代码无关,我总是得到与

相同的错误消息

"脚本正在打开与系统SYSTEM"

的连接

而不是错误说:

"运行时错误1000 "错误描述不可用"

比调试后它以黄色

突出显示
Set Connection = SapGuiApp.OpenConnection("SYSTEM", True)

它一直在使用我试图拉动它的所有代码 下面是代码

Dim sap As Object 
Dim conn As Object

Sub T_login()

    Set sap = CreateObject("SAP.Functions")
    Set conn = sap.Connection
    conn.System = "SYSTEM"
    conn.client = "603"
    conn.user = "LANAX001"
    conn.Password = "alamzeb4"
    conn.Language = "EN"

If conn.logon(0, False) Then

    MsgBox "Logon to the SAP system is not possible", vbOKOnly, "Comment"

Else

End If

If Not IsObject(SapGuiApp) Then

    Set SapGuiApp = CreateObject("Sapgui.ScriptingCtrl.1")

End If

If Not IsObject(Connection) Then

    Set Connection = SapGuiApp.OpenConnection("SYSTEM", True)

End If

If Not IsObject(session) Then

    Set session = Connection.Children(0)     
    'launch a transaction
    session.findById("wnd[0]").Maximize
    session.findById("wnd[0]/tbar[0]/okcd").Text = "FS10N"
    session.findById("wnd[0]").sendVKey 0

End Sub

1 个答案:

答案 0 :(得分:1)

这是我用来将数据加载到SAP的 - 经验证可以正常工作。 HTH。

function toArray() {
  var obj = {};
  for (var prop in arguments) {
    obj[prop] = {
      value: arguments[prop],
      writable: true,
      enumerable: true,
      configurable: true
    }
  } 
  return Object.create(Array.prototype, obj);
}

console.log(toArray("abc", 123, {def: 456}, [0, [7, [14]]]))

之后,这取决于你在t代码中做了什么。

祝你好运!