ABAP Keyword Documentation → ABAP - Reference → User Dialogs → Selection Screens → Create Selection Screens → SELECTION-SCREEN → SELECTION-SCREEN - screen_elements
SELECTION-SCREEN - PUSHBUTTON
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 addition COMMENT
.
The addition MODIF ID
assigns the pushbutton to the
modification group modid
.
The additions ldb_additions
can only be used in the selection include of a
logical database.
Notes
-
The function module ICON_CREATE can be used to assign an icon, a
tooltip, and a text to a
pushbutton. Enough length,
len
, must be assigned to the pushbutton so that the icon can be displayed internally and the visible length must be modified usingVISIBLE 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, either Execute or Cancel must be chosen. 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
The position of the pushbutton must be specified 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 in the dynpro of 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 the addition USER-COMMAND
is specified, 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.
To enable the pushbutton, the statement TABLES
must be used to declare an
interface work area of the structure SSCRFIELDS from 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
.
Notes
- 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.
-
It is not recommended that the system field
sy-ucomm
instead ofsscrfields-ucomm
is evaluated, since this does not guarantee thatsy-ucomm
is always given the correct value in selection screen processing.
Addition 3
... VISIBLE LENGTH vlen
Effect
The addition VISIBLE LENGTH
defines the visible length vlen
of the pushbutton and its 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
Defines and accesses a
standalone selection screen 500
with two pushbuttons in an executable program. An icon and a tooltip 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.