ABAP Keyword Documentation → ABAP - Reference → User Dialogs → Classic Lists → Create lists → WRITE
WRITE - list_elements
Other versions: 7.31 | 7.40 | 7.54
Syntax
... {AS CHECKBOX}
| {AS ICON}
| {AS SYMBOL}
| {AS LINE} ... .
Alternatives
1. ... AS CHECKBOX
2. ... AS ICON
3. ... AS SYMBOL
4. ... AS LINE
Effect
These additions are used to represent special list elements.
The data object dobj
in the output must have certain properties. The additions cannot be used together. If they are used with the additions for
internal formats and external formats, they can only be used to a limited extent.
Alternative 1
... AS CHECKBOX
Effect
The output of this addition is a single-character checkbox that is ready for input. dobj
expects a character-like data type of length 1. If the first character in dobj
is "X" or "x", the checkbox is shown as selected. If the first character is not "X" or "x", the checkbox
is shown as empty. If dobj
is an empty data object of the type string
, the checkbox is not in the output.
The user can select and deselect the checkbox in the list displayed on the screen. If the user selects the checkbox, the first character of the assigned field in the list is set to "X". If the user deselects it, it is set to blank. The change is stored in the list buffer and can be evaluated during a list event.
If the addition AS CHECKBOX
is used, no list output len
is allowed after AT
. Except for INPUT
, NO-GAP
, and UNDER
, the other additions specified at the same time for
internal formats and external formats have no effect.
The addition AS CHECKBOX
has the same effect as specifying the addition
INPUT ON simultaneously. The standard settings or a format INPUT OFF
set by a FORMAT
statement are overridden for the current WRITE
statement. To make the checkbox not ready for input, the addition INPUT OFF
must be used simultaneously.
Note
If a list line contains only a checkbox with a blank, it is displayed only if the statement SET BLANK LINES ON
is executed beforehand.
Example
Displays two checkbox fields and evaluates the user input in the event AT LINE-SELECTION
.
REPORT test NO STANDARD PAGE HEADING.
DATA: check1 TYPE c LENGTH 1 VALUE 'X',
check2 TYPE c LENGTH 1 VALUE ' '.
START-OF-SELECTION.
WRITE: / check1 AS CHECKBOX, 'Checkbox 1',
/ check2 AS CHECKBOX, 'Checkbox 2'.
AT LINE-SELECTION.
READ: LINE 1 FIELD VALUE check1,
LINE 2 FIELD VALUE check2.
Alternative 2
... AS ICON
Effect
This addition produces icons. Be aware that not all icons are suitable for spool lists. dobj
expects data objects of the type c
whose initial characters can be interpreted as the internal ID of an icon by the runtime environment.
In the type group ICON, a constant is declared for each icon that can be displayed. The names of the constants can be taken from the type group or the output of the SHOWICON program. This program also shows the corresponding output length and whether an icon can be printed or not.
If the content of dobj
cannot be interpreted as an icon or the content is changed by concurrent use of other additions for
internal formats or external formats, blanks are produced instead of icons.
Notes
-
None of the additions from the internal formats and
external formats are forbidden. When using these additions, care must be taken that the content of
dobj
can be interpreted as an icon. -
The output length is determined, as usual, either
implicitly using the data type of
dobj
or by being specified explicitly. Characters in the output area that do not have the icon are set to blanks. -
The internal representation of icons has the format "@xx@", where "xx" is a two-character hexadecimal
number. Even if
AS ICON
is not specified, unexpected list output can be produced if the character combination "@xx@" occurs at the start of a character string.
Alternative 3
... AS SYMBOL
Effect
This addition produces all the characters of the data object dobj
as symbols. The
type group SYM
declares constants with a length of 1 for each character that can be displayed as a symbol, and whose
name reflects the meaning of the symbol. The names of the constants and the meaning and length of the
symbols can be taken from the type group or from the output of the program SHOWSYMB.
Note
The output length is determined, as usual, either implicitly using the data type of dobj
or by being specified explicitly.
Alternative 4
... AS LINE
Effect
This addition produces line
elements with the output length 1. Line elements are corners, crosses, lines, and T sections.
dobj expects data objects of the type c
whose content can be interpreted as line elements by the runtime environment. The
type group LINE declares the line element constants displayed in the following table.
Constant | Meaning |
---|---|
line_space |
Blank |
line_top_left_corner |
Top left corner |
line_bottom_left_corner |
Bottom left corner |
line_top_right_corner |
Top right corner |
line_bottom_right_corner |
Bottom right corner |
line_horizontal_line |
Horizontal line |
line_vertical_line |
Vertical line |
line_left_middle_corner |
T section turned to the left |
line_right_middle_corner |
T section turned to the right |
line_bottom_middle_corner |
Reversed T section |
line_top_middle_corner |
T section |
line_cross |
Cross |
If dobj
has different content or the content is changed by concurrent use of other additions for
internal formats, a blank is produced instead of a line element. The addition FRAMES OFF
must not be specified simultaneously. The other additions for
external formats and QUICKINFO
are ignored in the output of line elements.
Note
The characters "-" and "|" and produced using ULINE
are associated with each
other by default, if no other characters exist between them. Here the system replaces the characters
by the above line elements. A standalone character "|" is always replaced by a vertical line. The addition
AS LINE
produces line elements in the exact way they are defined. Links are
produced only where line elements actually meet each other. The system does not, however, create any
automatic extensions between the characters "-" or "|" and line elements produced explicitly using AS LINE
.
Example
Produces four adjoining rectangles.
WRITE: /10 line_top_left_corner AS LINE NO-GAP,
line_top_middle_corner AS LINE NO-GAP,
line_top_right_corner AS LINE,
/10 line_left_middle_corner AS LINE NO-GAP,
line_cross AS LINE NO-GAP,
line_right_middle_corner AS LINE,
/10 line_bottom_left_corner AS LINE NO-GAP,
line_bottom_middle_corner AS LINE NO-GAP,
line_bottom_right_corner AS LINE.