ABAP Keyword Documentation → ABAP - Reference → User Dialogs → Dynpros → ABAP Statements for Screens → LOOP AT SCREEN
MODIFY SCREEN
Other versions: 7.31 | 7.40 | 7.54
Syntax
MODIFY SCREEN FROM wa.
Effect
This statement can be used in the statement block after LOOP AT SCREEN
only and makes sense only during
PBO processing. A work area wa
of the type
SCREEN from ABAP Dictionary must be specified after
FROM. The statement modifies the attributes of the current screen element with the values from the work area.
The name
component must contain the name of the current screen element, otherwise
the statement is not executed. Apart from the components group1
through
group4 and length
, all other components of wa
have either the value 0 or 1. The value 0 deactivates the corresponding field property; the value 1
activates it. In addition, required
and value_help
can also have the value 2:
If MODIFY SCREEN
is executed during PBO processing, the modified attributes for the display of the
screen affect the current
dynpro after PBO processing.
The attributes of the screen element of the dynpro are reset to their static attributes at the start of each PBO processing, so that the execution of MODIFY SCREEN
during
PAI processing does not effect the display of the following screen.
The active component
The active
component is used to set the input
,
output
, and invisible
components at the same time.
When PBO processing starts, the component active
is always 1. If active
is set to 0 by MODIFY SCREEN
, then input
and
output are set to 0 and invisible
is set to 1. Any other values in
input
, output
, and invisible
are ignored. Conversely, setting input
and output
to 0 and invisible
to 1 automatically sets active
to 0 and any other values in active
are ignored.
Special Cases
The following special cases should be noted:
-
If the current dynpro field with the property output field only is defined
in Screen Painter, it cannot be set to ready for input and the assignment of the value 1 to the component
input
has no effect. -
If the current dynpro field with the property required is defined in Screen
Painter or if the component
required
is set to 1, then the component input should stay as 1. Otherwise, settinginput
to 0 would cancel the required property.
Modifications in Table Controls and Step Loops
When processing a table control or a
step loop, the changes affect
the current row of the table control or the current step loop group. Before the processing of a table
control, the change to the attributes of a screen element that is part of a row in the table control
does not effect the table control, since the values are passed from the structure created using
CONTROLS
. Before a step loop is processed, the change to the attributes of a screen elements that is part of a step loop group affects all groups in the step loop.
Modifications to Tabstrip Controls
If the active
component for a
tab title of a
tabstrip control is set to 0, the whole tabstrip page is hidden.
Notes
-
This statement has the obsolete short form
which works with an obsolete predefined structure
screen
. -
The obsolete predefined structure
screen
should not be specified explicitly afterFROM
.
Example
In the following PBO module, an input field called val
is made mandatory and converted to display in the foreground.
MODULE modify_0100 OUTPUT.
LOOP AT SCREEN INTO DATA(screen_wa).
IF screen_wa-name = 'VAL'.
screen_wa-required = '1'.
screen_wa-intensified = '1'.
MODIFY SCREEN FROM screen_wa.
ENDIF.
ENDLOOP.
ENDMODULE.
The program DEMO_DYNPRO_MODIFY_SCREEN demonstrates all possible dynamic screen modifications.