Create a dedicated transaction and screen variant for your common standard transactions — without extensive programming. Learn how to adapt the standard screens beyond the usual customizing configuration and use transaction and screen variants to best serve your business requirements.
Key Concept
A transaction and screen variant is a functionality of SAP’s QuickWin that enables flexible configuration for tuning the standard screen. You can use this functionality in parallel with your standard customizing tool and with an efficient authorization concept.
While working on different projects and teaching SAP classes, I often hear from SAP users that they cannot meet all their business requirements when using the customizing tool that SAP provides. In these cases, I direct them to a workaround: the transaction variant. In this article, I’ll illustrate two examples of this handy but unfamiliar functionality, which is available from SAP R/3 4.6B onwards. Functionality shown in this article is from SAP ERP 6.0.
Why Use the Transaction and Screen Variant?
Using a transaction and screen variant provides two major benefits. The first is that the standard configuration options, such as table T588M (infotype screen control), are often not sufficient in providing the flexibility that the implementation team needs. A second benefit is the SAP authorization concept, which checks the access to the infotypes using authorization object S_TCODE. For example, to access transaction code PA30 (HR maintain master data), the authorization team inserts the value PA30 into the authorization object using profile maintenance in transaction code PFCG.
On top of the transaction access clearance, SAP delivers the standard authorization check for HR master data, P_ORGIN. However, it is not possible to narrow the authorization down to the field level of each infotype. Transaction and screen variants, however, allow you to hide or set the field to display only inside the infotype at the field level.
Note
Remember that this is not an authorization concept; it is a cosmetic or layout recommendation that you can use in combination with an applicable authorization.
Now that I’ve covered the expectations, I’ll cover the details of the transaction and screen variant’s setup. To illustrate this functionality, I’ll present the following two business cases:
- Scenario A: Hide the field in a standard transaction — for example, transaction code PA30
- Scenario B: Hide and display the fields inside an HR infotype — for example, infotype 0001 (organizational assignment)
Before going into a customer transaction variant, carefully review the SAP notes in Table 1 to understand this functionality and obtain help with troubleshooting.
| 331360 | Transaction variants are not always possible | SAP_Basis, SAP R/3 4.6B, R/3 4.6C, R/3 4.6D, SAP ERP 6.1, and SAP ERP 6.2 | | 601472 | Authorization check with variant transactions | SAP_Basis, R/3 4.6A, SAP ERP 6.1, and SAP ERP 7.0 | | 547763 | FAQs: Transaction variants | Release independent | | 353970 | Report transaction – variants | Release independent | | 649745 | Screen variants: Problems transporting screen variants | Release independent | |
| Table 1 | SAP Notes dealing with transaction variants |
Scenario A: Hide a Field in a Standard Transaction
You can use transaction and screen variants when using most standard transactions, such as transaction code PA30. You can read the full documentation on transaction SHD0 (transaction and screen variants) using the application help icon
in Figure 1 while you are in transaction SHD0.

Figure 1
Main screen for transaction and screen variants
Step 1. Identify the field that you need to hide. You want to remove the Direct selection box (technical fields RP50G-CHOIC and RP50G-SUBTY) from transaction PA30, as shown in Figure 2.

Figure 2
Excerpt from direct selection field of transaction code PA30
You can easily identify the technical name of the field by positioning your mouse cursor on the field, pressing the F1 key, and then clicking on the technical information icon
. You then go to the technical pop-up screen shown in Figure 3 that provides the technical name of the field. Advanced users would probably use transaction code SE11 (ABAP Workbench).

Figure 3
Identification of the technical information of the field to be hidden
Step 2. Create the transaction variant ZPA30_01 of standard transaction PA30. Name your transaction variant. From the initial transaction SHD0, name the standard transaction you would like to use, in this case PA30, and provide a name for the transaction variant ZPA30_01.
Click on the create icon (white page graphic) on the initial screen of transaction SHD0. The system leads you to transaction PA30.
Step 3. Go through the details of each screen to choose the fields that you want to hide. A series of screens appears that allows users to adjust the attributes of other fields on the screen. They aren’t necessary for this scenario, however, so bypass each screen until the screen with the desired field is displayed.
In PA30, press Enter or click on the enter icon
in the upper left corner of the screen once you are in transaction PA30. The system returns the Confirm Screen Entries pop-up screen (Figure 4). Do not change anything in the Invisible column, which allows you to disable the information display. Click on the enter icon. The system then returns another pop-up screen (program SAPMP50A). Do not change anything. Click on the check icon and the system returns another pop-up screen (program SAPMP50A). Do not change anything here and click on the check icon. The system returns another pop-up screen (program SAPMP501). Once again, do not change anything here and click on the check icon. The system returns the pop-up screen that appears in the program SAPMP501 screen. Do not change anything here, and click on the check icon. The system returns the pop-up screen (program SAPMP501 — setting fields to invisible).

