Variante 1 (Tabstrip (TabControl) verwenden)
* Tabstrip erzeugen, 10 Zeilen hoch
SELECTION-SCREEN BEGIN OF TABBED BLOCK tbl FOR 10 LINES.
SELECTION-SCREEN TAB (15) tbl_tab1 USER-COMMAND tab1 DEFAULT SCREEN 9001.
SELECTION-SCREEN TAB (15) tbl_tab2 USER-COMMAND tab2 DEFAULT SCREEN 9002.
SELECTION-SCREEN END OF BLOCK tbl.
* Subscreen 9001 für Tab1
SELECTION-SCREEN BEGIN OF SCREEN 9001 AS SUBSCREEN.
PARAMETERS: pa_test.
SELECTION-SCREEN END OF SCREEN 9001.
* Subscreen 9002 für Tab2
SELECTION-SCREEN BEGIN OF SCREEN 9002 AS SUBSCREEN.
PARAMETERS: pa_test2.
SELECTION-SCREEN END OF SCREEN 9002.
INITIALIZATION.
* Tabnamen vergeben
tbl_tab1 = 'Tab1'.
tbl_tab2 = 'Tab2'.
* aktiven Tab setzen, Großbuchstaben beachten
tbl-activetab = 'TAB1'.
tbl-dynnr = 9001.
tbl-prog = sy-repid.
AT SELECTION-SCREEN.
* Ereignis bei Klick auf Tabstrip abfangen
CASE sy-ucomm.
WHEN 'TAB1'.
MESSAGE 'TAB1' TYPE 'S'.
WHEN 'TAB2'.
MESSAGE 'TAB2' TYPE 'S'.
ENDCASE.
START-OF-SELECTION.
WRITE: / 'Aktiver Tab:', tbl-activetab.
WRITE: / 'Aktiver Tab Subscreen:', tbl-dynnr.
WRITE: / 'Programmname:', tbl-prog.
Variante 2 (zuletzt gewählen Tabstrip zwischenspeichern)
* nach Listenverarbeitung wieder zurück zum Selektionsbildschirm
* und dort den letzten gewählten Tab anzeigen
CONSTANTS: gv_tbl_memory TYPE c LENGTH 10 VALUE 'TBL_ACTIVE'.
* Tabstrip erzeugen, 20 Zeilen hoch
SELECTION-SCREEN BEGIN OF TABBED BLOCK tbl FOR 10 LINES.
SELECTION-SCREEN TAB (15) tbl_tab1 USER-COMMAND tab1 DEFAULT SCREEN 9001.
SELECTION-SCREEN TAB (15) tbl_tab2 USER-COMMAND tab2 DEFAULT SCREEN 9002.
SELECTION-SCREEN END OF BLOCK tbl.
* Subscreen 9001 für Tab1
SELECTION-SCREEN BEGIN OF SCREEN 9001 AS SUBSCREEN.
PARAMETERS: pa_test.
SELECTION-SCREEN END OF SCREEN 9001.
* Subscreen 9002 für Tab2
SELECTION-SCREEN BEGIN OF SCREEN 9002 AS SUBSCREEN.
PARAMETERS: pa_test2.
SELECTION-SCREEN END OF SCREEN 9002.
INITIALIZATION.
* Tabnamen vergeben
tbl_tab1 = 'Tab1'.
tbl_tab2 = 'Tab2'.
* Zustand des Tabstrips aus dem Zwischenspeicher holen
IMPORT tbl FROM MEMORY ID gv_tbl_memory.
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'TAB1'.
MESSAGE 'TAB1' TYPE 'I'.
WHEN 'TAB2'.
MESSAGE 'TAB2' TYPE 'I'.
ENDCASE.
START-OF-SELECTION.
* Zustand des Tabstrips in den Zwischenspeicher ablegen
EXPORT tbl TO MEMORY ID gv_tbl_memory.
WRITE: / 'Aktiver Tab:', tbl-activetab.
WRITE: / 'Aktiver Tab Subscreen:', tbl-dynnr.
WRITE: / 'Programmname:', tbl-prog.