Screen modifications for Infotypes are carried out via the following IMG path:-
The following screen is displayed:-
For the purposes of this Blog will update the screen for Infotype 0006, Address. You can see from the screenshot below that for a GB Employee only the Street/House Number and Postal Code fields are currently set as mandatory…
We want to make the 2nd Address Line and District fields mandatory as well. To do this we must first establish which Screen we need to update; we do this by using menu path System – Status which displays the following:-
You can see that we are on screen MP000600 / 2008.
Now we return to the configuration and try to find this Program / Screen combination; you can see it highlighted below; this is the screen that we therefore need to update…
How did SAP determine which Screen to use?
You can see from the previous screenshot that there are multiple entries in table T588M for Infotype 0006; so how does SAP determine which one to use?
The screen is determined according to a Variable Key which is set via a FEATURE. Features can be viewed and maintained via Transaction Code PE03. The following is initially displayed when entering the Transaction Code…
Features can be used to control many things in Personnel Management and you can see from the drop down functionality that in this System there nearly 2000 of them:-
Fortunately, the Features that are used for Screen Control have the same name as the Infotype to which they relate and so, in this case, we can easily find Feature P0006 …
You can also see which Feature is being used to control the Screen Selection for Infotype 0006 by looking at table T588M; the table confirms that the Feature used is P0006 and it also shows that Screen 2000 will be used for Infotype 0006 unless a Variable Key is deteremined by Feature P0006 which would result in an Alternative Screen being used instead; for example, if the Feature returns Variable Key 01 screen 2001 will be used…
Returning to the Feature we can see the following:-
A Feature is simply a Decision Tree and therefore acts as a series of IF’s in order to determine a Variable Key which is then used to select the appropriate Alternative Screen from table T588M – because of this there needs to be a catch-all option at the end of the Decision Tree and, in this case, the Variable Key is ultimatley determined by Program RPCADD00.
Note that if no Variable Key can be determined by the Feature (i.e. Varianble Key = “blank”) Screen 2000 is used…
It is possible to debug the Feature to see how the Variable Key is being determined; we do this in the following way:-
Firstly, select the top-node of the Decision Tree as shown below…
Now click the Create Nodes icon; the following pop-up is displayed:-
From here, select the Debugging radio button and click the Green Tick icon:-
You can see that a Breakpoint is added to the Decision Tree; click the Activate icon to re-generate the Feature; you will be prompted for a Transport Request…
Return to transaction PA30 and display Infotype 0006; the breakpoint will be hit and you will be able to see and then step through the Code to see what Variable Key the Feature is returning:-
You can see that the Code does indeed return Variable Key “08” as was suggested in the earlier screenshot:-
Remember to update the Feature and remove the Breakpoint that you have added.
To do this, highlight the Breakpoint (as shown above) and then click the Delete Node icon; a confirmation pop-up is displayed:-
Click Yes and then click the Activate icon again to re-generate the Feature; you will again be prompted for a Transport Request…
Adding Additional Logic to the Decision Tree
If required, additional logic can be added to the Feature by creating additional Nodes in the Decision Tree; you do this by first selecting the appropriate position and then clicking the Create Nodes icon to display the following pop-up.
Select the Field for Decision Operation radio button and click the Green Tick icon.
The following pop-up is displayed:-
Select the field that you want to add to the Decision Tree and then click the Transfer icon:-
In this example you can see that Company Code has been added as as extra Node but there are now values associated with it yet. To add values, select the new BUKRS Node and click the Create Nodes icon again; a list of possible Company Codes is displayed:-
Select the Company Codes that you want to include in the Decision Tree and then click the Green Tick icon – it is possible to select multiple Company Codes at once.
The Decision Tree now shows the Company Codes but still does not show any Variable Key values. These are added by selecting the appropriate Company Code and clicking the Create Nodes icon again:-
The following pop-up is again displayed:-
Select the Return Value radio button and click the Green Tick icon; the following pop-up is now displayed:-
Simply key-in the value that you want and click the Transfer icon. This is a free text field and therefore any entry can be entered so take care to type the entry correctly.
Repeat the process for all Company Codes and remember to enter a “catch-all” entry for the “otherwise” node:-
We need to tidy up the Decision Tree by removing the extra “08” entry which can be done in the same way as the Breakpoint was deleted earlier…
Finally, click the Activate icon to re-generate the Feature; you will again be prompted for a Transport Request.
Updating the Screen settings
Now that we have established the actual table entry that is being used by SAP it is possible to update the Screen settings.
If required, we could create a whole new “Z” Screen for the Infotype and link this by updating the Alternative Screen entry in T588M. More likely, we will simply want to update the Field Status settings for any existing Screen.
We can do this by highlighting the entry and clicking the Details icon; it is now possible to update the status for each Field:-
You will be required to enter a Transport Number once you have made the necessary changes.
Returning to PA30 you can now see that the 2nd Address Line and District fields are now set as Required Fields:-