Folgende Schritte sind notwendig, um ein einfaches TabStrip zu erzeugen.
TabStrip-Bereich festlegen
Sie definieren einen TabStrip-Bereich, indem Sie:
Der Feldname ist der Bereichsname, der in der Control-Anweisung im ABAP anzugeben ist (s.u. Definition im ABAP).
Tab-Reiter definieren
Das neu definierte TabStrip ist im Standard mit zwei Reitern vorbelegt. Tab-Reiter sind aus technischer Sicht genau wie Drucktasten zu behandeln. Dies wird nach einem Doppelklick auf einen Tab-Reiter im Attributefenster deutlich. Für jeden Reiter bestimmen Sie einen Feldnamen, einen Feldtext, und einen Funktionscode.
Tab-Reiter können auch als Schablone definiert und zur Laufzeit mit Text versorgt werden.
Zusätzliche Tab-Reiter werden erzeugt, indem Drucktasten in die Tab-Reiterzeile gezogen werden.
Subscreenbereich zuweisen
Jedem Tab-Reiter wird ein Subscreenbereich zugewiesen. Hierbei gibt es unterschiedliche Vorgehensweisen, die im Abschnitt Blättern im TabStrip näher erläutert wurden.
Prinzipiell ist wie folgt vorzugehen:
Manuell kann die Zuweisung auch über das sogenannte Referenzfeld im Attributefenster oder der Feldliste erfolgen, indem dort der Name des Subscreenbereiches eingetragen wird.
Weitere Informationen zur Einrichtung eines TabStrips im alphanumerischen Screen Painter finden Sie unter
Definition im ABAP
Im Modulpool wird das TabStrip analog zum TableControl mit der CONTROLS Anweisung deklariert.
CONTROLS: MYTABSTRIP TYPE TABSTRIP
.Hierbei ist
MYTABSTRIP der Feldname im Screen Painter für das TabStrip. Zur Laufzeit steht im Moment nur das Attribut ACTIVETAB zur Verfügung, welches die gerade aktive TabStrip-Seite bestimmt und mit dem der Funktionscode des dazugehörenden Tab-Reiters versehen wird.Die Anweisung
MYTABSTRIP-ACTIVETAB = 'F1'. bewirkt, daß der Tab-Reiter mit dem Funktionscode F1 zum aktiven Reiter wird.Das TabStrip-Contol ist in das Dynprokonzept integriert, sodaß TabStrips auch bei Abläufen im Batch-Input kein Problem darstellen.
Ablauflogik programmieren
Entsprechend der oben dargestellten Möglichkeiten, entweder lokal im GUI oder über den Applikationsserver zu blättern, ergeben sich verschiedene Arten der Programmierung.
Blättern auf dem Applikationsserver
data: dynpronr(4) type c,
modul(30) type c value ‘Programmname’,
ok_code like SY-UCOMM
....
controls: tabstrip1 type tabstrip.
...
Ablauflogik:
PROCESS BEFORE OUTPUT.
Module setpage.
Module modifyscreen.
CALL SCUBSCREEN sub1 INCLUDING modul dynpronr.
...
PROCESS AFTER INPUT.
CALL SUBSCREEN SUB1.
Module fcode.
...
*-------------------------------------------*
Module setpage output.
if dynpronr is initial.
dynpronr = ‘0200’.
tabstrip1-activetab = ‘TAB1’.
endif.
endmodule.
*-------------------------------------------*
Module modifyscreen output.
LOOP AT SCREEN.
*-------------------------------------------*
Module fcode.
case ok_code.
when ‘TAB1’.
dynpronr = ‘0200’.
tabstrip1-activetab = ok_code.
clear ok-code.
when ‘TAB2’.
dynpronr = ‘0300’.
tabstrip1-activetab = ok_code.
....
Blättern im SAPGUI
Ablauflogik:
PROCESS BFORE OUTPUT.
CALL SUBSCREEN sub1 INCLUDING ‘modul1’ ‘0100’.
CALL SUBSCREEN sub2 INCLUDING ‘modul2’ ‘0101’.
CALL SUBSCREEN sub3 INCLUDING ‘modul3’ ‘0102’.
...
PROCESS AFTER INPUT.
CALL SUBSCREEN sub1.
CALL SUBSCREEN sub2.
CALL SUBSCREEN sub3.
...
Weiterführende Informationen zur Programmierung von TabStrips finden Sie im ABAP Benutzerhandbuch unter
TabStrips.