This wiki is currently a copy of the sap library. Please make this wiki more useful and remove this warning when done.
Whenever you use a transaction in the SAP system to process specific business transactions, it often makes sense to adjust processing flow to mirror these business activities. This can be done by hiding all information not pertinent to the business. More important information should be placed in a better position.
Creating a transaction variant alters the layout of the screen. Business processes delivered by SAP retain their integrity in any case.
Transaction variants are actually made up of a series of screen variants. The field values and settings for each screen in the transaction variant are stored in a screen variant.
You can create as many variants of a specific transaction as you like. These variants are started by entering a transaction code that you have selected. Your system administrator can assign your transaction codes to user menus. This allows the users in the departments that use your transaction to call the transaction directly.
The functions of the transactions variants are supplemented by the integration of the tool GuiXT. Transactions can be enhanced using graphics, texts, and HTML pages. Screen fields can also be moved around on the screen, and important new menu functions can be added to the user interface or application toolbar in the form of pushbuttons.
Transaction variants simplify transaction flow by:
- Inserting default values in fields
- Hiding and changing the ready for input status of fields
- Hiding and changing the attributes of table control columns
- Hiding individual menu functions
- Hiding entire screens
Transaction variants are actually made up of a series of screen variants. The field values and field attributes for each screen in a transaction variant are stored in screen variants. Each variant is assigned to a transaction. Variants may, however, contain values for screens in multiple transactions, if transaction flow makes this necessary. The transaction the variant is assigned to serves as its initial transaction, whenever you start the variant.
Both client-specific and cross-client transaction variants exist. Screen variants are always cross-client; they may, however, be assigned to a client-specific transaction.
A specific namespace has been designated for cross-client transaction variants and screen variants and they are both automatically attached to the Change and Transport System. Client-specific transaction variants can be transported manually.
Transaction and screen variants may be created for all dialog and reporting transactions. However, there are certain restrictions that apply to their use, depending on how their corresponding transactions have been realized internally.
Transaction variants may not be created for transactions already containing pre-defined parameters (parameter transactions and variant transactions).
You can only create transaction variants for dialog transactions and reporting transactions.
Only "normal" screens, dialog boxes, and subscreens can be included in the variant.
Screen variants are automatically created anytime you create a transaction variant.
Creating a transaction variant
To create a transaction variant (cross-client by default), proceed as follows:
- Choose Tools ® AcceleratedSAP ® Personalization to call the transaction variant maintenance transaction, or use transaction code SHD0.
- Enter the name of the transaction and the transaction variant on the initial screen.
- See Transaction Variant - A Step by Step Guide for Creation. This guide also shows how to attach a transaction variant to a transaction code
If you want to create a *client-specific* transaction variant:
- choose Goto ® Client-specific transaction variants to branch the client-specific transaction variant maintenance transaction.
- Client-specific transaction variants only exist in the client in which they are created. The field contents of the transaction variant must be available in this client. Cross-client transaction variants are available throughout the system, regardless of the client currently being used. The field contents of these transaction variants must be available in all clients.
Attach a transaction variant to a transaction code
Creating a screen variant
- Choose "Create" to create a screen variant.
- The system calls the application transaction that you want to create a variant for.
- Enter the values you want to use in the input fields.
- Each time an action is completed (choosing for example), a dialog box appears listing the fields of the current screen with their current values. The kind of dialog box called depends on the kind of screen currently being processed ( see Requirements).
- Choose the options you want. The following options checkboxes can be selected:
- Adopt field values: Saves the field values you have inserted on the current screen. Resetting this field (deselecting it) allows you to delete all values saved for this screen in your transaction variant.
- Do not display screen: Hides screen. This is only possible if settings are copied to your variant (Adopt field values).
- With contents: Field contents are saved with it
- Output only: Field is no longer ready for input (display mode only)
- Invisible: Hides field
- Mandatory: Required field
- You may or may not be able to select each of these checkboxes for every field depending on the field's type (see Requirements).
- Enter a screen variant name and corresponding short text if necessary.
- Screen variants are created automatically for each screen where values have been saved (copied). Enter screen variant names in the Name of screen variant: field. These names must be unique. If the system is able to find a unique name for a screen variant, it is automatically inserted into this field. (The convention reads as follows: <name_of_transaction_variant>(<client>)<screen_number>.)
- The following pushbuttons are available from this dialog box:
- Cancel: Displays current application transaction screen again. Here you can make changes to your settings.
- Deactivate menu functions: Deactivates menu functions in an additional dialog box.
- GuiXT: Allows user to edit a GuiXT script for the current screen (see GuiXT).
- Exit and Save: Exits and saves application transaction.
- Choose the function Continue to proceed to the next screen in your application transaction. Repeat steps 3-5 for all further screens in the transaction.
- When you have reached the last screen of the transaction and inserted the values you want to insert, choose Exit and Save. The system exits the application transaction and saves your entries. A list appears containing all of the screens in the application transaction that you want to save entries for (that is, all screens for which screen variants will be created).
- You can also branch to this list using the Change values function during the function selection process.
- Enter a short text for your transaction variant.
- Display settings can be changed as needed from this list in the future. Settings that require information at application transaction runtime (field values, table control columns) cannot be changed from this list.
- Choose Save. The system saves your transaction variant and the corresponding screen variants. The Workbench Organizer dialog box is displayed for the transaction variant and for each screen variant. Use it to assign each of these objects to a package.
- Deleting Preassigned Values: You can delete all of the values you assigned to fields of a single screen in a transaction variant by resetting (deselecting) the Adopt field values checkbox. This deletes the screen from your variant, even those entries that were transferred to the variant during previous processing.
- If a screen variant has already been created for this screen, then the system simply deletes the screen variant's transaction variant assignment; the screen variant itself is not actually deleted.
- Individual fields can be deleted from transaction and screen variants by resetting (deselecting) their corresponding checkboxes.
Variant Groups are used to start transactions with different transaction variants according to the user which runs the transaction.
Key concepts are:
- Variant groups are maintained in SHD0, in tab "Standard Variant, then in tab "Variant Groups".
- A Variant Group is assigned to 0 to N users
- A user may have 0 to N variant groups. If he has several variant groups, he may switch using SHD_SWITCH transaction.
- At a given time, a user can be assigned to only one variant group.
- At each logon, the user is assigned by default to the variant group assigned by button "Set proposal" in SHD0.
- When user has currently ZVVVV variant group and he runs ZT transaction, SAP automatically uses ZVVVVZT transaction variant if it exists.
- A variant group named ZVVVV is linked automatically to all transaction variants named ZVVVV* (where * must be the transaction code to which the transaction variant applies).
- If a transaction has both a standard variant and a group variant, SAP runs the transaction using the transaction variant from the variant group.