当其他用户共享时,SAP脚本不起作用

2020-09-13 06:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我一直在为部门内的各种任务创建脚...

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

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


我一直在为部门内的各种任务创建脚本,而GUI脚本却遇到问题。 当我尝试与工作组中的其他用户共享录制的脚本时,它们将无法工作。 我将它们的变量设置为与我的变量完全相同,因此我们的表对齐了,它们的ui可能缩放得比我的大,但是,表的布局仍然相同。

每当他们尝试使用我的脚本之一时,就会收到错误,并且脚本不会处理。 我将自己的脚本记录在自己的计算机上,单击相同的位置并输入相同的数据,它将在他们的计算机上运行。 由于我需要与他们共享40多个脚本,这让我发疯,试图找出这个问题。

我能够使用我的计算机上记录的脚本。

这是一个用于简单任务的脚本示例:

如果不是IsObject(application),则
    设置SapGuiAuto = GetObject(" SAPGUI")
    设置应用程序= SapGuiAuto.GetScriptingEngine
 万一
 如果不是IsObject(connection)然后
    设置连接= application.Children(0)
 万一
 如果不是IsObject(session)然后
    设置会话= connection.Children(0)
 万一
 如果IsObject(WScript)然后
    WScript.ConnectObject会话,"打开"
    WScript.ConnectObject应用程序,"打开"
 万一
 session.findById(" wnd [0]/usr/ctxtRIWO00-QMNUM")。text =" 409231479"
 session.findById(" wnd [0]/usr/ctxtRIWO00-QMNUM")。caretPosition = 9
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/tblSAPLIQS0ERN)
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/tblSAPLIQS0MNAH  =" JP-2R"
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/tblSAPLIQS0MNAH]  =" 6046"
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/tblSAPLIQS0MNAH  =" 8"
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/tblSAPLIQS0MNAH  =" 4/24/18"
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/tblSAPLIQS0MNAH)
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/tblSAPLIQS0MNAH  = 0
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/btnFC_ERLEDIGTpress)。
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_2:SAPLIQS0:7715/cntlTEXT/shellcont/shellIndex,设置为0。
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_3:SAPLIQS0:7336/btnDETAL")。按
 session.findById(" wnd [1]/tbar [0]/btn [5]")。按
 session.findById(" wnd [1]/usr/ctxtVIQMSM-MNCOD")。text =" EJPA"
 session.findById(" wnd [1]/usr/ctxtVIQMSM-MNCOD")。setFocus
 session.findById(" wnd [1]/usr/ctxtVIQMSM-MNCOD")。caretPosition = 4
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [1]/usr/txtVIQMSM-MATXT")。text =" 8"
 session.findById(" wnd [1]/usr/ctxtRQM02-NAME_QMSM")。setFocus
 session.findById(" wnd [1]/usr/ctxtRQM02-NAME_QMSM")。caretPosition = 0
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [1]/usr/ctxtRQM02-NAME_QMSM")。text =" ROMORD"
 session.findById(" wnd [1]/usr/ctxtRQM02-NAME_QMSM")。setFocus
 session.findById(" wnd [1]/usr/ctxtRQM02-NAME_QMSM")。caretPosition = 6
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [1]/usr/btnFREIGEGEBEN")。press
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [1]/usr/ctxtVIQMSM-PETER")。text =" 4/29/18"
 session.findById(" wnd [1]/usr/ctxtVIQMSM-PETER")。setFocus
 session.findById(" wnd [1]/usr/ctxtVIQMSM-PETER")。caretPosition = 7
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [1]/tbar [0]/btn [6]")。按
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_2:SAPLIQS0:7715/cntlTEXT/shellcont/shellIndex,设置为0。
 session.findById(" wnd [0]/usr/subSCREEN_1:SAPLIQS0:1050/subNOTIF_TYPE:SAPLIQS0:1051/txtVIQMEL-QMTXT")。text =" E6079-409231479"
 session.findById(" wnd [0]/usr/subSCREEN_1:SAPLIQS0:1050/subNOTIF_TYPE:SAPLIQS0:1051/txtVIQMEL-QMTXT")。caretPosition = 0
 session.findById(" wnd [0]/usr/subSCREEN_1:SAPLIQS0:1050/btnANWENDERSTATUS")。按
 session.findById(" wnd [1]/usr/tblSAPLBSVATC_E/radJ_STMAINT-ANWS [0,1]")。selected = true
 session.findById(" wnd [1]/usr/tblSAPLBSVATC_E/radJ_STMAINT-ANWS [0,1]")。setFocus
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/tabsTAB_GROUP_10/tabp10 \ TAB01/ssubSUB_GROUP_10:SAPLIQS0:7235/subCUSTOM_SCREEN:SAPLIQS0:7212/subSUBSCREEN_2:SAPLIQS0:7715/cntlTEXT/shellcont/shellIndex,设置为0。
 session.findById(" wnd [0]")。sendVKey 8
 session.findById(" wnd [0]/usr/subSUB_ALL:SAPLCOIH:3001/ssubSUB_LEVEL:SAPLCOIH:1100/tabsTS_1100/tabpIOLU")。select
 session.findById(" wnd [0]/usr/subSUB_ALL:SAPLCOIH:3001/ssubSUB_LEVEL:SAPLCOIH:1107/subSUB_KOPF:SAPLCOIH:1108/txtCAUFVD-KTEXT")。text =" E6079-409231479"
 session.findById(" wnd [0]/usr/subSUB_ALL:SAPLCOIH:3001/ssubSUB_LEVEL:SAPLCOIH:1107/subSUB_KOPF:SAPLCOIH:1108/txtCAUFVD-KTEXT")。caretPosition = 15
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/subSUB_ALL:SAPLCOIH:3001/ssubSUB_LEVEL:SAPLCOIH:1107/tabsTS_1100/tabpIOLU/ssubSUB_AUFTRAG:SAPLIWOL:0300/tblSAPLIWOLOBJK_120/ctxtRIWOL-TPLNR [2 ,.  OH-4625705E"
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/tbar [0]/btn [3]")。按
 session.findById(" wnd [0]/tbar [0]/btn [11]")。按

4条回答
SAP小黑
2020-09-13 06:46

此外,您正在描述做"同一件事"的录音之间的比较。

能够比较这两个脚本以查看所记录的代码中的差异将很有用。

旁注:通常, 不需要以.caretPosition = XX结尾的行。 这是输入光标的记录位置。 删除这些多余的步骤也可以帮助清理录音的可读性。

一周热门 更多>