Skip to Content
Author's profile photo Chinthan Yajamaan

SAP Screen Personas 2.0 Screen Id and Control Id overwrite rules

PersonasFlavorUpdater utility program is now available for Personas 2.0 SP03 (also Personas 1.0 SP05) which can update the flavor with newly added screen and control id overwrite rules. For more details, please see SAP Screen Personas knowledge base.



We had a lot of questions about Screen Id and Control Id overwrite rules from our customers. So we did a tutorial session in our Practitioner forum session 10. If you missed it, then this blog will help you understand the overwrite rule mechanism.


Screen Id overwrite rules

When you are using SAP Screen Personas to create a flavor on your business transaction, you might sometimes notice that the screen changes in the flavor suddenly disappear or reappear while navigating across tabs or clicking on expand/collapse buttons etc. This is because Personas uses a combination of “transaction code + program name + screen number” to identify screen changes but due to dynamic design of Dynpro screens the program name or screen number can change within the same transaction. So Personas uses a mechanism of Screen Id overwrite rules to neutralize the program name or screen number change to preserve the screen changes in such cases.


For example, if you go to IW23 transaction and click on page like icon at bottom right corner (you can click on black arrow head to expand if you are not seeing the page icon), you will see the screen information as in the below screen and you can select “Dynpro” to see program name (SAPLIQS0 part) and screen number (7200 part)

ScreenInformation.jpg


If you create a new flavor with background colour as green and save the flavor. When you navigate on screen by clicking on the tabs, you will notice that the background colour stays when you are on the first 4 tabs and also the program name and screen number remains same (SAPLIQS0/7200), but the background colour disappears when you click on “Items” tab and also the screen number changes to 7204

NotificationTab.jpgItemsTab.jpg


To handle such cases, you need to identify the program name and screen number changes for your business case and then add the Screen Id overwrite entries with a neutral screen number such as “720X” in this case for both the entries as shown below under SPRO -> Cross-Application Component -> SAP Screen Personas -> Maintain Screen ID Overwrite Logic


Transaction Code Program Original Screen Number New Screen Number New Program
IW23 SAPLIQS0 7200 720X
IW23 SAPLIQS0 7204 720X


Control Id overwrite rules

Similar to screen id behaviour, you will sometimes see that the changes done for a particular control disappears or reappears when you are navigating across tabs or clicking on expand/collapse button. This is because the ids of some of the control or its containers are generated dynamically based on program or sometimes even system id and client.So Personas uses mechanism of Control Id overwrite rule to neutralize control id of such control and all its sub controls to preserve the screen changes.


Control id can be seen in properties window of Personas editor by selecting the control when you are editing any flavor. You can copy the control id by clicking on it


PropertiesWindow.jpg



For example, in ME21n, if you create a flavor with header panel expanded and item overview panel collapsed and set the background colour of item dropdown box to orange and save the flavor. When you navigate on screen by collapsing the header and expanding item overview, you will notice that the item dropdown background colour disappears

HeaderExpanded.jpgItemOverviewExpanded.jpg

when you check the control id of “Item” dropdown with header panel expanded but item overview panel collapsed, it would be

ses[0]/wnd[0]/usrUSRAREA/subcntSUB0SAPLMEGUI0013/subcntSUB3SAPLMEVIEWS1100/subcntSUB2SAPLMEVIEWS1200/subcntSUB1SAPLMEGUI1301/subcntSUB1SAPLMEGUI6000/cmbDYN_6000LIST

and again when you check the control id of same “Item” dropdown with header panel collapsed but item overview panel expanded, it would be


ses[0]/wnd[0]/usrUSRAREA/subcntSUB0SAPLMEGUI0016/subcntSUB3SAPLMEVIEWS1100/subcntSUB2SAPLMEVIEWS1200/subcntSUB1SAPLMEGUI1301/subcntSUB1SAPLMEGUI6000/cmbDYN_6000LIST

You can notice that the values differ above where highlighted in bold.


To handle such cases, you must identify such control id changes for your business case and then add Control Id overwrite entry with neutral control id under /n/persos/admin_ui -> General Actions -> Maintain Control Id Overwrite Logic as shown below. here, using regular expression to define original control id helps Personas to find and replace the control id even for any child controls for that control.

Transaction Program Screen Number Original Control Id New Control Id
ME21N SAPLMEGUI 0014 ^ses\[0\]/wnd\[0\]/usrUSRAREA/subcntSUB0SAPLMEGUI\w+$ ses[0]/wnd[0]/usrUSRAREA/subcntSUB0SAPLMEGUI__COMMON__

If you notice a similar behaviour for any of your transaction then you can check our note#1999747 for the required overwrite rules. If you don’t find a rule for your transaction, then we recommend you to log a message to check with us if new overwrite rules are required for that transaction.


Please note that any new addition or modification of screen id or control id overwrite entries requires re-creation of flavor, so we recommend you to identify and add the required overwrite entries before you start with your flavor creation.


For the SAP Screen Personas team,  

Chinthan Yajamaan

