Tabellensteuerelemente und Schrittschleifen sind Objekte für die Bildschirmtabellenanzeige, die Sie einem Bildschirm im Screen Painter hinzufügen.
Vom Standpunkt der Programmierung aus sind Tabellensteuerungen und Schrittschleifen fast genau gleich. Tabellensteuerelemente sind einfach verbesserte Schrittschleifen, die Daten mit dem Erscheinungsbild von Tabellen in Desktopanwendungen anzeigen.
Mit Tabellensteuerelementen kann der Benutzer:
- Scrollen Sie vertikal und horizontal durch die Tabelle
- Ändern Sie die Größe einer Spalte
- Scrollen Sie innerhalb eines Feldes (wenn der Feldinhalt breiter als das Feld ist)
- Wählen Sie Tabellenzeilen oder -spalten aus
- Ordnen Sie die Reihenfolge der Spalten neu
- Speichern Sie die aktuellen Anzeigeeinstellungen für die zukünftige Verwendung
Tabellensteuerelemente bieten außerdem spezielle Formatierungsfunktionen (einige automatisch, andere optional), mit denen Tabellen einfacher angezeigt und verwendet werden können. Tabellensteuerung bietet -
- Automatische Größenänderung der Tabelle (vertikal und horizontal), wenn der Benutzer die Fenstergröße ändert
- Trennlinien zwischen Zeilen und zwischen Spalten (vertikal und horizontal)
- Spaltenüberschriftenfelder für alle Spalten
Ein Merkmal von Schrittschleifen ist, dass ihre Tabellenzeilen mehr als eine Zeile auf dem Bildschirm umfassen können. Eine Zeile eines Tabellensteuerelements muss dagegen immer in einer einzelnen Zeile enthalten sein (obwohl ein Bildlauf möglich ist).
Im Allgemeinen werden viele der von der Tabellensteuerung bereitgestellten Funktionen lokal vom SAPgui-Frontend Ihres Systems verwaltet, sodass Sie sie nicht selbst programmieren müssen. Die einzige bemerkenswerte Ausnahme ist das vertikale Scrollen .
Beispiel (Transaktion TZ60)
Syntax
Um Tabellensteuerelemente in ABAP-Programmen zu verarbeiten, müssen Sie im Deklarationsteil des Programms für jedes Tabellensteuerelement ein Steuerelement mit der folgenden Anweisung deklarieren:
STEUERUNGENTYPEN-TABELLENANSICHT MIT BILDSCHIRM
Dabei ist
für ein Tabellensteuerelement kann auf folgende Arten festgelegt werden:
Bei PBO können Sie den Cursor auf ein bestimmtes Feld einer bestimmten Zeile eines Tabellensteuerelements setzen.
SET CURSOR FIELDLINE [OFFSET ]
Mit dem optionalen Zusatz OFFSET können Sie den Versatz des Cursors in das Feld eingeben, wie unter Einstellen der Cursorposition beschrieben.
Bei PAI können Sie die aktuelle Cursorposition ablesen.
CURSORFELD ERHALTENLINE …
Zusätzlich zu den Informationen unter Ermitteln der Cursorposition enthält das Feld
CURSOR LINE ERHALTEN.
um die Zeile des Tabellensteuerelements zu bestimmen. Mit SY-SUBRC können Sie überprüfen, ob sich der Cursor in einer Zeile eines Tabellensteuerelements befindet.
So erhalten Sie die entsprechende Zeile der internen Tabelle:
GET CURSOR Zeile.ind = -top_line + - 1.Lesen Sie die Tabelle index ind.
Die Systemvariable stepl - enthält den aktuellen Tabellenzeilenindex in einer Schleife… endloop. Loopc - enthält die Anzahl der in der Tabelle sichtbaren Zeilen.
So erstellen Sie ein Tabellensteuerelement: 1.
Fügen Sie Ihrem Bildschirm ein Tabellensteuerelement hinzu. 2. Geben Sie dem Tabellensteuerelement
einen Namen. Deklarieren Sie im ABAP-Programm eine Struktur mit derselben (CONTROLS
Felder zu erstellen, gehen Sie zur Funktion Dict./Program fields.
- Geben Sie den Namen der Struktur ein, deren Felder Sie möchten. (Wenn Sie möchten, dass es aus dem Wörterbuch Ihres Programms ausgewählt wird, klicken Sie auf die entsprechende Schaltfläche).
- Wählen Sie in der Feldliste die gewünschten Felder aus und klicken Sie auf OK.
- Klicken Sie in den Tabellenkontrollbereich
Wenn Sie eine Auswahlspalte wünschen, aktivieren Sie das entsprechende Kontrollkästchen in den Attributen und geben Sie ihr einen Namen. Erstellen Sie das Feld im ABAP-Programm.
In der PBO sollten Sie die Anweisung haben
LOOP beiUSING CONTROL .ENDLOOP.
In der PAI sollten Sie haben.
LOOP bei.ENDLOOP.
Innerhalb der Schleifen erfolgt die Datenübertragung zwischen dem Bildschirm und der internen Tabelle. Wenn Sie die interne Tabelle füllen, verwenden Sie DESCRIBE TABLE
Um die Attribute einzelner Zellen vorübergehend zu ändern, ändern Sie die SCREEN-Tabelle im PBO. Sie können die Attribute der Struktur ändern, die mit der Anweisung CONTROLS erstellt wurde
-fixed_cols usw. sind die Attribute des Steuerelements -cols-index usw. sind die Attribute der Spalten. -cols-screen-unsichtbar usw. sind die Bildschirmattribute jeder Spalte.