屏幕角色3.0 SP05-脚本在WebUI上运行良好,但在Windows的SAP GUI上显示错误

2020-09-15 00:32发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)晚安大师, ...

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

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


晚安大师,

我在SP 3.0 SP05上遇到脚本问题。

问题是我为带有just和IF条件的tx VA03创建了一个简单的脚本,可以隐藏\取消隐藏某些屏幕字段。 如果我在WebUI环境中执行脚本,则可以正常工作。 但是在SAP GUI上触发when时会显示一个弹出窗口,并显示错误:

第8行代码" 800.138f"中的" session.findById(...)为空或不是对象"

脚本为:

 var oItemCat = session.findById(" wnd [0]/usr/subSUBSCREEN_HEADER:SAPMV45A:4013/ctxtVBAP-PSTYV")。text;
 var oPA_LABEL = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT \\ 06/ssubSUBSCREEN_BODY:SAPMV45A:4457/subCOBL:SAPLKACB:1006/lblDKACB-ERGOKONT");
 var oPA_BUTTON = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT \\ 06/ssubSUBSCREEN_BODY:SAPMV45A:4457/subCOBL:SAPLKACB:1006/btnCOBL_XERGO");
 var oWBS_LABEL = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT \\ 06/ssubSUBSCREEN_BODY:SAPMV45A:4457/subCOBL:SAPLKACB:1006/lblCOBL-PS_POSID");
 var oWBS_TEXTBOX = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT \\ 06/ssubSUBSCREEN_BODY:SAPMV45A:4457/subCOBL:SAPLKACB:1006/ctxtCOBL-PS_POSID");
 如果(oItemCat ==" ZXXX")
  {
  oPA_BUTTON.hide();
  oPA_LABEL.hide();
 
  }
 其他
  {
     oWBS_LABEL.hide();
     oWBS_TEXTBOX.hide();
  }
 

SAP GUI版本为7.50,带有补丁6

错误行8指的是执行hide语句的行。 似乎在SAP GUI中找不到在session.findById内部的字段,例如:

 session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT \\ 06/ssubSUBSCREEN_BODY:SAPMV45A:4457/subCOBL:SAPLKACB:1006/btnCOBL_XERGO")

这是销售订单上的dynpro:

我尝试不使用像var这样的变量直接使用hide命令

 session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT \\ 06/ssubSUBSCREEN_BODY:SAPMV45A:4457/subCOBL:SAPLKACB:1006/lblCOBL-PS_POSID")。hide()

但是从SAP GUI访问VA03时也会发生相同的错误

您对如何解决问题有任何想法吗?

预先感谢

(12.0 kB)
3条回答
Doze时光
2020-09-15 00:57

嗨Marcelo,

在隐藏该字段之前,请先放置if语句以检查该字段是否可见(存在)。

此致

Ravi Soni

一周热门 更多>