Figure 4
Mark fields as invisible
Add screen variant short text, such as Variant for PA30 (scenario a). In the Invisible column, check the boxes against all of the following fields:
- Direct selection (Border)
- Infotype
- STy
- SUBTY_TEXT (Text)
Click on the Exit and Save button. The system prompts a summary screen with all the settings made.
Tip!
Maintain the same description text for the transaction variant as the original transaction so that the end user is not confused.
Add the short text of the transaction variant, for example Variant for PA30 (scenario a). Using the vertical scroll-down bar, drill down to check your settings, which are shown in Figure 5.

Figure 5
Summary of the transaction variant that the user saves
Step 4. Save your new transaction variant. Now, save your work by clicking on the save icon
or by pressing the F11 key on your keyboard.
Assign a relevant package that your development team provides and click on the save icon again. Provide a workbench transport request and use the check icon to confirm it (Figure 6).

Figure 6
Assign a workbench transport request
Through these screens, the system prompts you several times to confirm and save. Continue on until you receive the message Transaction Variants and Screen Variants were saved at the bottom of your screen.
Now return to the initial transaction SHD0 by clicking on the back icon
or pressing the F3 key on your keyboard. The screen provides an overview of all program variants and is handy for documentation purposes. The system now displays your transaction variant content (Figure 7).

Figure 7
Summary of your saved transaction variant
Step 5. Test the new transaction variant. Test the transaction variant by clicking on the test icon
or pressing the F8 key on your keyboard. Figure 8 illustrates the successful outcome, which is that you removed the infotype selection box in Figure 3.

Figure 8
Summary of transaction variant: The standard screen versus the transaction variant screen
Step 6. Create a new transaction pointing to this transaction variant. Call transaction code SE93 (maintain transaction). Set a name for your new transaction. I recommend using a “Z” or a “Y” as the first letter for your naming convention for customer transactions. I create transaction ZPA30_01 to be consistent with the transaction variant I previously created. Most companies reserve this transaction for system administrators. I am showing this to illustrate the full potential of the functionality. Click on the create icon (white page).
In the pop-up screen that appears, select the Transaction with variant (variant transaction) setting. Click on the check icon, which takes you to Figure 9.

Figure 9
Technical information for transaction ZPA30_01
Check the transaction text. Add the original transaction, PA30. As transaction codes are cross client (valid for the entire system), check the Cross-client box. Add transaction variant ZPA30_01. Save your work by clicking on the save icon or pressing the F11 key on your keyboard. To store your configuration, you transport it into your validation and production systems.
Repeat step 4 for saving your work. Assign a relevant package, as shown in Figure 6, which your development team provides. Click on the save icon. Provide a workbench transport request. Click on the check icon to confirm. The system returns the message Transaction code ZPA30_01 saved.
Step 7. Add this new transaction to the user menu and user favorites. You can now add transaction ZPA30_01 to the user menu via transaction PFCG (role maintenance) or tell the end users to add this transaction to their favorites. When you launch transaction ZPA30_01 the screen in Figure 10 appears.