Assigned Tags

      12 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      I do not see Screen Overwrite rules for the VA01 overview screens:

      VA01 SAPMV45A 4001 Overview - All Tabs except Sales
      VA01 SAPMV45A 4008

      Overview - Sales Tab

      Without a screen overwrite, I have found that any flavor changes made outside of the tab area (e.g., header fields such as Sold-To Party, or toolbars) will disappear when switching between the Sales tab and any other tab on the VA01 overview screen.

      The problem is corrected if I put in an overwrite such as:

      VA01 SAPMV45A 4001 9099 SAPMV459
      VA01 SAPMV45A 4008 9099 SAPMV459
      Author's profile photo Abhijeet Dadarkar
      Abhijeet Dadarkar

      Hi Chinthan,

      Would Screen ID overwrite rules be also applicable for F4 searches for specific fields. For example, I am using transaction ME21N and for a Vendor Search I make changes to my flavor, but the flavor does not show up all the time I perform a search. If I add Screen ID overwrite rules for ME21N, would that also be applicable for the searches on that transaction.

      Regards,

      Abhijeet

      Author's profile photo Abhijeet Dadarkar
      Abhijeet Dadarkar

      Hi Chintan,

      Please note that any new addition or modification of screen id or control id overwrite entries requires re-creation of flavor, so we recommend you to identify and add the required overwrite entries before you start with your flavor creation.

      Does the above statement imply that for any transaction with existing flavors, if you add  Screen ID overwrite or Control ID overwrite rules, the existing flavors reset to basic view?

      Regards,

      Abhijeet

      Author's profile photo Chinthan Yajamaan
      Chinthan Yajamaan
      Blog Post Author

      Hi Abhijeet,

      If there are any screen changes corresponding to the program name+screen number which are modified with screen overwrite entries then those will be lost (or in other words reset to basic view) and needs to be redone.

      If the flavor contains changes for program name+screen number which are not modified then it will remain.

      Hope that clarifies your doubt.

      Thanks

      Chinthan

      Author's profile photo Abhijeet Dadarkar
      Abhijeet Dadarkar

      Hi Chinthan,

      I have implemented Screen ID & Control ID overwrite for ME22N (RegEx from the SAP note). I wanted to understand the behaviour of IDs when I am creating/editing the flavor. I still see the ids as ......./subcntSUB0SAPLMEGUI0016/ ........ and ......./subcntSUB0SAPLMEGUI0013/...... (for the same control) rather than ................../subcntSUB0SAPLMEGUI__COMMON__/................
      Is this expected behaviour and the ids are then resolved internally by Personas and not displayed to the developer.

      Regards,

      Abhijeet

      Author's profile photo Former Member
      Former Member

      Hi,

      And how to deal with such case, where I have two fields with drop down search box, and both have the same control id and screen id, but when I hide some fields on the first search box, then, when I open a search box for the second field, some fields disappeared too and i don't want to?


      Regards

      Grzegorz

      Author's profile photo Chinthan Yajamaan
      Chinthan Yajamaan
      Blog Post Author

      Hi,

      Can you tell me which transaction and fields are you referring to?

      Thanks

      Chinthan

      Author's profile photo Former Member
      Former Member

      Hi,

      I have a problem with SERP transaction, the dynpro program is like ABCDEFG110  and when we transport the flavor to QA the screen ID changes to ABCDEFG210, can i make the dynpro name by default like ABCDEFGXXX and transport to the QA client?.

      I'm trying to do the configuration in SPRO but i didn't see any change in the name when i create a new Flavor.

      Thanks

      Author's profile photo Chinthan Yajamaan
      Chinthan Yajamaan
      Blog Post Author

      Hi Walter,

      In this case, you have to configure program name on each of the system separately (eg: old program name as ABCDEFG110 in Dev system and ABCDEFG210 in QA system) and if you had created flavors before adding overwrite entries in Dev system then you have to recreate the flavor as I mentioned in last statement of the blog. The change in name will show up on screen, but be used by Personas code internally.

      But please note SAP Screen Personas relies on a combination of program name, screen number and control ID to uniquely identify the control for customization. So this works great for most of the classic DYNPRO screens but does not work that nicely when you
      have screens where the program name or control id’s or both are being dynamically generated in different systems within the landscape. This affects the customizations when transported from one system to another as SAP Screen Personas may not be able to locate the customized controls in the target system. So it is not recommended to use such transactions in SAP Screen Personas.

      Thanks

      Chinthan

      Author's profile photo Former Member
      Former Member

      Thanks Chinthan.

      Author's profile photo Jagesh Lakdawala
      Jagesh Lakdawala

      Hi Chinthan,

      Exactly same issue I am facing for the ME51N Transaction code, field Item combo box inside the Item Details. whenever I expand or collapse the Header Overview button then ID of this Item combo box control gets changed.

      when I am trying to set the Control ID overwrite rule as per your guide I am not getting what to enter in highlighted fields below in Tcode /Persos/Admin_UI.

      please suggest.

      Regards,

      Jagesh

      cntrl_Overwrite_Id.png

      Author's profile photo Chinthan Yajamaan
      Chinthan Yajamaan
      Blog Post Author

      Hi Jagesh,

      Values from "Original Control Id" in note#1999747 go into 'Overwrite Rule Pattern' and Values from "New Control Id" goes into 'Overwrite Rule Replacement' field.

      Thanks

      Chinthan