Das ALV-Objektmodell enthält eine Vielzahl von Klassen, über die Sie gezielt bestimmte Einstellungen vornehmen können. Die folgende Grafik zeigt die Klassendiagramme der drei ALV-Hauptklassen im Vergleich.
Die Klassen des ALV-Objektmodells sind so aufgebaut, dass Sie meist bereits über ihren Namen erkennen können, welche Bereiche der ALV-Ausgabe Sie mit den Methoden dieser Klassen beeinflussen können:
·
Singular oder Plural
Häufig finden Sie Klassennamen, die sowohl im Plural als auch im Singular
vorhanden sind (z. B. CL_SALV_COLUMN und CL_SALV_COLUMNS). Daraus können Sie
bereits erkennen, dass in der einen Klasse Methoden enthalten sind, die nur
ein bestimmtes Element betreffen (im Beispiel oben: eine Spalte), in der
anderen Klasse dagegen die Methoden für alle Elemente des entsprechenden
Typs.
·
ALV-Werkzeug
Viele Funktionen stehen für alle drei ALV-Werkzeuge zur Verfügung. Dort
jedoch, wo Unterschiede zwischen den Klassen der ALV-Werkzeuge bestehen,
erkennen Sie am Namen die richtige Variante (z. B. CL_SALV_COLUMN_TABLE,
CL_SALV_COLUMN_HIERSEQ, CL_SALV_COLUMN_TREE)
Die Objekte dieser Klassen erhalten Sie über Getter-Methoden der drei ALV-Hauptklassen. Die folgende Tabelle zeigt, welche Methoden in den ALV-Hauptklassen welche Unterobjekte liefern:
Methoden der ALV-Hauptklassen zum Holen von Unterobjekten
Methode |
Liefert Objekt vom Typ |
Bemerkung |
GET_AGGREGATIONS |
CL_SALV_AGGREGATIONS |
|
GET_COLUMNS |
CL_SALV_COLUMNS_ CL_SALV_COLUMNS_ CL_SALV_COLUMNS_ |
|
GET_DISPLAY_ |
CL_SALV_DISPLAY_ |
Nicht in CL_SALV_TREE |
GET_EVENT |
CL_SALV_EVENTS_ CL_SALV_EVENTS_ CL_SALV_EVENTS_ |
|
GET_FILTERS |
CL_SALV_FILTERS |
Nicht in CL_SALV_TREE |
GET_FUNCTIONAL_ |
CL_SALV_FUNCTIONAL_ |
Nicht in CL_SALV_TREE |
GET_FUNCTIONS |
CL_SALV_FUNCTIONS_ |
Nicht in CL_SALV_TREE |
CL_SALV_FUNCTIONS_ |
Nur in CL_SALV_TREE |
|
GET_LAYOUT |
CL_SALV_LAYOUT |
|
GET_LEVEL |
CL_SALV_HIERSEQ_ |
Nur in CL_SALV_HIERSEQ_TABLE |
GET_NODES |
CL_SALV_NODES |
Nur in CL_SALV_TREE |
GET_PRINT |
CL_SALV_PRINT |
Nicht in CL_SALV_TREE |
GET_SELECTIONS |
CL_SALV_SELECTIONS |
Nicht in CL_SALV_TREE |
CL_SALV_SELECTIONS_ |
Nur in CL_SALV_TREE |
|
GET_SORTS |
CL_SALV_SORTS |
Nicht in CL_SALV_TREE |
GET_TREE_SETTINGS |
CL_SALV_TREE_ |
Nur in CL_SALV_TREE |
Wenn eine der verwendeten Klassen eine weitere Klasse verwendet, so können Sie deren Objekte ebenfalls über Getter-Methoden holen u.s.w.
Verwendete Klasse |
Enthält Getter-Methode |
Liefert Objekt vom Typ |
CL_SALV_AGGREGATIONS |
GET_AGGREGATION |
CL_SALV_AGGREGATION |
CL_SALV_COLUMNS_TABLE |
GET_COLUMN |
CL_SALV_COLUMN |
CL_SALV_COLUMNS_ |
||
CL_SALV_COLUMNS_TREE |
||
CL_SALV
_FUNCTIONAL_ |
GET_DROPDOWNS |
CL_SALV_DROPDOWNS |
GET_HYPERLINKS |
CL_SALV_HYPERLINKS |
|
GET_TOOLTIPS |
CL_SALV_TOOLTIPS |
|
CL_SALV_FUNCTIONS_LIST |
GET_FUNCTIONS |
CL_SALV_FUNCTION |
CL_SALV_FUNCTIONS_TREE |
||
CL_SALV_FILTERS |
GET_FILTER |
CL_SALV_FILTER |
CL_SALV_NODES |
GET_NODE |
CL_SALV_NODE |
CL_SALV_SORTS |
GET_SORTS |
CL_SALV_SORT |
Wenn Sie die interne Datentabelle und die Instanz der ALV-Hauptklasse erzeugt haben, können Sie zu jeder der verwendeten Klassen ein Objekt erzeugen und die jeweiligen Einstellungen vornehmen. Dazu gehen Sie wie folgt vor:
·
Sie deklarieren je eine Objektvariable
vom Typ der Klasse, die Sie verwenden möchten
(z. B. data: gr_display type ref to cl_salv_display_settings.
)
·
Sie verwenden die jeweilige
Getter-Methode der ALV-Hauptklasse, um die Objekte des entsprechenden Typs zu
holen
(z. B. gr_display = gr_table->get_display_settings (
). )
·
Sie verwenden die Methoden der
verwendeten Klasse, um dem Objekt die gewünschten Eigenschaften
zuzuweisen.
(z. B.
gr_display->set_striped_pattern(
value = 'X').
gr_display->set_vertical_lines(
value = 'X').)
· Wenn Sie alle Einstellungen gemacht haben, zeigen Sie die ALV-Ausgabe mit der Methode display an.