在VBA中调用RFC_READ_TABLE时出错61704。

问题描述 投票:0回答:1

我试图通过RFC对象连接到SAP。

Dim sap As Object
Set sap = CreateObject("SAP.Functions.unicode")
sap.connection.system = "xxxxxxxx"
sap.connection.Client = "700"
sap.connection.User = "USER"
sap.connection.Password = "PASS"
sap.connection.Language = "EN"

If sap.connection.Logon(1, False) <> True Then 'Try Logon
   MsgBox "Cannot Log on to SAP"
End If

'*************************************************************
'Define the table specifics
'************************************************************

Dim objRfcFunc As Object
Set objRfcFunc = sap.Add("RFC_READ_TABLE") 'IN THIS LINE MY ERROR OCCURS

内部应用程序错误 - 运行时错误:61704

有什么解决办法吗?

connection parameters看来我的连接是正常的。你能检查我的连接变量吗?

vba sap connector rfc
1个回答
1
投票

下面的代码是我从 此处 并进行了调整,对我来说是可行的。当然你也要改变连接参数(用户名等)。我想你的问题是你本来就没有连接。

Sub Test_RFC()
    ' Connect to SAP
    Dim oSAP As Object
    Set oSAP = CreateObject("SAP.Functions.unicode")
    ' Connection parameters - to be adjusted
    oSAP.Connection.ApplicationServer = "1.1.1.1" ' IP des Appl-Servers (SM51->Details)
    oSAP.Connection.SystemNumber = "01"           ' Systemnummer, meißt im Namen des Appl-Servers enthalten
    oSAP.Connection.System = "XD1"                ' Entwicklungs-, Test-, Produktivsystem
    oSAP.Connection.Client = "100"                ' Mandant
    oSAP.Connection.Language = "DE"               ' Sprache "EN", "DE" ...



    ' RFC-Login: Show logon popup
    If oSAP.Connection.Logon(0, False) = True Then
        'You can only add a function module in case you have a connection
        Dim oFuBa As Object            
        Set oFuBa = oSAP.Add("RFC_READ_TABLE")

    End If
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.