Question
Cour Justice Européenne
LU
Last activity: 4 Jun 2024 9:16 EDT
SAP screens
Some SAP screens are matched when accessing them directly.
But navigation thru some others screens before accessing then make rules unmatched.
How is it possible de find the correct rules always available in any circumstances ?
-
Reply
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Updated: 4 Jun 2024 9:16 EDT
Pegasystems Inc.
US
@JeanChristopheD17042937 I don't think I follow what you are showing. You have "Control21" selected, and it is clearly two controls. One is the class SAP_AxGridView and the other is SAP_Splitter. I would not expect the control you interrogated as the SAP_Splitter to match with the control that is a GridView. Am I missing something?
Pegasystems Inc.
US
@JeanChristopheD17042937The process of determining how to match a given control involves some thoughtfulness from the developer performing the interrogation. Use the Selected Target section of the adapter (I see you are using 19.1, so I am using the terms for that version, but in 22.1 or greater, you'd use the properties window after you select a target to see these) to view the various properties of a target that you might use to match. Applications like SAP assign random IDs to controls which would not be good to use as matching since they are likely to change. There are many other match rules available that will make it possible for you to identify things uniquely.
One trick I have used in the past is that for some controls, you do not need specific match rules for them if they are the only control of that type present in that level of the hierarchy. For example, let's assume I have a panel containing a label that has the text "Start Date". The panel also has a text box with an ID of "12345", I might simply use a Control Type match rule on the text box and a Control Child Match Rule on the parent panel since it contains a unique label that no other panel would contain. Since we have now matched the specific panel we need, there is only one text box within it. If we had not uniquely matched the panel, then there might be many other text boxes that would be under other panels.
Cour Justice Européenne
LU
@ThomasSasnett The rule defined is Virtual Class Name Match = SAP_Splitter. Value is SAP_Splitter when accessing directly and matching executed correctly. But value is SAP_AxGridView when navigating thru other screens before and matching does not occur.
Pegasystems Inc.
US
@JeanChristopheD17042937 I would really need to see the application to really offer specific help. It seems like you are not encountering the same controls and yet expect them to match anyway. Perhaps you can provide some screenshots (with any protected data masked) where you highlight the controls and show your match rules and the properties of the targets you are seeing. It really does seem like based on your description of the class changing that there really are multiple controls. I don't believe a control can change its class and still be the same control. I am not even sure how you could code that in any language I am familiar with.
This doesn't sound like it is specifically a product issue that support would normally help with, but I am sure they can get you started at least in figuring out matching with you. If you do open a support request, please update the post with the INC so we can share the resolution
Updated: 21 May 2024 3:24 EDT
Cour Justice Européenne
LU
In SAP, workflow screen is available for invoice and purchase order.
Navigating from invoice workflow screen to purchase order workflow screen matches correctly in both cases.
Navigating thru another screen before matches incorrectly when returning to workflow screen.
Accepted Solution
Updated: 4 Jun 2024 9:16 EDT
Pegasystems Inc.
US
@JeanChristopheD17042937 I don't think I follow what you are showing. You have "Control21" selected, and it is clearly two controls. One is the class SAP_AxGridView and the other is SAP_Splitter. I would not expect the control you interrogated as the SAP_Splitter to match with the control that is a GridView. Am I missing something?