Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  User Dialogs →  Classic Lists →  Create lists →  WRITE 

WRITE - list_elements

Short Reference

Other versions: 7.31 | 7.40 | 7.54


  | {AS ICON}
  | {AS LINE} ... .



2. ... AS ICON

3. ... AS SYMBOL
4. ... AS LINE


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



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.


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.


Displays two checkbox fields and evaluates the user input in the event AT LINE-SELECTION.


DATA: check1 TYPE c LENGTH 1 VALUE 'X', 
      check2 TYPE c LENGTH 1 VALUE ' '. 

  WRITE: / check1 AS CHECKBOX, 'Checkbox 1', 
         / check2 AS CHECKBOX, 'Checkbox 2'. 

        LINE 2 FIELD VALUE check2. 

Alternative 2



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.


  • 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.


Displays a traffic light icon.

WRITE icon_green_light AS ICON. 

Alternative 3



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.


The output length is determined, as usual, either implicitly using the data type of dobj or by being specified explicitly.


Displays a hand symbol.

WRITE sym_left_hand AS SYMBOL. 

Alternative 4



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.


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.


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.


Lists, Line Elements