SAP通过RFC_CALL_TRANSACTION捕获数据RFC VB

问题描述:

我成为一个错误代码1001,SAP Remote错误?SAP通过RFC_CALL_TRANSACTION捕获数据RFC VB

我GOOGLE了很多,但没有找到任何东西。 也许有人知道这里的问题是什么。 即时通讯使用SAP 720

System.Runtime.InteropServices.COMException(0x000003E9):SAP远程 函数调用贝 Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(对象o, 类型OBJTYPE,字符串名称,对象[]指定参数时,字符串[] paramnames, 布尔[]回拷)贝 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(对象 实例,类型类型,字符串成员名称,对象[]参数,字符串[] ArgumentNames,类型[] TypeArguments,Boolean [] CopyBack)...

这里是我的代码:

Public FunctionCtrl As Object 
    Function login_Call() 
    Try 

     Dim conn As Object 
     FunctionCtrl = CreateObject("SAP.Functions") 
     conn = FunctionCtrl.Connection 


     conn.System = XXX 
     conn.ApplicationServer = XXX 
     conn.SystemNumber = XXX 
     conn.Client = "XXX" 
     conn.user = XXX 
     conn.Password = XXX 
     conn.Language = XXX 
     'needed for frontend dialog 
     conn.RfcWithDialog = True 

     'log on with logon dialog 
     If Not conn.Logon(0, 1) Then 
      Dim WsShell 
      Dim intText As Integer 
      WsShell = CreateObject("WScript.Shell") 
      intText = WsShell.Popup("Logon not succesful." & vbCrLf & _ 
           "will be closed automatically in one minute...", 60) 
      'conn = Nothing 
      Anmeldung_Call = False 
      Exit Function 
     End If 
     Anmeldung_Call = True 

    Catch ex As Exception 

     Anmeldung_Call = False 
    End Try 
    Me.Text = DateTime.Now.ToString() 
End Function 

Sub Open_IW73() 
    Dim BdcTable As Object 
    Dim RfcCallTransaction As Object 
    Dim Messages As Object 
    Dim count As Integer 

    'call transaction IW73 
    RfcCallTransaction = FunctionCtrl.Add("RFC_CALL_TRANSACTION") 
    RfcCallTransaction.Exports("TRANCODE") = "IW73" 
    RfcCallTransaction.Exports("UPDMODE") = "S" 
    BdcTable = RfcCallTransaction.Tables("BDCTABLE")..... 

的错误出现在这一行: “RfcCallTransaction = FunctionCtrl.Add(” RFC_CALL_TRANSACTION “) ”

谢谢

我已经有同样的错误。人们提出了不同的修复方法,比如使用SAP.functions.Unicode。 这对我来说简直就是改为“RFC_CALL_TRANSACTION_USING”。我不确定这些命令之间的确切区别,所以请小心。到目前为止,它一直在为我工作。