1. SELECTION-SCREEN BEGIN OF SCREEN
As already explained, this defines a custom screen (like a subscreen or popup), which you can call dynamically using CALL SELECTION-SCREEN.
SELECTION-SCREEN BEGIN OF SCREEN <screen_number> [AS SUBSCREEN|AS WINDOW] [TITLE <text>].
... fields ...
SELECTION-SCREEN END OF SCREEN <screen_number>.
2. SELECTION-SCREEN BEGIN OF BLOCK
Used to group parameters and fields into logical blocks, which can have their own frame and titles.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_carrid TYPE s_carr_id,
p_connid TYPE s_conn_id.
SELECTION-SCREEN END OF BLOCK b1.
4. SELECTION-SCREEN BEGIN OF LINE
Used to arrange fields horizontally on the selection screen (instead of vertical default layout).
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) text-002 FOR FIELD p_flag.
PARAMETERS: p_flag AS CHECKBOX.
SELECTION-SCREEN END OF LINE.
4. SELECTION-SCREEN COMMENT
Displays a label or text on the selection screen.
SELECTION-SCREEN COMMENT /1(30) text-003.
5. SELECTION-SCREEN TAB and SELECTION-SCREEN BEGIN OF TABBED BLOCK
Used to create tabbed selection screens, where each tab holds a subscreen.
SELECTION-SCREEN BEGIN OF TABBED BLOCK mytab FOR 3 LINES.
SELECTION-SCREEN TAB (20) tab1 USER-COMMAND tab1 SCREEN 101.
SELECTION-SCREEN TAB (20) tab2 USER-COMMAND tab2 SCREEN 102.
SELECTION-SCREEN END OF BLOCK mytab.
SELECTION-SCREEN BEGIN OF SCREEN 101 AS SUBSCREEN.
PARAMETERS: p_name TYPE name1.
SELECTION-SCREEN END OF SCREEN 101.
SELECTION-SCREEN BEGIN OF SCREEN 102 AS SUBSCREEN.
PARAMETERS: p_age TYPE i.
SELECTION-SCREEN END OF SCREEN 102.