SAP ABAP Table Control mit Beispielen

Anonim

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:

STEUERUNGEN  TYPEN-TABELLENANSICHT MIT BILDSCHIRM 

Dabei ist der Name des Tabellensteuerelements auf einem Bildschirm im ABAP-Programm. Das Steuerelement ermöglicht es dem ABAP-Programm, die Attribute des Tabellensteuerelements zu lesen und das Steuerelement zu beeinflussen. Hier ist die Bildschirmnummer, in die die Anfangswerte der Tabelle geladen werden. Die Cursorposition
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 FIELD  LINE 
 [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 ERHALTEN  LINE 

Zusätzlich zu den Informationen unter Ermitteln der Cursorposition enthält das Feld Informationen darüber, in welcher Zeile des Tabellensteuerelements sich der Cursor gerade befindet. Sie können auch verwenden

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 Typ TABLEVIEW USING SCREEN ). 3. Um
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 bei  USING 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 LINES -lines, um die Gesamtzahl der Zeilen im Steuerelement zu speichern. Die FIELD-Anweisung kann verwendet werden, um zu steuern, wann die Datenübertragung stattfindet.
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.