点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我一直试图编写一个脚...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供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
这对Stefan很有用。 我现在只得到输出。 如果您有时间查看下面的代码并为我提供帮助。 我已经在使用登录板连接到我的SAP系统,这意味着SAPGUI连接已打开。 但是当我运行脚本时,仍然会弹出一个对话框,询问系统连接详细信息。 我认为这是代码中使用的CreateObject(" SAP.Function")的原因。 我尝试了GetObject,但语法错误。 您能告诉我在这里可以使用什么,因为我的SAP系统已经登录,但我无法再弹出另一个系统连接弹出窗口? 此外,该脚本仅在我使用FM RFC_PING且其他FM出现错误时才能正常运行。 为什么有这个主意?
预先感谢您:)
错误恢复后
设置SapGuiAuto = GetObject(" SAPGUI")
出错时转到0
如果不是IsObject(SapGuiAuto)那么
MsgBox" SAP登录板未运行,请单击"确定"开始"
设置WshShell = CreateObject(" WScript.Shell")
设置proc = WshShell.Exec(" C:\ Program Files(x86)\ SAP \ FrontEnd \ SAPgui \ saplogon.exe")
WScript.Sleep 4000
设置SapGuiAuto = GetObject(" SAPGUI")
如果结束
设置应用程序= SapGuiAuto.GetScriptingEngine
SID = InputBox("请输入SID进行登录")
如果不是IsObject(连接),则
设置连接= application.OpenConnection(SID,True)如果结束
如果不是IsObject(session)那么
设置会话=连接。Children(0)如果结束
如果IsObject(WScript)然后
WScript.ConnectObject会话,"打开"
WScript.ConnectObject应用程序,在"如果"结束
session.findById(" wnd [0]/usr/txtRSYST-MANDT")。text =" 200"
UID = InputBox("请输入我们的ISID")
session.findById(" wnd [0]/usr/txtRSYST-BNAME")。text = UID
密码=输入框("请输入密码")
session.findById(" wnd [0]/usr/pwdRSYST-BCODE")。text =密码
session.findById(" wnd [0]/usr/pwdRSYST-BCODE")。setFocus
session.findById(" wnd [0]/usr/pwdRSYST-BCODE")。caretPosition = 8
session.findById(" wnd [0]")。sendVKey 0
'****用户计算机信息***************
设置funcControl = CreateObject(" SAP.Functions")
设置compname = funcControl.Add(" TMP_GUI_GET_COMPUTERNAME")
MsgBox compname(compname通过显示带有FM名称的弹出窗口来提供正确的输出)
如果compname.Call = True然后
MsgBox"呼叫成功"
其他
MsgBox"更正程序"
如果结束
一周热门 更多>