Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  User Dialogs →  Selection Screens →  Create Selection Screens →  SELECTION-SCREEN →  SELECTION-SCREEN - screen_elements 

SELECTION-SCREEN - PUSHBUTTON

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


 SELECTION-SCREEN PUSHBUTTON [/]pos|POS_LOW|POS_HIGH  button_text 
                            USER-COMMAND fcode
                            [VISIBLE LENGTH vlen]
                            [MODIF ID modid]
                            [ldb_additions].

Extras

1. ... [/]pos|POS_LOW|POS_HIGH

2. ... USER-COMMAND fcode

3. ... VISIBLE LENGTH vlen

Effect

This statement creates a pushbutton on the current selection screen. The text on the pushbutton is determined by the content of button_text. The rules that apply to text also apply to button_text in the additionCOMMENT. The addition MODIF ID assigns the pushbutton to the modification group modid zu.

The additions ldb_additions can only be used in the selection include for a logical database.


Notes

  • You can use the function module ICON_CREATE to assign an icon, a quick info text and a corresponding text to a pushbutton. When you do this, you must specify an adequate length len for the pushbutton so that the icon can be displayed internally and adjust the visible length with VISIBLE LENGTH.
  • Once the event block in AT SELECTION-SCREEN has been processed, the system usually returns to displaying the selection screen. To exit selection screen processing and continue executing the program, you can only choose Execute or Cancel. This means pushbuttons on selection screens are intended primarily for use for dynamic modifications to the selection screen rather than to control the program.

Addition 1

... [/]pos|POS_LOW|POS_HIGH

Effect

You must specify the position of the pushbutton using this addition. The syntax and meaning of are the same as when creating horizontal lines, although in this case, len defines the length of the pushbutton on the selection screen. If a pushbutton extends beyond position 83 or beyond the edge of a block with a frame, it is cut off at the right hand side.

Addition 2

... USER-COMMAND fcode

Effect

If you specify the USER-COMMAND addition, the pushbutton must be assigned a function code fcode. The function code fcode must be specified directly and can only contain a maximum of 20 characters.

Before you can work with the pushbutton, you must specify a TABLES statement to declare an interface work area for the structure SSCRFIELDS from the ABAP Dictionary.

If the user selects the pushbutton on the selection screen, the runtime environment triggers the event AT SELECTION-SCREEN and the function code fcode is transferred to the ucomm component in the interface work area sscrfields.


Note

If the function code of a pushbutton corresponds to a function code used in the GUI status of the selection screen, the selection screen processing is influenced accordingly.

Addition 3

... VISIBLE LENGTH vlen

Effect

The VISIBLE LENGTH addition defines the visible length vlen of the pushbutton and your text. The syntax and meaning of this addition are the same as when creating output fields, although a pushbutton is never displayed as shorter than the text defined for it.


Example

Define and access a stand-alone selection screen 500 with two pushbuttons in an executable program. An icon and a quick info text are created for the second pushbutton.

TABLES sscrfields. 

SELECTION-SCREEN: 
  BEGIN OF SCREEN 500 AS WINDOW TITLE title, 
    PUSHBUTTON 2(10)  but1 USER-COMMAND cli1, 
    PUSHBUTTON 12(30) but2 USER-COMMAND cli2 
                           VISIBLE LENGTH 10, 
  END OF SCREEN 500. 

AT SELECTION-SCREEN. 
  CASE sscrfields. 
    WHEN 'CLI1'. 
      ... 
    WHEN 'CLI2'. 
      ... 
  ENDCASE. 

START-OF-SELECTION. 
  title  = 'Push button'. 
  but1 = 'Button 1'. 

  CALL FUNCTION 'ICON_CREATE' 
    EXPORTING 
      name   = icon_information 
      text   = 'Button 2' 
      info   = 'My quick info' 
    IMPORTING 
      RESULT = but2 
    EXCEPTIONS 
      OTHERS = 0. 

  CALL SELECTION-SCREEN '0500' STARTING AT 10 10. 

Continue

Selection screens, pushbuttons