Ansicht
Dokumentation

ABAPCONTROLS_TABLEVIEW - CONTROLS TABLEVIEW

ABAPCONTROLS_TABLEVIEW - CONTROLS TABLEVIEW

Vendor Master (General Section)   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

CONTROLS, TYPE TABLEVIEW

Kurzreferenz



CONTROLS contrl TYPE TABLEVIEW USING SCREEN dynnr.

Wirkung

Deklaration eines Table Controls. Durch Angabe des Typs TABLEVIEW in der Anweisung CONTROLS wird eine tiefe Struktur mit dem Namen des Controls und vom Typ cxtab_control aus der Typgruppe CXTAB angelegt. Die Komponenten der Struktur enthalten während der Dynpro-Verarbeitung die Eigenschaften des Table Controls. Über diese Struktur können die Attribute des relevanten Table Controls geändert und gelesen werden.

Die tiefe Struktur cxtab_control enthält auf oberster Ebene Komponenten für die generellen Attribute des Table Controls. Die Komponente cols ist eine interne Tabelle der Struktur cxtab_column und enthält die Attribute einzelner Spalten. Die Struktur cxtab_column enthält eine strukturierte Komponente SCREEN vom Typ SCREEN, das 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 contrl definiert 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 die Startwerte bestimmter 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-Schleife in der Dynpro-Ablauflogik ohne Bezug zu einer internen Tabelle durchgeführt wird, ist der Startwert von LINES 0 und muss im Programm gesetzt werden, damit die Blätterleiste verwendbar ist. Bei Bezug 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 der PBO-Verarbeitung des Table Controls explizit auf die Anzahl der Zeilen der internen Tabelle gesetzt werden.
top_line Oberste angezeigte Zeile bei nächstem PBO. Wird zu PAI 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 LOOP nicht 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 zu PAI 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.
lcol_sel_mode Modus der Spaltenmarkierung: "0", falls keine, "1", falls eine, "2", falls mehrere Spalten markierbar sind. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen.
line_selector Kennzeichen ("X" oder " "), ob es eine Markierspalte gibt. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen.
h_grid Kennzeichen ("X" oder " "), ob es horizontale Trennlinien gibt. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen.
v_grid Kennzeichen ("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 Kennzeichen ("X" oder " "), ob das Table Control im GUI-Fenster sichtbar ist oder nicht.

Die Struktur cxtab_column

Komponente Bedeutung
screen Struktur für die Attribute des Bildschirmelements der aktuellen Spalte. Die Komponenten können direkt oder mit MODIFY SCREEN auf die dort beschriebenen Werte gesetzt werden. MODIFY SCREEN überschreibt eine direkte Zuweisung.
index Aktuelle Position der Spalte im Table Control. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen. Wird zu PAI auf den aktuellen Wert gesetzt.
selected Kennzeichen ("X" oder " "), ob Spalte markiert ist oder nicht. Wird zu PAI auf den aktuellen Wert gesetzt.
vislength Sichtbare Länge der Spalte. Startwert wird der Definition des Table Controls in Dynpro dynnr entnommen.
invisible Kennzeichen ("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 der PBO-Verarbeitung des Table Controls auf die richtige Zeilenzahl gesetzt wurde. Bei jedem Blättern mit der Blätterleiste wird das Ereignis PAI mit 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_control während der PBO-Verarbeitung einen Wert zuzuweisen. Für das seitenweise Blättern kann die Anzahl der zu blätternden Zeilen während der Schleifenausführung dem Systemfeld sy-loopc entnommen werden. sy-loopc enthält die Anzahl der aktuell dargestellten 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 die DDIC-Datenbanktabelle SPFLI im ABAP Dictionary definiert sind, kann die zugehörige Programmierung des ABAP-Programms wie folgt aussehen. In einem PBO-Modul prepare_tab wird eine interne Tabelle spfli_tab mit Daten aus der Datenbanktabelle gefüllt. Die Anzahl der Zeilen von spfli_tab wird 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 definierten Schnittstellen-Arbeitsbereichs spfli übereinstimmt. Das PAI-Modul modify_tab wird für jede dargestellte Zeile des Table Controls aufgerufen. Die zugehörige Dynpro-Ablauflogik findet sich im Beispiel zu LOOP.






General Material Data   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 11208 Date: 20240427 Time: 041102     sap01-206 ( 167 ms )