In der Regel werden Spalten aus der internen Datentabelle direkt in der ALV-Ausgabe angezeigt. Sie können jedoch Spalten definieren, die eine bestimmte technische Funktion besitzen. Diese Spalten werden dann entweder gar nicht angezeigt, oder sie stellen ihre Inhalte auf eine besondere Weise dar. Folgende Arten von Sonderspalten können Sie einsetzen:
●
Steuerungsspalten
Diese Spalten sind meist technische Spalten, werden also selbst nicht
angezeigt. Sie enthalten Informationen darüber, wie in einer anderen Spalte die Inhalte dargestellt
werden.
Beispiele für Steuerungsspalten sind:
○ Farbenspalte (technische Spalte)
○ Währungsspalte (sichtbare Spalte)
Viele der Eigenschaften, die Sie über Steuerungsspalten bestimmten Zellen zuordnen, können Sie auch einer ganzen Spalte zuordnen (z. B. einer ganzen Spalte eine Währung zuordnen).
●
Grafikspalten
Um Ikonen, Ausnahmen und Symbole anzuzeigen, verwenden Sie eine bestimmte
Schreibweise (z. B. @AB@). Damit diese Zeichenketten
als Bezeichner einer Grafik interpretiert werden und nicht als Text,
definieren Sie die Spalte entsprechend als Ikonen-, Ausnahme- oder
Symbolspalte.
●
Spalten mit spezieller Funktion
Diese Spalten enthalten Funktionen, die nur in ganz bestimmten Zusammenhängen
sinnvoll sind.
Beispiele für diese Spalten sind:
○ Expansionsspalte der hierarchisch-sequenziellen Liste
○ Textspalte für Beschriftungen in Ergebniszeilen von Zwischenergebnissen
○ Zählerspalte zum Ermitteln der Zeilenzahl
Je nachdem, wofür Sie eine Sonderspalte einsetzen, müssen Sie unterschiedliche Dinge beachten.
Mit Steuerungsspalten weisen Sie einer oder mehreren Zellen bestimmte Eigenschaften zu.
Ein Eintrag in der Steuerungsspalte bezieht sich immer auf die Zellen derjenigen Zeile, in der sich auch der Eintrag befindet.
Es gibt zwei Typen von Steuerungsspalten:
● Steuerungsspalten, die fest einer bestimmten Spalte zugeordnet sind
● Steuerungsspalten, die Informationen für beliebig viele Spalten enthalten
Vorgaben in der Steuerungsspalte beziehen sich ausschließlich auf die aktuelle Spalte. Die Zellen dieser Steuerungsspalte können nur jeweils einen einzigen Wert enthalten, der den Inhalt der verknüpften Zelle steuert.
Für diesen Typ von Steuerungsspalten verwenden Sie die folgenden Methoden:
Steuerungsspalte |
Klasse |
Methode |
Währungsspalte |
CL_SALV_COLUMN |
SET_CURRENCY_COLUMN |
Spalte für Dezimalstellen |
SET_DECIMALS_COLUMN |
|
Spalte für Mengeneinheiten |
SET_QUANTITY_COLUMN |
|
Rundungsspalte |
SET_ROUND_COLUMN |
Darstellungsart ALV-Werkzeug |
Klass. ABAP-Liste |
Fullscreen |
Im Container |
Einfache, zweidimensionale Tabelle |
Ja |
Ja |
Ja |
Hierarchisch-sequenzielle Liste |
Ja |
|
|
Baumstruktur |
|
Ja |
Ja |
Bei der hierarchisch-sequenziellen Liste müssen Sie zusätzlich angeben, in welcher der beiden Hierarchietabellen sich die Steuerungsspalte befindet. Dazu verwenden Sie in der Klasse CL_SALV_COLUMN_HIERSEQ eine der Methoden SET_*_COLUMN_LEVEL.
Die Zellen dieser Steuerungsspalte enthalten ganze Tabellen:
● Jede dieser Tabellen bezieht sich ausschließlich auf Zellen in derselben Zeile der ALV-Ausgabe.
● Wenn diese Tabelle mehrere Zeilen enthält, steuert jede dieser Zeilen eine bestimmte Spalte der ALV-Ausgabe.
● Jede Zeile enthält dann den Namen der Spalte der ALV-Ausgabe, auf die sich die Einstellungen beziehen (in der Grafik unten Zeile 1 und 2).
● Wenn kein Spaltenname angegeben ist, erhalten alle Spalten der ALV-Ausgabe die Einstellungen (in der Grafik unten Zeile 3).
Für diesen Typ von Steuerungsspalten verwenden Sie die folgenden Methoden:
Steuerungsspalte |
Klasse |
Methode |
Spalte für Zellentypen |
CL_SALV_COLUMNS_LIST |
SET_CELL_TYPE_COLUMN |
Farbenspalte |
SET_COLOR_COLUMN |
|
Hyperlink-Spalte |
SET_HYPERLINK_ENTRY_ |
|
Dropdown-Spalte |
SET_DROPDOWN_ENTRY_ |
Darstellungsart ALV-Werkzeug |
Klass. ABAP-Liste |
Fullscreen |
Im Container |
Einfache, zweidimensionale Tabelle |
Ja |
Ja |
Ja |
Hierarchisch-sequenzielle Liste |
Ja |
|
|
Baumstruktur |
|
Nein |
Nein |
In der Baumstruktur können Sie ganzen Knoten oder einem einzelnen Item Farben zuweisen.
In listähnlichen ALV-Ausgaben können Sie Ikonen oder Symbole nur in Spalten darstellen, die eigens für diesen Zweck definiert sind. Sie dürfen dann nur solche Einträge enthalten, die eine Ikone bzw. ein Symbol in Ihrem System eindeutig identifizieren.
Darstellungsart ALV-Werkzeug |
Klass. ABAP-Liste |
Fullscreen |
Im Container |
Einfache, zweidimensionale Tabelle |
Ja |
Ja |
Ja |
Hierarchisch-sequenzielle Liste |
Ja |
|
|
Baumstruktur |
|
Nein |
Nein |
In der Baumstruktur können Sie in jedem beliebigen Item eine Ikone darstellen. Dazu verwenden Sie in der Klasse CL_SALV_ITEM die Methode SET_ICON.
Methoden
Funktion |
Klasse |
Methode |
Spalte als Ikonenspalte definieren |
CL_SALV_COLUMN_LIST |
SET_ICON |
Prüfen, ob die aktuelle Spalte eine Ikonenspalte ist |
IS_ICON |
|
Spalte als Symbolspalte definieren |
SET_SYMBOL |
|
Prüfen, ob die aktuelle Spalte eine Symbolspalte ist |
IS_SYMBOL |
Eine spezielle Form der Grafikspalte ist die Ausnahmespalte:
Sie stellen darin mit bestimmten Ikonen einen Zustand des aktuellen Datensatzes dar.
Die häufigste Darstellung von Ausnahmeikonen ist die Ampel: Mit den Ikonen , und , können Sie z. B. den Freigabestatus anzeigen.
Anders als herkömmliche Grafikspalten besitzt die Ausnahmespalte zusätzliche Eigenschaften:
● Die Werte in der Ausnahmespalte müssen zwischen 1 und 5 liegen
● Sie kann nur ein bestimmtes Set an Ikonen darstellen. Sie können aus mehreren Ausnahmegruppen wählen, welche Ikonen Sie anzeigen möchten. In der Ausnahmespalte selbst stehen dann nur die in dieser Ausnahmegruppe erlaubten Werte
● Der Nutzer kann die Ausnahmespalte nicht ausblenden
● In listähnlichen ALV-Ausgaben wird die Ausnahmespalte immer als erste Spalte angezeigt
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 |
Ausnahmespalte angeben |
CL_SALV_COLUMNS_LIST CL_SALV_COLUMNS_TREE |
SET_EXCEPTION_COLUMN |
Ausnahmegruppe holen |
GET_EXCEPTION_COLUMN |
|
GET_EXCEPTION_SETTINGS |
Ergebniszeilen von Aggregationen bleiben in der
Ausnahmespalte standardmäßig leer. In listähnlichen ALV-Ausgaben können Sie
jedoch Ausnahmeikonen anzeigen. Dazu verwenden Sie in der Klasse
CL_SALV_COLUMNS_LIST die Methode SET_EXCEPTION_COLUMN (Parameter CONDENSED).
Sie prüfen, ob die Ergebniszeile eine Ausnahmeikone anzeigt, indem Sie die
Methode IS_EXCEPTION_CONDENSED oder GET_EXCEPTION_SETTINGS
(Parameter CONDENSED) verwenden.
Sie können nicht in jeder Darstellungsart der einfachen, zweidimensionalen Tabelle bzw. der hierarchisch-sequenziellen Liste jede Ausnahmegruppe einsetzen. Die folgende Tabelle zeigt, wo Sie welche Ausnahmegruppe einsetzen können:
Ausnahmegruppe |
Ikonenbezeichnung |
Kl. ABAP-Liste |
Fullscreen |
Container |
Hierarch.-seq, Liste |
1 |
LIGHTS |
ja |
ja |
ja |
ja |
2 |
LED |
nein |
nein |
ja |
nein |
3 |
STATUS |
nein |
nein |
ja |
nein |
4 |
TREND |
nein |
nein |
ja |
nein |
5 |
MESSAGE |
nein |
nein |
ja |
nein |
6 |
ALERT |
nein |
nein |
ja |
nein |
7 |
FAILURE/INCOMPLETE/ CHECKED |
nein |
nein |
ja |
nein |
Mit einigen Sonderspalten steuern Sie Funktionen, die nur in ganz bestimmten Zusammenhängen sinnvoll sind.
Diese Spalte steht ausschließlich in der hierarchisch-sequenziellen Liste zur Verfügung. Sie blenden damit Positionszeilen bestimmter Kopfzeilen gezielt ein und aus. Hier wird nur geprüft, ob ein Eintrag in einer Zeile dieser Spalte enthalten ist: Ist die Zelle leer, so werden die Positionszeilen der entsprechenden Kopfzeile eingeblendet. Enthält die Zelle einen Wert, so werden die Positionszeilen der entsprechenden Kopfzeile ausgeblendet.
Darstellungsart ALV-Werkzeug |
Klass. ABAP-Liste |
Fullscreen |
Im Container |
Einfache, zweidimensionale Tabelle |
Nein |
Nein |
Nein |
Hierarchisch-sequenzielle Liste |
Ja |
|
|
Baumstruktur |
|
Nein |
Nein |
Methoden
Funktion |
Klasse |
Methode |
Expansionsspalte definieren |
CL_SALV_COLUMNS_HIERSEQ |
SET_EXPAND_COLUMN |
aktuelle Expansionsspalte holen |
GET_EXPAND_COLUMN |
Sie können zu Aggregationen Zwischenergebnisse anzeigen. Diese Zwischenergebnisse werden in einer speziellen Ergebniszeile angezeigt, und zwar in der Spalte, deren Werte in der Aggregation verwendet werden. Alle anderen Spalten dieser Zeile sind standardmäßig leer. Sie können eine Spalte angeben, deren Werte ebenfalls in die Ergebniszeile übertragen werden.
Darstellungsart ALV-Werkzeug |
Klass. ABAP-Liste |
Fullscreen |
Im Container |
Einfache, zweidimensionale Tabelle |
Ja |
Ja |
Ja |
Hierarchisch-sequenzielle Liste |
Ja |
|
|
Baumstruktur |
|
Nein |
Nein |
Methoden
Funktion |
Klasse |
Methode |
Textspalte definieren |
CL_SALV_COLUMN_LIST |
SET_TEXT_COLUMN |
Aktuelle Textspalte holen |
GET_TEXT_COLUMN |
Sie können die Anzahl der Datensätze der ALV-Ausgabe ermitteln und ausgeben. Dazu benötigen Sie eine spezielle Spalte, die Zählerspalte. Die Zeilen dieser Zählerspalte zeigen nie Daten an. Die Ergebniszeile jedoch enthält die Anzahl der Datensätze.
Darstellungsart ALV-Werkzeug |
Klass. ABAP-Liste |
Fullscreen |
Im Container |
Einfache, zweidimensionale Tabelle |
Ja |
Ja |
Ja |
Hierarchisch-sequenzielle Liste |
Ja |
|
|
Baumstruktur |
|
Nein |
Nein |
Methoden
Funktion |
Klasse |
Methode |
Zählerspalte definieren |
CL_SALV_COLUMNS_LIST |
SET_COUNT_COLUMN |
Zählerspalte holen |
|
GET_COUNT_COLUMN |