Spalten sind das zentrale Element einer ALV-Ausgabe. Sie können zu einer Spalte eine Vielzahl von Eigenschaften hinterlegen und so beeinflussen, ob und wie ein Wert in dieser Spalte dargestellt wird.
Im ALV-Objektmodell wird automatisch für jede Spalte Ihrer internen Datentabelle ein COLUMN-Objekt erzeugt (Klasse CL_SALV_COLUMN). Die Gesamtheit aller COLUMN-Objekte wird durch das COLUMNS-Objekt repräsentiert (Klasse CL_SALV_COLUMNS bzw. eine ihrer Unterklassen).
Das ALV-Objektmodell ermittelt bereits beim Erzeugen der Tabelleninstanzen alle relevanten und verfügbaren Eigenschaften aus der DDIC-Beschreibung Ihrer internen Datentabelle und ordnet sie den einzelnen Spaltenobjekten zu.
Beziehen sich Tabellenspalten auf programmlokale Felder, kann ALV nur einen Teil der möglichen Spalteneigenschaften ermitteln. Dies sind im Wesentlichen die technischen Beschreibungen wie interne Länge, interner Typ etc.
Mit den Methoden der Klasse CL_SALV_COLUMN (bzw. eine ihrer Unterklassen) legen Sie die weiteren Eigenschaften nach Bedarf fest. Die folgende Grafik zeigt Vererbungshierarchie der Spaltenobjekte:
Sie können folgende Spaltentypen unterscheiden:
· Standardspalten
· Schlüsselspalten, also Spalten, die in Ihrer ALV-Ausgabe eine besondere inhaltliche Bedeutung haben
· Spezielle Spalten, die die Bedeutung oder Darstellung anderer Spalten steuern oder für besondere Funktionen reserviert sind
Einige der Eigenschaften, die Sie zu einem Spaltenobjekt vornehmen, gelten für all diese Spaltentypen, einige hingegen sind nur einem bestimmten Spaltentyp vorbehalten.
Sie können zu allen Spalten folgende Einstellungen vornehmen:
· Sichtbarkeit der Spalte einstellen
· Position der Spalte innerhalb der ALV-Ausgabe ändern
· Spalten mit besonderer Bedeutung
· Eigenschaften des Textes in der Spalte festlegen
In jeder der ALV-Hauptklassen existiert die Methode GET_COLUMNS, die die Spaltenbeschreibungen aller Spalten der ALV-Ausgabe (also alle Spaltenobjekte) zurückgibt. Über dieses Objekt (Klasse CL_SALV_COLUMNS) erhalten Sie mit den Methoden GET bzw. GET_COLUMN die gewünschte Spaltenbeschreibung.
Methoden
Funktion |
Klasse |
Methode |
Alle Spaltenobjekte holen |
CL_SALV_TABLE CL_SALV_HIERSEQ_TABLE CL_SALV_TREE |
GET_COLUMNS |
CL_SALV_COLUMNS |
GET |
|
Alle Spaltenobjekte einer Hierarchieebene holen |
CL_SALV_HIERSEQ_LEVEL |
GET_COLUMNS |
Bestimmtes Spaltenobjekt holen |
CL_SALV_COLUMNS |
GET_COLUMN |
Technischen Namen der aktuellen Spalte holen |
CL_SALV_COLUMN |
GET_COLUMNNAME |
Der Spaltenvorrat eines Nutzers besteht aus Spalten, die er selbst nach Bedarf ein- oder ausblenden kann. Sie haben verschiedene Möglichkeiten, den Spaltenvorrat des Nutzers zu beeinflussen:
· Sie legen fest, welche Spalten der Nutzer angezeigt bekommt, wenn die ALV-Ausgabe am Bildschirm erscheint. Diese Einstellung ist die Standardeinstellung.
· Sie legen fest, welche Spalten zwar im Spaltenvorrat enthalten sind, jedoch am Bildschirm nicht angezeigt werden: Sie legen die Spalte als unsichtbar fest.
Für Spalten, die Sie als Schlüsselspalten definiert haben, können Sie bestimmen, ob der Nutzer sie ausblenden kann oder nicht.
· Sie legen fest, welche Spalten nicht im Spaltenvorrat des Nutzers enthalten sind: Sie definieren die Spalte als technische Spalte.
Die meisten Spalten mit besonderer technischer Bedeutung sind automatisch technische Spalten und somit nicht im Spaltenvorrat des Nutzers enthalten.
Darstellungsart ALV-Werkzeug |
Klass. ABAP-Liste |
Fullscreen |
Im Container |
Einfache, zweidimensionale Tabelle |
Ja |
Ja |
Ja |
Hierarchisch-sequenzielle Liste |
Ja |
|
|
Baumstruktur |
|
Ja |
Ja |
Methoden
Funktion |
Klasse |
Methode |
Sichtbarkeit einer Spalte festlegen |
CL_SALV_COLUMN |
SET_VISIBLE |
Einstellung zur Sichtbarkeit prüfen |
IS_VISIBLE |
|
Spalte als technische Spalte definieren |
SET_TECHNICAL |
|
Prüfen, ob eine Spalte eine technische Spalte ist |
IS_TECHNICAL |
Sie können die Reihenfolge der Spalten innerhalb der ALV-Ausgabe ändern.
Darstellungsart ALV-Werkzeug |
Klass. ABAP-Liste |
Fullscreen |
Im Container |
Einfache, zweidimensionale Tabelle |
Ja |
Ja |
Ja |
Hierarchisch-sequenzielle Liste |
Ja |
|
|
Baumstruktur |
|
Ja |
Ja |
Die Ausnahmespalte wird immer als erste Spalte angezeigt. Sie können ihre Position nicht ändern.
Methoden
Funktion |
Klasse |
Methode |
Position einer Spalte ändern |
CL_SALV_COLUMNS |
SET_COLUMN_POSITION |
Aktuelle Position einer Spalte holen |
GET_COLUMN_POSITION |