点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我使用VBA程序连接到SAP系统...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我使用VBA程序连接到SAP系统...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我使用VBA程序连接到SAP系统并执行FM。 功能模块具有以下接口:
*" ------------------------------------------------- ------------------------- *" *"本地接口: *"正在导入 *" VALUE(I_RNG_ZSNR)TYPE/GKV/BP01_TAB_RNG_ZSNR *"汇出 *" VALUE(E_TAB_FKZS)TYPE/GKV/BP01_TAB_D_FKZS *" ------------------------------------------------ ----------------------
导入参数是一个结构表:
设置导出参数I_RNG_ZSNR的正确方法是什么?
这是我的VBA代码:
显式选项
子测试() 昏暗的功能作为SAPFunctions Dim Conn作为SAPLogonCtrl.Connection 暗淡为SAPFunctionsOCX.Function 暗淡X作为对象 暗行作为对象 暗淡如久 设置Func = CreateObject(" SAP.Functions.Unicode") 如果IsObject(Func)然后 设置Conn =函数连接 Conn.Client =" 001" Conn.User =" BCUSER" Conn.Language =" EN" Conn.HostName =" NSP" Conn.SystemNumber = 0 如果没有Conn.Logon(0,False)然后 Debug.Print"连接不成功" 其他 Debug.Print"连接成功" 设置f = Func.Add("/img/GKV/BP01_K_FKZS_MASS_READ") 如果IsObject(f)然后 设置X = f.Exports(" I_RNG_ZSNR") 设置行= X.AppendRow '错误:对象不支持此属性或方法 ``这似乎不是桌子 row.Cell(1," SIGN")=" I" row.Cell(1," OPTION")=" EQ" row.Cell(1," LOW")=" 10600035" Ret = f.Call 万一 退出连接 万一 设置功能=无 万一 结束子
使用COMConnector(CCo),它可以完美运行:
显式选项 子CCoTest() '-变量----------------------------------------------- ------------ 昏暗的SAP作为CCo.COMNWRFC 尽可能昏暗的hRFC Dim rc作为整数 昏暗的hFunc 昏暗的hFuncDesc长 尽可能长的Dim hTable 昏暗的行 昏暗的hExpTable只要长 昏暗的我,RowCount长 Dim charBuffer作为字符串 设置SAP = CreateObject(" COMNWRFC") 如果IsObject(SAP)然后 hRFC = SAP.RFCOPENCONNECTION(" ASHOST = NSP,SYSNR = 00,"&_ " CLIENT = 001,USER = BCUSER") 如果hRFC然后 hFuncDesc = SAP.RFCGETFUNCTIONDESC(hRFC,"/img/GKV/BP01_K_FKZS_MASS_READ") 如果hFuncDesc然后 hFunc = SAP.RFCCREATEFUNCTION(hFuncDesc) 如果hFunc然后 SAP.RFCGETTABLE hFunc," I_RNG_ZSNR",hTable 如果hTable然后 hRow = SAP.RFCAPPENDNEWROW(hTable) SAP.RFCSETCHARS hRow,"符号"," I" SAP.RFCSETCHARS hRow," OPTION"," EQ" SAP.RFCSETCHARS hRow,"低"," 10600035" 如果SAP.RFCINVOKE(hRFC,hFunc)= RFC_OK然后 SAP.RFCGETTABLE hFunc," E_TAB_FKZS",hExpTable 如果hExpTable然后 SAP.RFCGETROWCOUNT hExpTable,RowCount SAP.RFCMOVETOFIRSTROW hExpTable 对于i = 1到RowCount hRow = SAP.RFCGETCURRENTROW(hExpTable) charBuffer =空间(512) SAP.RFCGETCHARS hRow," NAME1",charBuffer,512 Debug.Print charBuffer 如果我如何使用SAP ActiveX控件设置导出参数?
感谢提示和提示。
952672-unbenannt1.jpg (39.7 kB)
唐ello,
非常感谢您的答复和测试结果。
所以我看到的唯一方法似乎是
干杯
斯特凡
一周热门 更多>