SAP.Functions --- Active X组件错误

2020-09-26 02:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我一直试图编写一个脚...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我一直试图编写一个脚本,其中我从脚本中调用功能模块并执行。 我浏览了几个代码论坛。 但是,当我使用它时,出现错误。

请找到以下代码和错误。

设置funcControl = CreateObject(" SAP.Functions")

设置compname = funcControl.Add(" TMP_GUI_GET_COMPUTERNAME")

如果compname.Call = True然后

计算机名= compname.IMPORTS("计算机名称")

MsgBox计算机名

如果结束

当我尝试执行以上代码时,我得到 Active X组件无法创建对象" SAP.Functions"的错误。

我能够在Stefan(使用32位)cmd.exe的答案之一的帮助下运行脚本。

现在的问题是,对程序的调用不成功。

设置funcControl = CreateObject(" SAP.Functions")

设置compname = funcControl.Add(" TMP_GUI_GET_COMPUTERNAME")

MsgBox组合名(此行给出FM名称,作为消息框中的输出)

如果compname.Call = True然后

MsgBox"呼叫成功"

其他

MsgBox"呼叫失败"

如果结束

每次尝试运行脚本时,都会收到"呼叫不成功"的信息。 您能否帮助我理解为什么对程序的调用无法通过?

此致

Dipesh

4条回答
DafaDDDa
2020-09-26 02:49 .采纳回答

Hello Dipesh,

在调用函数之前,必须连接SAP系统。 看一下带有功能模块RFC_PING的VBS示例:

'-Begin --------------------------------------------  ---------------------

   '-指令-----------------------------------------------  -----------
   显式期权

   Sub Main()'---------------------------------------------  -------------

     '-变量-----------------------------------------------  ----------
     昏暗的SAPFunc,Connection,SAPConnection,PingFunc,retPing
     除了Ping昏暗

     '-获取SAP.Functions --------------------------------------------  -----
     关于错误继续
     设置SAPFunc = CreateObject(" SAP.Functions.Unicode")
     出错时转到0
     如果不是IsObject(SAPFunc)然后
       MsgBox" CreateObject(SAP.Functions.Unicode)失败",vbOkOnly,"错误"
       退出子
     万一

     '-获取SAP.LogonControl连接-----------------------------------
     关于错误继续
     设置连接= SAPFunc.Connection()
     出错时转到0
     如果不是IsObject(Connection)然后
       MsgBox" SAPFunc.Connection失败",vbOkOnly,"错误"
       设置SAPFunc = Nothing
       退出子
     万一

     '-设置连接参数-----------------------------------------
     Connection.Client =" 001"
     Connection.User =" BCUSER"
     Connection.Password =" minisap"
     Connection.Language =" EN"
     Connection.System =" NSP"
     Connection.HostName =" ABAP"
     Connection.SystemNumber = 0

     '-连接SAP系统---------------------------------------------  ---
     SAPConnection = Connection.Logon(0,vbFalse)
     如果SAPConnection = 0,则
       MsgBox"连接登录失败",vbOkOnly,"错误"
       退出子
     万一

     '-调用ABAP功能模块RFC_PING --------------------------------
     设置PingFunc = SAPFunc.Add(" RFC_PING")
     如果IsObject(PingFunc)然后
       retPing = PingFunc.Call()
       如果retPing = False,则
         除了Ping = PingFunc.Exception()
         MsgBox CStr(exceptPing),vbOkOnly,"结果"
       其他
         MsgBox CStr(retPing),vbOkOnly,"结果"
       万一
     万一

     '-注销 -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - -  -------------
     Connection.Logoff()

   结束子

   '-主要 -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - -  -----------------
   主要()

 '-结束 -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - -  --------------------
 

让我们知道您的结果。

干杯
Stefan

一周热门 更多>