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

2020-09-15 00:32发布

         点击此处--->   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)

         点击此处--->   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条回答
槿木_熙
1楼-- · 2020-09-15 01:02

您好Marcelo,


我建议在BC-FES-GUI下打开支持事件,因为该问题发生在Windows的SAPGUI上。

亲切的问候,

Cris

Nir深蓝
2楼-- · 2020-09-15 01:00

按照Cris的建议,打开BC-FES-GUI的支持事件,因为这似乎与Windows的SAP GUI有关。

Doze时光
3楼-- · 2020-09-15 00:57

嗨Marcelo,

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

此致

Ravi Soni

一周热门 更多>