Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  SAP GUI User Dialogs →  Classic Lists →  Creating Lists →  WRITE 

WRITE - list_elements

Quick 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 are ignored.

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.
  • By default, addition HOTSPOT ON has no effect on a checkbox. HOTSPOT ON only has an effect, if INPUT OFF is deactivated.


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 spooled 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 program SHOWICON shows two internal IDs for each icon:

  • A two-digit hexadecimal number as the key.

  • A six-character string composed of uppercase letters and any underscores as the internal name.
If a character string that is output using WRITE has an internal ID of this type between two "@" characters at the start, this is represented as an icon in the list output, even without the addition AS ICON. This can lead to unwanted of icons and unexpected effects in terms of the output length. By default, the output length is determined by the length of the character string. However, this attribute can also be exploited, for example, to use icons at the start of text symbols. IDs that are not at the start are not represented as icons.


Displays a traffic light icon.

WRITE icon_green_light AS ICON.


Displaying traffic light icons using their internal IDs (key and internal name). The IDs that are not at the start of the character string are not converted.

WRITE: / 'xxx', '@08@xxx    ', 'xxx@08@xxx'. 
WRITE: / 'xxx', '@S_TL_G@xxx', 'xxx@S_TL_G@xxx'. 

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 joined 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 "-" characters from sy-uline are always replaced by a horizontal line. The default behavior can be switched off using the addition FRAMES OFF.
  • 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