Figure 10
Functional details of transaction ZPA30_01 with system status details
Scenario B: Hide the Administrator Box and Its Content in Infotype 0001
Most SAP HCM users are well aware of table T588M (infotype screen control) and have been using it since the beginning of R/3. Users apply this table to control the field properties for each screen. The possibilities are:
- Standard field (Std)
- Required field (RF)
- Optional field (OF)
- Output field (Outp)
- Hide field (hide)
- Initialize field (init)
When setting up the screen control, the system uses a decision tree to control which screen is in use for which country (SAP code name molga). The tricky part is that it is difficult to add criteria to table T588M. SAP does not provide any criteria other than the country. It would be difficult to further maintain the feature — for example, to add Personnel Area as a criterion. When you need to hide certain fields for a certain population, instead of using table T588M, you can take advantage of the transaction variant SHD0. This is quicker and usually more efficient.
Tip!
As illustrated in scenario A, you can find technical information for fields when you need technical information related to the infotype. When dealing with infotypes, it is easier to browse the technical fields using an infotype structure such as PXXXX (where XXXX stands for the infotype number), which you can call in transaction SE11 (ABAP Dictionary Maintenance).
Step 1. Identify the field to be hidden. Assume your business requirement is to hide the administrator fields in infotype 0001 (organizational assignment). Only a few people can maintain this information in the infotype. The requirement is to hide these fields from all users. Thus, you can start a transaction variant, hiding the fields that appear in Figure 11. To hide these fields, some end users use transaction variant ZPA30_02, while others still use the standard transaction PA30.

Figure 11
Excerpt of technical details of infotype 0001
Step 2. Create the transaction variant ZPA30_02 of standard transaction PA30. Create the transaction variant ZPA30_02 in the screen of Figure 4.
Step 3. Go through each screen’s details to choose the fields to be hidden. From transaction SHD0, click on the create icon. The system brings you to the transaction PA30. Select the targeted infotype 0001 (organizational assignment) and click on the edit icon. Similar to scenario A, several screens appear but you don’t need to select anything because the attributes aren’t relevant to this scenario. The system then displays a pop-up window. Do not change anything here, and click on the check icon.
After clicking on the check icon, the system returns another pop-up window (program SAPMP50A screen). Again, do not change anything here, and click on the check icon. After clicking on the check icon, the system returns the pop-up screen that appears in the program /1PAPAXX/HDR_80000A screen. Do not change anything here, and click on the check icon. The system returns yet another pop-up screen, which appears in the program SAPMP50A screen. Do not change anything here, and click on the check icon. The system returns the pop-up screen that I’ve displayed in the program SAPMP50A screen. Do not change anything here, and click on the check icon. The system returns another popup screen (program SAPMP50A screen). Do not change anything here, and click on the check icon. The system brings you to the infotype 0001 selection screen, as shown in Figure 12. Figure 13 illustrates the functional organizational assignment, with a focus on the administrator fields, such as Group and PersAdmin. For example, you need to change and save the administrator value. The system prompts the screen that appears in Figure 14.

Figure 12
Browsing transaction code PA30, with infotype 0001 selected through the transaction variant

Figure 13
Inside view of infotype 0001, focusing on the Administrator box

Figure 14
Inside view of infotype 0001, focusing on the Administrator box
Flag the fields that you’d like to hide. (For more information on hiding fields, refer to the previous section.) Go through the summary review of the fields that you want to hide in the transaction variant.
Now that you have created your new transaction variant ZPA30_02, repeat steps 4 through 7 from scenario A, saving, testing, and creating a new transaction pointing to the transaction variant and adding it to the user menu and user favorites. The newly created transaction ZPA30_02 is now operational. The screen you see is similar to Figure 10.
Tip!
This does not replace an authorization strategy. You should use this in combination with the authorization team to clean up the screen by removing unnecessary functionalities and fields in out- of-the-box modules.
Test the transaction variant by clicking on the test icon or pressing F8. Check to make sure the screen now does not show the administrator fields that you hid (Figure 15).

Figure 15
Functional details of transaction ZPA30_02 with system status details
Martin Gillet
Martin Gillet is an SAP-certified HR consultant (ECC 6.0, SAP R/3 Enterprise, and 4.0B) who works freelance on international projects. He graduated with honors in Human Resources Management from Belgian Haute Ecole Namuroise Catholique (HENaC). Martin has worked with SAP R/3 since 1997 in the chemical, catering, pharmaceuticals, telecommunications, food, banking, and oil industries. He has focused on SAP HR since 1998 and has other SAP expertise including XSS, LSO, E-Recruiting, CATS, Reporting, Authorizations, and SAP NetWeaver Portal. Martin is the author of Configuring and Customizing Employee and Manager Self-Services in SAP ERP HCM. The book explores the options for customizing ESS and MSS to meet specific business needs.
You may contact the author at mgillet@yahoo.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.