ABAPCONTROLS_TABLEVIEW - CONTROLS TABLEVIEW
CL_GUI_FRONTEND_SERVICES - Frontend Services TXBHW - Original Tax Base Amount in Local CurrencyDiese Dokumentation steht unter dem Copyright der SAP AG.
CONTROLS - TYPE TABLEVIEW
Syntax
CONTROLS contrl TYPE TABLEVIEW USING SCREEN dynnr.
Wirkung
Deklaration eines Table Controls. Bei der Angabe des Typs TABLEVIEW in der Anweisung CONTROLS wird einetiefe Struktur mit dem Namen desControls und vom Typ CXTAB_CONTROL aus derTypgruppeCXTAB angelegt. Die Komponenten der Struktur enthalten während derDynpro-Verarbeitungdie Eigenschaften des Table Controls. Über diese Struktur können die Eigenschaften des zugehörigen Table Controls ausgelesen und verändert werden.
Die tiefe Struktur CXTAB_CONTROL enthält auf oberster Ebene Komponenten für die generellenAttribute des Table Controls. Die Komponente COLS ist eine interne Tabelle der Struktur CXTAB_COLUMNund enthält die Attribute einzelner Spalten. Die Struktur CXTAB_COLUMN enthält eine strukturierteKomponente SCREEN, die wie die vordefinierte Struktur screenaufgebaut ist und die Attribute des Bildschirmelements jeder Spalte enthält. Bis auf die Komponente CURRENT_LINE können alle Komponenten der Struktur CXTAB_CONTROL im ABAP-Programm gesetzt werden.
In dynnr muss die Nummer eines Dynpros angegeben werden, auf dem ein Table Control namens contrldefiniert ist. Für dynnr kann ein Literal oder eine Konstante vom Typ n der Länge 4 angegeben werden. Beim ersten Aufruf eines Dynpros, in dem ein Table Control namens contrl definiert ist, werden dieStartwertebestimmter Komponenten der Struktur der Definition des Table Controls entnommen, dessen Dynpro hinter dem Zusatz USING angegeben ist.
Die Struktur CXTAB_CONTROL
| Komponente | Bedeutung | |
| FIXED_COLS | Anzahl der Führungsspalten. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. | |
| LINES | Steuert die vertikale Blätterleiste des Table Controls. Wenn die LOOP-Schleifein der Dynpro-Ablauflogik ohne Bezug zu einer internen Tabelle durchgeführt wird, ist der Startwertvon LINES 0 und muss im Programm gesetzt werden, damit die Blätterleiste verwendbar ist. BeiBezug zu einer internen Tabelle wird LINES auf die aktuelle Anzahl der Zeilen der internen Tabelle gesetzt,wenn das Table Control zum ersten Mal prozessiert wird. Da dieser Zeitpunkt aber undefiniert ist, sollte der Wert von LINES auch in diesem Fall vor derPBO-Verarbeitungdes Table Controls explizit auf die Anzahl der Zeilen der internen Tabelle gesetzt werden. | |
| TOP_LINE | Oberste angezeigte Zeile bei nächstemPBO. Wird zuPAI durch die Position der vertikalen Blättermarke gesetzt. | |
| CURRENT_LINE | Aktuelle Zeile während einer LOOP-Schleife in der Dynpro-Ablauflogik.Wenn der Zusatz FROM der Anweisung LOOPnicht angegeben ist, entspricht der Wert von CURRENT_LINE dem Ergebnis von sy-stepl + (TOP_LINE - 1). | |
| LEFT_COL | Nummer der ersten angezeigten horizontal blätterbaren Spalte hinter den Führungsspalten. Wird zuPAI durch Position der horizontalen Blättermarke gesetzt. | |
| LINE_SEL_MODE | Modus der Zeilenmarkierung: "0", falls keine, "1", falls eine, "2", falls mehrere Zeilen markierbar sind. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. | |
| COL_SEL_MODE | Modus der Spaltenmarkierung: "0", falls keine, "1", falls eine, "2", falls mehrereSpalten markierbar sind. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. | |
| LINE_SELECTOR | Flag ("X" oder " "), ob es eine Markierspalte gibt. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. | |
| H_GRID | Flag ("X" oder " "), ob es horizontale Trennlinien gibt. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. | |
| V_GRID | Flag ("X" oder " "), ob es vertikale Trennlinien gibt. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. | |
| COLS | Steuertabelle für einzelne Spalten der Struktur CXTAB_COLUMN. | |
| INVISIBLE | Flag ("X" oder " "), ob das Table Control im Fenster sichtbar ist oder nicht. | |
Die Struktur CXTAB_COLUMN
| Komponente | Bedeutung | |
| SCREEN | Struktur für die Attribute des Bildschirmelements der aktuellen Spalte. DieKomponenten können direkt oder mit MODIFYSCREEN auf die dort beschriebenen Werte gesetzt werden. Letzteres überschreibt eine direkte Wertzuweisung. | |
| INDEX | Aktuelle Position der Spalte im Table Control. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. Wird zuPAI auf den aktuellen Wert gesetzt. | |
| SELECTED | Flag ("X" oder " "), ob Spalte markiert ist oder nicht. Wird zuPAI auf den aktuellen Wert gesetzt. | |
| VISLENGTH | Sichtbare Länge der Spalte.Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. | |
| INVISIBLE | Flag ("X" oder " "), ob die Spalte im Table Control sichtbar ist oder nicht. | |
Hinweise
- In einem Table Control kann mit einer Blätterleiste vertikal geblättert werden, wenn die Komponente LINES der Struktur CXTAB_CONTROL vor derPBO-Verarbeitungdes Table Controls auf die richtige Zeilenzahl gesetzt wurde. Bei jedem Blättern mit der Blätterleiste wird das EreignisPAImit einem leeren Funktionscode ausgelöst und die Komponente TOP_LINE der Struktur CXTAB_CONTROL vor PBO automatisch auf die neue oberste Zeile gesetzt.
- Um programmgesteuert zu blättern, genügt es, der Komponente TOP_LINE der Struktur CXTAB_CONTROLwährend der PBO-Verarbeitung einen Wert zuzuweisen. Für das seitenweise Blättern kann die Anzahl der zu blätternden Zeilen während derSchleifenausführungdem Systemfeld sy-loopc entnommen werden. sy-loopc enthält die Anzahl der aktuelldargestellten Zeilen, während die Komponente LINES der Struktur CXTAB_CONTROL die Anzahl der Zeilen im gesamten Table Control enthält.
Beispiel
Wenn auf dem Dynpro der Nummer 100 ein Table Control definiert ist, dessen Zeilen mit Bezug auf dieDatenbanktabelle SPFLI im ABAP Dictionary definiert sind, kann die zugehörige Programmierungdes ABAP-Programms wie folgt aussehen. In einem PBO-Modul prepare_tab wird eine interne Tabellespfli_tab mit Daten aus der Datenbanktabelle gefüllt. Die Anzahl der Zeilen von spfli_tabwird der Komponente lines der mit CONTROLS angelegten Struktur flight_tab zugewiesen,um die Blätterleiste des Table Controls zu aktivieren. In einem PAI-Modul modify_tab wird die Zeile der internen Tabelle modifiziert, deren primärer Tabellenschlüssel mit dem des mit TABLES definiertenSchnittstellen-Arbeitsbereichsspfli übereinstimmt. Das PAI-Modul modify_tab wird für jede dargestellteZeile des Table Controls aufgerufen. Die zugehörige Dynpro-Ablauflogik findet sich im Beispiel zu LOOP.
CONTROLS flight_tab TYPE TABLEVIEW USING SCREEN '0100'.
TABLES spfli.
DATA spfli_tab TYPE SORTED TABLE OF spfli
WITH UNIQUE KEY carrid connid.
...
MODULE prepare_tab OUTPUT.
IF spfli_tab IS INITIAL.
SELECT *
FROM spfli
INTO TABLE spfli_tab.
flight_tab-lines = lines( spfli_tab ).
ENDIF.
ENDMODULE.
MODULE modify_tab INPUT.
MODIFY TABLE spfli_tab FROM spfli.
ENDMODULE.
PERFORM Short Reference BAL Application Log Documentation
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 12583 Date: 20120526 Time: 193225 triton ( 353 ms )






