Hello Gwen,
as @Palaniyappan wrote, the wildcards works with SAP Screen numbers. SAP Screen numbers, in your case 0389, are very often a problem in the automation. Your approach to replace it with a wildcard is correct. But you should “wildcard” your title too. “Display Invoice 2334352 (28 / 75)” as title applies only to a single case. Use instead “Display Invoice *”. It should work with that.
Best regards
Stefan
Alter the selectors see the possibilities and can you check Uipath explorer that selector exactly defined for tabs. That can avoid confusion changing. and also it may be the issue with SAP was defined in background as well . Activate the exact window that you required
Yes, I do change the title to wildcard, but the main issue is on the ID. The Robot not able to identify the selector after replace the ‘0389’ or ‘0385’ with wildcard ‘038*’.
Because the title could be Display/Change Invoice (xx/xx) or Display/Change Credit Note (xx/xx) depending on the business requirement process. So, I set the title as * to be safe.
I tried to use Select SAP Menu Item and replace the ID selector with wildcard, still getting invalid selector.
Probably there’s something to do with the code in SAP.
Did you try changing the default framework and check if there are any parameters which can be included as part of selector apart From ID.
Hope this helps… Let me know if you need more details.
Seems that you hit a known problem with SAP id scheme. The problem here is that the control in the id that you are trying to use wildcards has slashes in its name and we cannot identify the hierarchy properly.
You have 2 solutions:
You can use regex matching (RegEx Search), but I don’t recommend this since it’s slower
Replace all slashes(‘/’) in the control name with ‘?’ (simplest and recommended solution)
In your case you should use: <sap id='usr/subSUB_MAIN:?COCKPIT?SAPLDISPLAY46:038*/subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051/tabsG_STRIP_HDR/tabpTAB4' />
I am assuming the name of your container is subSUB_MAIN:/COCKPIT/SAPLDISPLAY46:0389. Please check this in UiExplorer for confirmation.
I assume that @Gwen have to set a few question marks more in his id: <sap id='usr/subSUB_MAIN:?COCKPIT?SAPLDISPLAY46:038*/subSUB_HDR:?COCKPIT?SAPLDISPLAY46:04051/tabsG_STRIP_HDR/tabpTAB4' />
You should definitely document this.
Thank you very much for this important information.
Yes, I already talked to @LevKushnir and we will document this.
Regarding the extra '?'s you added, they are not needed as that is another container/control. To be more clear, the replacement of '/'s to '?'s is only needed in the leaf id of the container control that requires wildcards. subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051 would need this replacement only if you needed to use wildcards within it (for example: subSUB_HDR:?COCKPIT?SAPLDISPLAY??:*)
This is a picture (hopefully) explaining it better:
If you need to use wildcards inbetween hierarchy separators, then all (and only) the slashes between those separators/slashes need to be replaced by ‘?’.
The element will be found no problems with the extra ‘?’ you added (in subSUB_HDR:/COCKPIT/SAPLDISPLAY46:04051), but those are not needed and might potentially make the search slower (as we have to look through all the children at that hierarchy level for matches).