紧急帮助-SAP GUI脚本未在不同的客户端上以及针对不同的用户运行

2020-09-16 01:19发布

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

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


大家好,

我已经记录了一些用于创建采购申请,采购订单等的脚本。我目前遇到以下脚本问题:

1)我无法在不同的系统上执行相同的脚本,即,在Dev Client中记录的脚本无法在QA Client中执行。

2)从我的用户ID记录的脚本不适用于同一客户端中的另一个用户ID,即Dev或QA。

我已经搜索了所有论坛并尝试了组合,但是没有用。 我是一名功能顾问,并且设法使用VBA处理脚本。 其中一个录音的示例代码如下。 数字属性会根据系统,用户甚至有时甚至是交易默认设置而变化。

在这方面的任何帮助将不胜感激。

如果不是IsObject(application),则设置SapGuiAuto = GetObject(" SAPGUI")如果不是IsObject(connection),则设置application = SapGuiAuto.GetScriptingEngine结束。如果不是IsObject(session),则设置连接= application.Children(0)结束。 )然后设置session = connection.Children(0)如果If IsObject(WScript),则结束;然后WScript.ConnectObject会话,"在" WScript.ConnectObject应用程序上," on";如果,session.findById(" wnd [0]")。maximize session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/nme51n" session.findById(" wnd [0]")。sendVKey 0 session.findById(" wnd [0]/usr /subSUB0:SAPLMEGUI:0013/subSUB0:SAPLMEGUI:0030/subSUB1:SAPLMEGUI:3327/cmbMEREQ_TOPLINE-BSART").key =" NB" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2: SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," MATNR"," 60272228" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI: 0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," MENGE"," 11" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," NAME1"," 11-3" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," LGOBE"," TCTL" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2: SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," EKGRP"," 1AC" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS: 1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," AFNAM"," 10006831" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," FLIEF"," 14004019" session.findById(" wnd [0] /usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell").modifyCell 0," EKORG"," 1100" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。currentCellColumn =" EKORG" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。firstVisibleColumn =" WAERS" session.findById(" wnd [ 0]")。sendVKey 0 session.findById(" wnd [0]/tbar [0]/btn [11]")。按

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

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


大家好,

我已经记录了一些用于创建采购申请,采购订单等的脚本。我目前遇到以下脚本问题:

1)我无法在不同的系统上执行相同的脚本,即,在Dev Client中记录的脚本无法在QA Client中执行。

2)从我的用户ID记录的脚本不适用于同一客户端中的另一个用户ID,即Dev或QA。

我已经搜索了所有论坛并尝试了组合,但是没有用。 我是一名功能顾问,并且设法使用VBA处理脚本。 其中一个录音的示例代码如下。 数字属性会根据系统,用户甚至有时甚至是交易默认设置而变化。

在这方面的任何帮助将不胜感激。

如果不是IsObject(application),则设置SapGuiAuto = GetObject(" SAPGUI")如果不是IsObject(connection),则设置application = SapGuiAuto.GetScriptingEngine结束。如果不是IsObject(session),则设置连接= application.Children(0)结束。 )然后设置session = connection.Children(0)如果If IsObject(WScript),则结束;然后WScript.ConnectObject会话,"在" WScript.ConnectObject应用程序上," on";如果,session.findById(" wnd [0]")。maximize session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/nme51n" session.findById(" wnd [0]")。sendVKey 0 session.findById(" wnd [0]/usr /subSUB0:SAPLMEGUI:0013/subSUB0:SAPLMEGUI:0030/subSUB1:SAPLMEGUI:3327/cmbMEREQ_TOPLINE-BSART").key =" NB" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2: SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," MATNR"," 60272228" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI: 0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," MENGE"," 11" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," NAME1"," 11-3" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," LGOBE"," TCTL" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2: SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," EKGRP"," 1AC" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS: 1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," AFNAM"," 10006831" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。modifyCell 0," FLIEF"," 14004019" session.findById(" wnd [0] /usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell").modifyCell 0," EKORG"," 1100" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。currentCellColumn =" EKORG" session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:3212/cntlGRIDCONTROL/shellcont/shell")。firstVisibleColumn =" WAERS" session.findById(" wnd [ 0]")。sendVKey 0 session.findById(" wnd [0]/tbar [0]/btn [11]")。按

付费偷看设置
发送
5条回答
空代码
1楼-- · 2020-09-16 01:47

拉杰韦尔

请注意,即使屏幕上的最小差异也可能导致脚本无法正常工作。

如果您在质量检查中使用的屏幕与DEV并非完全相同,则很容易出错。

同样适用于不同的用户。 假设用户为同一屏幕保存了不同的特权或不同的布局,就足以破坏一个脚本。

您必须努力确保遵守这些规则,以使您的脚本能够在所需的不同情况下运行。

大简至美
2楼-- · 2020-09-16 01:54

感谢道格拉斯! 无论您怎么说,我都同意,但是有一些方法可以使用这些方法从脚本中排除屏幕编号。 可以使用" findbyname"语句完成此操作,但是我不知道该语句的确切语法。

黑丝骑士
3楼-- · 2020-09-16 02:00

Hello Rajveer,

我认为这是不断更改子屏幕ID的事务之一(就像ME22N一样)。

以我们为例:

session.findById(" wnd [0]/usr/subSUB0:SAPLMEGUI:0013/subSUB0:SAPLMEGUI:0030/subSUB1:SAPLMEGUI:3327/cmbMEREQ_TOPLINE-BSART")。key =" NB"

您可能会发现在脚本不起作用的情况下,看似相同的对象的ID也会有所不同。
使用脚本记录器检查问题发生时的屏幕并比较ID。

例如,在这里讨论了类似的问题:
https://archive.sap。 com/discussions/thread/3505281

最诚挚的问候,
弗兰克

CJones
4楼-- · 2020-09-16 01:54

嗨,拉杰维尔,

在这种情况下,我建议通过事件与BC-FES-GUI支持团队联系。

亲切的问候,

克里斯

你好拉杰维尔,

您是否在角色上使用SAPGUI脚本?

您应该通过网络浏览器使用Personas编辑器来构建脚本。

然后在SAPGUI中使用相同的脚本。 请注意,如果您通过SAPGUI而不是通过浏览器遇到问题,则需要联系BC-FES-GUI团队。

亲切的问候,

克里斯

一周热门 更多>