Layout Variants
You can use the is_variant and i_save parameters to determine the options for variant management that are offered to the user.
The modes that you can define are as follows:
- Users can change the current layout variant. To set this mode, assign space to both parameters (default setting).
- Users can change the current layout variant and select existing variants. To set this mode, pass a structure of type disvariant to the is_variant parameter. Assign the name of the current program (sy-cprog) to the report field, and then, assign the value space to the i_save parameter.
If there is more than one ALV instance in your program, assign a freely-definable name to each instance using the handle field.
- Users can change the current layout variant and save and manage the existing variants.
To do this, set the is_variant parameter as for the previous mode. The value of the i_save parameter determines the way in which the user can manage the layout variants.
You can assign the following values to the i_save parameter:
- U (The user can only save user-specific layout variants)
- X (The user can save global layout variants)
- A (The user can save both user-specific and global layout variants)

Saving of Layout Variants
You can transport only the standard layout variants. Call the layout management, choose the desired variants, and then choose Layout → Transport.
When saving a layout variant, you can define it as the default variant if the i_default parameter of the set_table_for_first_display method has the value X. This value is the default value.
To create or change standard layouts or to set them as the default setting, users require an authorization for the authorization object S_ALV_LAYO with ACTVT value 23.

Passing of a Layout Variant to the Selection Screen
It may be necessary to pass the layout variant to the selection screen of the report, for example, in the case of execution in the background.
