on 07-26-2018 3:44 PM
Good evening gurus,
I have encountered a problem with a script on SP 3.0 SP05.
The thing is I created a simple script for the tx VA03 with just and IF condition to hide\unhide some screen fields. If I execute the script in the WebUI environment it just works fine. But when is triggered on SAP GUI shows a popup with the error:
"session.findById(...) is null or not an object" on line 8 scode: 800a138f
The script is:
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");
if ( oItemCat == "ZXXX" )
{
oPA_BUTTON.hide();
oPA_LABEL.hide();
}
else
{
oWBS_LABEL.hide();
oWBS_TEXTBOX.hide();
}
The SAP GUI version is 7.50 with patch 6
The error line 8 refers to the line where the hide statement is executed. Seems like in SAP GUI is not finding the field inside session.findById like:
session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT\\06/ssubSUBSCREEN_BODY:SAPMV45A:4457/subCOBL:SAPLKACB:1006/btnCOBL_XERGO")
And this is the dynpro on the sales order:
I tried using the hide commands directly without a var like:
session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT\\06/ssubSUBSCREEN_BODY:SAPMV45A:4457/subCOBL:SAPLKACB:1006/lblCOBL-PS_POSID").hide()
But same error happens when accessing VA03 from SAP GUI
Do you have any ideas on how to fix the problem?
Thanks in advance
HI Marcelo,
Please put an if statement to check whether that field is visible(exist) or not before hiding it.
Regards,
Ravi Soni
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Ravi!
I've already tried that and I finished checking for the tab:
if (session.findById("wnd[0]/usr/tabsTAXI_TABSTRIP_ITEM").selectedTab.id === "wnd[0]/usr/tabsTAXI_TABSTRIP_ITEM/tabpT\\06") {
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");
switch ( oItemCat ) {
case "ZXX1":
case "ZXX2":
oPA_BUTTON.hide();
oPA_LABEL.hide();
oWBS_LABEL.show();
oWBS_TEXTBOX.show();
break;
case "ZXX3":
case "ZXX4":
oWBS_LABEL.hide();
oWBS_TEXTBOX.hide();
oPA_BUTTON.show();
oPA_LABEL.show();
break;
}
}
Now it does not show any error from SAP GUI but it's not working. As I mentioned, it's only working on WebUI and Fiori
Any ideas?
Thanks in advance
Hi Marcelo,
I suggest opening a support incident under BC-FES-GUI, as the issue happens over SAPGUI for Windows.
Kind regards,
Cris
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
76 | |
8 | |
7 | |
7 | |
6 | |
6 | |
5 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.