点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我在excel文件中有一个代码,用于从表中收集数据。 为此,我正在使用RFC_READ_TABLE。 通过弹出窗口进行的活动登录就像一个超级按钮一样,但是通过静默登录进行的任何尝试都将完全失败。 我的脚本复杂而冗长,将多个表链接在一起并收集大量数据,这就是为什么我不花我的代码并从互联网上提供一个简单的示例的原因。
基本上问题在这里:
如果oSAP.Connection.Logon(0,False)= True则
设置为false时,它会要求我提供凭据。 当我提供它们时,一切都很好。
当我将其设置为:
如果oSAP.Connection.Logon(0,True)= True则
我恰好在这里收到错误1001:
设置oFuBa = oSAP.Add(" RFC_READ_TABLE")
我怀疑我的登录无法正常运行,可能是错误的应用程序服务器-我不知道。
当我通过弹出窗口和凭据登录时,我的应用程序服务器为空,并且登录正常。
有人知道,为什么静默登录在此示例代码中不起作用? 应用服务器是强制性的吗? 为什么只要使用弹出窗口,它就可以与空的应用程序服务器一起工作?
如果有人可以在这里帮助我,我会很高兴。 提前非常感谢您。
Sub RFCReadTable() 'https://www.linkedin.com/pulse/connect-sap-r3-call-custom-fm-from-ms-excel-erkan-kopuz 'https://saplsmw.com/Import_tables_direct_into_Access_from_SAP_using_RFCs 'http://sapass.metro.client.jp/Sap_Active_X/UseFunctionControl.htm 设置oSAP = CreateObject(" SAP.Functions") oSAP.Connection.ApplicationServer =""'IP应用服务器(SM51->详细信息) oSAP.Connection.SystemNumber =" 01"'Systemnummer,应用服务器名称变暗 oSAP.Connection.System =" XA1"'Entwicklungs-,Test-,Produktivsystem oSAP.Connection.Client =" 100"'强制 oSAP.Connection.Language =" DE"'语言" EN"," DE" ... oSAP.Connection.User =" USER1"'SAP用户 oSAP.Connection.Password =" xyz"'SAP密码 oSAP.Connection.UseSAPLogonIni = False RFC登录,沃贝 'Logon(0,False):Logon-Fenster anzeigen 'Logon(0,True):静音登录,Passwort muss gesetzt sein 如果oSAP.Connection.Logon(0,False)= True,则 昏暗的oFuBa作为对象 'FuBa RFC_READ_TABLE缩写 设置oFuBa = oSAP.Add(" RFC_READ_TABLE") 出口 设置e_query_table = oFuBa.Exports(" QUERY_TABLE") 设置e_delimiter = oFuBa.Exports(" DELIMITER") 设置e_rowCount = oFuBa.Exports(" ROWCOUNT") e_query_table.Value =" STXH"'Tabelle STXH e_delimiter.Value =";" 'Spalten mit";" 发脾气 e_rowCount.Value =" 100"'最大值 100Datensätzelesen,0 = alle 桌子 设置t_options = oFuBa.Tables(" OPTIONS") 设置t_fields = oFuBa.Tables(" FIELDS") 设置t_data = oFuBa.Tables(" DATA") 在哪里 t_options.AppendRow t_options(1," TEXT")=" TDOBJECT EQ'TEXT'" 韦尔切·斯帕尔滕(Welche Spalten) t_fields.AppendRow t_fields(1," FIELDNAME")=" TDOBJECT" t_fields.AppendRow t_fields(2," FIELDNAME")=" TDNAME" t_fields.AppendRow t_fields(3," FIELDNAME")=" TDID" t_fields.AppendRow t_fields(4," FIELDNAME")=" TDTITLE" t_fields.AppendRow t_fields(5," FIELDNAME")=" TDLUSER" 如果oFuBa.Call = True,则 'Schnittstellenparameter" TABLES-DATA"孔 在Excel-Sheeteinfügen中的Rückgabe Dim iRow作为整数 iRow = 1 'Rückgabemengebeinhaltet琴弦,是mit dem festgelegten分隔符";" 发脾气 对于t_data.Rows中的每个oDataLine 变暗vFields作为变体 vFields = Split(oDataLine(1),";") ' 对于iCol = LBound(vFields)到UBound(vFields) ActiveWorkbook.Sheets(1).Cells(iRow,iCol + 1)=修剪(vFields(iCol)) 下一个iCol iRow = iRow +1 下一个 其他 例外吗? MsgBox oFuBa.Exception 万一 ' 注销 oSAP.Connection.Logoff 其他 '无法登录 MsgBox"登录失败" 万一 结束子
嗨比约恩,
我认为应用程序服务器主机名或消息服务器是建立与ABAP服务器的RFC连接所必需的。 也许是从" SAP R/3登录"弹出窗口中选择的。
如果设置了ApplicationServer值,请尝试在ABAP服务器上捕获安全跟踪,请遵循SAP注释
495911 -登录问题跟踪分析
请注意,不支持调用RFC_READ_TABLE FM
382318 -常见问题解答|功能模块RFC_READ_TABLE
2503119 -有关功能模块RFC_READ_TABLE的信息
最诚挚的问候,
肛门
一周热门 更多>