TabStrips auf dem Selektionsbild

Dieses Beispielprogramm zeigt die Verwendung von Tabellenreitern (Registerkarte/ TabReiter/ TabStrip) auf einem Report-Selektionsbild.

REPORT ztabstrip .
* Definition der einzelnen Masken *
SELECTION-SCREEN BEGIN OF SCREEN 1001 AS SUBSCREEN.
PARAMETERS: p_eins(10),
            p_all AS CHECKBOX.
SELECT-OPTIONS: s_eins FOR sy-uname.
SELECTION-SCREEN END OF SCREEN 1001.

SELECTION-SCREEN BEGIN OF SCREEN 1002 AS SUBSCREEN.
PARAMETERS: p_zwei(3).
SELECTION-SCREEN INCLUDE PARAMETERS p_all.
SELECT-OPTIONS: s_zwei FOR sy-datum.
SELECTION-SCREEN END OF SCREEN 1002.

* Definition der TabStrip-Maske *
SELECTION-SCREEN:
  BEGIN OF TABBED BLOCK abc FOR 5 LINES,
    TAB (30) t_eins USER-COMMAND t_eins DEFAULT SCREEN 1001,
    TAB (30) t_zwei USER-COMMAND t_zwei DEFAULT SCREEN 1002,
  END OF BLOCK abc.

INITIALIZATION.
* Bezeichnung der Reiter *
  t_eins = 'Eins'.
  t_zwei = 'Zwei'.
* Nach "Ausführen" und Rücksprung wird wieder der
* erste Reiter aktiv. Um dies zu verhindern:
* merken des gedrückten Reiters in Start-of-Selection
* und bei Initialization wieder importieren:
  IMPORT abc FROM MEMORY ID 'ABC_ACTIVE'.
* TabStrip je nach User-Command setzen (Wird auch durch
* den Zusatz "DEFAULT SCREEN 1001" erreicht).

AT SELECTION-SCREEN.
  IF sy-ucomm = 'T_EINS'.
    abc-prog      = sy-cprog.
    abc-dynnr     = 1001.
    abc-activetab = 'T_EINS'.
  ENDIF.

 START-OF-SELECTION.
* Zuletzt aktiven Reiter merken:
  EXPORT abc TO MEMORY ID 'ABC_ACTIVE'.
  WRITE: / 'Aktiver Reiter:', abc-activetab.

Und so sieht’s aus:


Die beiden Tabellenreiter “Eins” und “Zwei”

Enno Wulff