VBA到SAP // RFC功能模块,表作为输入参数

时间:2017-10-20 16:52:36

标签: excel excel-vba sap vba

我想通过RFC-Connector将数据从Excel发送到SAP。对于RFC功能模块,我必须将表填充为输入参数。可与RFC功能模块INotifyPropertyChanged进行比较。 不幸的是,我的VBA代码在带有错误的with语句处停止:

  

“对象变量或未设置块变量”。

见下文。

拜托,有人可以帮帮我吗?有什么问题?

STFC_DEEP_TABLE

2 个答案:

答案 0 :(得分:0)

我无法对此进行测试,但是通过阅读VBA / SAP Net Connector,看起来像C#的.Net Connector语法,在设置字段之前必须向导入表添加一行值。

Sub RFC_DEEP_TABLE()
  Dim sapConn As Object
  Set sapConn = CreateObject("SAP.Functions")

  If sapConn.Connection.Logon(0, False) <> True Then
    MsgBox "Cannot Log on to SAP"
  End If

  Dim objRfcFunc As Object
  Set objRfcFunc = sapConn.Add("STFC_DEEP_TABLE")

  Set import_tab = objRfcFunc.Tables("IMPORT_TAB")
  import_tab.freetable
  import_tab.appendrow
  import_tab.cell("STR", 1) = "X"

  If objRfcFunc.Call = False Then
    MsgBox objRfcFunc.Exception
  End If

End Sub

我不完全确定分配值的行,cell方法的参数应该是正确的,但我只发现了一些略有矛盾的博客和论坛帖子,而且我只是我不完全确定参数的顺序是否正确。

答案 1 :(得分:0)

我有同样的问题,我无法实例化BAPI。 SAP员工修改了BAPI,我无需更改代码即可访问它。
顺便说一句: 参数顺序为:

 import_tab.cell(line#, fieldname) = "X"