
Sie können über Ihre Anwendung bestimmen, welche Bereiche markiert sind, wenn die ALV-Ausgabe angezeigt wird. In der einfachen, zweidimensionalen Tabelle und hierarchisch-sequenziellen Liste können Sie darüber hinaus beeinflussen, ob und in welchem Rahmen der Nutzer Bereiche der ALV-Ausgabe markieren kann. Dazu verwenden Sie in listähnlichen ALV-Ausgaben die Markierungsart. In Baumstrukturen legen Sie für jedes Item bzw. jeden Knoten einzeln fest, ob es markierbar ist oder nicht.
Aktuelle Zelle
Die aktuelle Zelle kennzeichnet in der einfachen, zweidimensionalen Tabelle und der hierarchisch-sequenziellen Liste die Stelle, an der der Cursor steht. Die aktuelle Zelle ist anders hervorgehoben, als markierte Zellen. Somit können Sie die aktuelle Zelle auch dann erkennen, wenn sie sich innerhalb eines markierten Bereichs befindet.
Zum Markieren in der ALV-Ausgabe können Sie folgende Einstellungen vornehmen:
Einstellungen zur Markierung und Informationen zu markierten Bereichen holen
Markierungsart festlegen
Markieren von Knoten und Items erlauben
Bereich markieren
Informationen zu Markierungen holen
In jeder ALV-Hauptklasse existiert die Methode GET_SELECTIONS, die das Markierungsobjekt zurückgibt. Über dieses Objekt erhalten Sie mit verschiedenen Getter-Methoden die gewünschten Informationen.
|
Funktion |
Klasse |
Methode |
|
Markierungsobjekt holen |
CL_SALV_TABLE CL_SALV_HIERSEQ_TABLE CL_SALV_TREE |
GET_SELECTIONS |
|
Markierungsobjekt einer Hierarchieebene holen |
CL_SALV_HIERSEQ_LEVEL |
GET_SELECTIONS |
Markierungsart festlegen
Mit der Markierungsart legen Sie fest, welche Zellen der Nutzer gleichzeitig markieren, also ob und wie er die Markierungen kombinieren kann. Hierbei hat die Markierungsart in den verschiedenen Darstellungsarten unterschiedliche Auswirkungen.
|
ALV-Werkzeug |
Darstellungsart |
Funktion verfügbar |
|
Einfache, zweidimensionale Tabelle |
Klass. ABAP-Liste |
Ja |
|
Fullscreen |
Ja |
|
|
Im Container |
Ja |
|
|
Hierarchisch-sequenzielle Liste |
Klass. ABAP-Liste |
Ja |
|
Baumstruktur |
Fullscreen |
Nein |
|
Im Container |
Nein |
Folgende Markierungsarten stehen zur Verfügung:
NONE
SINGLE
MULTIPLE
ROW_COLUMN
CELL
Die folgende Tabelle zeigt, welche Markierungsart Sie der ALV-Ausgabe zuweisen müssen, damit der Nutzer die gewünschte Funktion durchführen kann.
|
Gewünschte Funktion |
Klass. ABAP-Liste hier.-sequ. Liste |
Fullscreen Container |
|
Einzelne Spalte markieren |
NONE |
NONE |
|
Einzelne Zeile markieren |
SINGLE |
NONE |
|
Einzelne Zelle markieren |
NONE |
CELL |
|
Mehrere Zellen markieren (ggf. mit STRG- oder Umschalttaste) |
Nicht möglich |
CELL |
|
Eine oder mehrere Zeilen und eine oder mehrere Spalten markieren (ggf. mit STRG-Taste) |
SINGLE |
MULTIPLE ROW_COLUMN CELL |
|
Drucktaste bzw. Ankreuzfeld zum markieren von Zeilen anbieten |
SINGLE |
ROW_COLUMN CELL |
|
Funktion |
Klasse |
Methode |
|
Markierungsart festlegen |
CL_SALV_SELECTIONS |
SET_SELECTION_MODE |
|
Markierungsart holen |
GET_SELECTION_MODE |
Markieren von Knoten und Items erlauben
In der Baumstruktur können Sie für einzelne Knoten oder Items festlegen, ob der Nutzer sie markieren darf.
|
ALV-Werkzeug |
Darstellungsart |
Funktion verfügbar |
|
Einfache, zweidimensionale Tabelle |
Klass. ABAP-Liste |
Nein |
|
Fullscreen |
Nein |
|
|
Im Container |
Nein |
|
|
Hierarchisch-sequenzielle Liste |
Klass. ABAP-Liste |
Nein |
|
Baumstruktur |
Fullscreen |
Ja |
|
Im Container |
Ja |
|
Funktion |
Klasse |
Methode |
|
Markierbarkeit des Items festlegen |
CL_SALV_ITEM |
SET_ENABLED |
|
Prüfen, ob das Item markierbar ist |
IS_ENABLED |
|
|
Markierbarkeit des Knotens festlegen |
CL_SALV_NODE |
SET_ENABLED |
|
Prüfen, ob der Knoten markierbar ist |
IS_ENABLED |
Bereich markieren
Sie können über Ihre Anwendung Markierungen in der ALV-Ausgabe setzen.
|
ALV-Werkzeug |
Darstellungsart |
Funktion verfügbar |
|
Einfache, zweidimensionale Tabelle |
Klass. ABAP-Liste |
Ja |
|
Fullscreen |
Ja |
|
|
Im Container |
Ja |
|
|
Hierarchisch-sequenzielle Liste |
Klass. ABAP-Liste |
Ja |
|
Baumstruktur |
Fullscreen |
Ja |
|
Im Container |
Ja |
|
Funktion |
Klasse |
Methode |
|
Aktuelle Zelle setzen |
CL_SALV_SELECTIONS |
SET_CURRENT_CELL |
|
Aktuelle Zelle holen |
GET_CURRENT_CELL |
|
|
Zellen markieren |
SET_SELECTED_CELLS |
|
|
Markierte Zellen holen |
GET_SELECTED_CELLS |
|
|
Zeilen markieren |
SET_SELECTED_ROWS |
|
|
Markierte Zeilen holen |
GET_SELECTED_ROWS |
|
|
Spalten markieren |
CL_SALV_SELECTIONS CL_SALV_SELECTIONS_TREE |
SET_SELECTED_COLUMNS |
|
Markierte Spalten holen |
GET_SELECTED_COLUMNS |
|
|
Knoten markieren |
CL_SALV_SELECTIONS_TREE |
SET_SELECTED_NODES |
|
Markierte Knoten holen |
GET_SELECTED_NODES |
|
|
Item markieren |
SET_SELECTED_ITEM |
|
|
Markiertes Item holen |
GET_SELECTED_ITEM |