Ansicht
Dokumentation
CL_SALV_HIERSEQ_TABLE - Basisklasse für hierarchisch-sequentielle Tabellen
rdisp/max_wprun_time - Maximum work process run time Vendor Master (General Section)Diese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Sie können mit dem ALV-Objektmodell Tabellen auf drei verschiedene Arten einsetzen:
- als einfache, zweidimensionale Tabelle (Klasse CL_SALV_TABLE)
- als hierarchisch-sequenzielle Tabelle
Die folgenden Abschnitte befassen sich mit dieser Tabelle.
- als Baumstruktur (Klasse CL_SALV_TREE)
Die Klasse CL_SALV_HIERSEQ_TABLE leitet sich von der Klasse CL_SALV_MODEL_LIST ab. Für den Einfachstaufruf einer hierarchisch-sequenziellen Tabelle genügt es, gegen die Klasse CL_SALV_HIERSEQ_TABLE zu programmieren. Sie dient als Schnittstelle für den Anwendungsentwickler.
Besonderheiten der hierarchisch-sequenziellen Tabelle
Mit der hierarchisch-sequenziellen
Tabelle stellen Sie einfache hierarchische Strukturen dar. Dazu stehen Ihnen genau zwei Hierarchieebenen
zur Verfügung: die Kopfebene und die Positionsebene. Sie geben für jede Hierarchieebene
eine Tabelle an sowie die Spalten, über die die Tabellen miteinander verbunden sind (Fremdschlüsselbeziehung).
Die hierarchisch-sequenzielle Tabelle können Sie nur im Aussehen der klassischen ABAP-Liste darstellen. Die Darstellungsarten Fullscreenoder Container-Controlstehen für die hierarchisch-sequenzielle Tabelle nicht zur Verfügung.
Die meisten Funktionen, die Sie vielleicht bereits aus anderen ALV-Tabellenarten gewohnt sind, stehen auch für die hierarchisch-sequenzielle Tabelle zur Verfügung (Sortierung, Filtern, Aggregationen etc.). Hier geben Sie zusätzlich an, welche der beiden Hierarchieebenen Sie jeweils behandeln möchten.
-
Hinweis:
Jede Hierarchieebene ist ein Objekt der Klasse CL_SALV_HIERSEQ_LEVEL.
Empfehlungen und Einschränkungen
Sie verwenden ALV in erster Linie dazu,
strukturierte Daten am Bildschirm übersichtlich darzustellen und mit Hilfe spezifischer Funktionen sinnvoll nutzbar zu machen.
-
Grundsätzlich gilt:
Das Performance-Verhalten von ALV ist abhängig von verschiedenen Faktoren, insbesondere von der angezeigten Datenmenge und von der Anzahl der Aggregationsbedingungen (Zwischensummenbildung). Wenn Sie entscheiden müssen, ob und in welchem Rahmen Sie ALV einsetzen, prüfen Sie genau, ob die Rahmenbedingungen den Einsatz von ALV erlauben.
Folgende Einschränkungen gelten für den Einsatz von ALV als hierarchisch-sequenzielle Liste:
- Die Anzahl der Spalten ist auf 90 begrenzt.
- Die Ausgabelängeeiner Spalte ist auf 128 Zeichen begrenzt.
- ALV ist so gestaltet, dass der Nutzer vor allem am Bildschirm damit arbeitet. ALV stellt zwar einige Basisfunktionen für das Drucken Ihrer Tabelle zur Verfügung, für die Gestaltung ausgefeilter Drucklayoutsjedoch ist ALV nicht vorgesehen.
- Bei Sortierung und Zwischensummen verwenden Sie insgesamt maximal neun Ebenen bzw. Spalten.
- Beachten Sie bei aggregierbaren Spalten, dass die interne Längeder Spalte nicht nur für die Einzelwerte, sondern auch für das Ergebnis ausreichend groß ist.
- Die Ausgabe ist spaltenorientiert. Sie können nur flach strukturierte Tabellen darstellen. Die Darstellung verschachtelter Tabellen und Strukturen ist nicht möglich.
- Mit ALV dargestellte Tabellen sind nicht eingabebereit.
- Die Ausgabe von Summen und Zwischensummen wird allein von ALV behandelt. Sie können die Ergebnisse weder an Ihre Anwendung übergeben noch sie in irgendeiner Form manipulieren.
- Hierarchisch-sequenzielle Listen bestehen aus genau zwei Ebenen. Diese Ebenen sind durch Fremdschlüsselbeziehungenmiteinander verbunden. Die Anzahl dieser Fremdschlüsselbeziehungen ist auf fünf begrenzt.
- Die beiden Ebenen der hierarchisch-sequenziellen Liste bestehen aus genau zwei Tabellen, der Tabelle für die Kopfeinträge und der Tabelle für die Positionen.
- Spalten, die Teil einer Fremdschlüsselbeziehung sind, dürfen nicht für eine externe Sortierung vorgesehen sein.
- Die Sortierung der hierarchisch-sequenziellen Liste wird nach ihrer binären Darstellung (Codepage) sortiert. Eine textuelle Sortierung zeichenartiger Komponenten ist nicht möglich.
- In der hierarchisch-sequenziellen Liste können Sie Zwischensummen nur auf Kopfebenebilden.
- Während Sie in der einfachen, zweidimensionalen Tabelle Summen und Zwischensummen nach Einheiten aufgeschlüsselt angezeigt bekommen, bekommen Sie in der hierarchisch-sequenziellen Tabelle Ergebnisse nur dann angezeigt, wenn die gesamte Spalte eine einzige Einheit besitzt.
Methoden
Die Klasse CL_SALV_HIERSEQ_TABLE enthält folgende Methoden:
Instanz erzeugen | |
FACTORY | Erzeugt eine Instanz des ALV-Tabellenobjekts. Hier legen Sie die Darstellungsart fest. |
Tabelle darstellen | |
DISPLAY | Zeigt die ALV-Tabelle an |
Anzeige der Tabelle beeinflussen | |
GET_DISPLAY_SETTINGS | Liefert das Objekt der Klasse CL_SALV_DISPLAY_SETTINGS zurück, mit dem Sie die Darstellung der Ausgabetabelle beeinflussen |
GET_COLUMNS | Liefert das Objekt der Klasse CL_SALV_COLUMNS_LIST zurück, mit dem Sie die Einstellungen der Spalten festlegen |
GET_FILTERS | Liefert das Objekt der Klasse CL_SALV_FILTERS zurück, mit dem Sie alle Filtereinstellungen vornehmen |
GET_SORTS | Liefert das Objekt der Klasse CL_SALV_SORTS zurück, mit dem Sie alle Sortierungsinformationen einstellen |
GET_AGGREGATIONS | Liefert das Objekt der Klasse CL_SALV_AGGREGATIONS zurück, mit dem Sie Aggregationseinstellungen bearbeiten |
GET_PRINT | Liefert das Objekt der Klasse CL_SALV_PRINT zurück, mit dem Sie die Druckeinstellungen vornehmen |
Einstellungen zur Interaktion | |
GET_LAYOUT | Liefert das Objekt der Klasse CL_SALV_LAYOUT zurück, mit dem Sie Einstellungen zur Layoutverwaltung vornehmen |
GET_EVENT | Liefert das Objekt der Klasse CL_SALV_EVENT zurück, mit dem Sie die Ereignisse verwalten |
GET_FUNCTIONAL_SETTINGS | Liefert das Objekt der Klasse CL_SALV_FUNCTIONAL_SETTINGS zurück, mit dem Sie vorwiegend das technische Umfeld Ihrer Ausgabetabelle verwalten |
GET_SELECTIONS | Liefert das Objekt der Klasse CL_SALV_SELECTIONS zurück, mit dem Sie die Markierungen der Tabelle angeben |
REFRESH | Frischt die Anzeige auf |
SET_DATA | Legt eine neue interne Datentabelle fest |
Toolbar | |
GET_FUNCTIONS | Liefert das Objekt der Klasse CL_SALV_FUNCTIONS_LIST zurück, mit dem sie die Funktionen Ihrer Ausgabetabelle festlegen |
GET_FUNCTIONS_BASE | Nur interne Verwendung. Nicht verwenden |
Gestaltung von Kopf- und Fußinformationen
Die folgenden Methoden referenzieren jeweils ein Objekt der Klasse
CL_SALV_FORM_ELEMENT, mit dem Sie den Kopf- bzw. Fußbereich der Liste gestalten:
GET_TOP_OF_LIST | Liefert die Informationen zum Kopfbereich der Liste am Bildschirm zurück |
GET_END_OF_LIST | Liefert die Informationen zum Fußbereich der Liste am Bildschirm zurück |
GET_TOP_OF_LIST_PRINT | Liefert die Informationen zum Kopfbereich der Liste im Ausdruck zurück |
GET_END_OF_LIST_PRINT | Liefert die Informationen zum Fußbereich der Liste im Ausdruck zurück |
SET_TOP_OF_LIST | Setzt die Informationen zum Kopfbereich der Liste (online) |
SET_END_OF_LIST | Setzt die Informationen zum Fußbereich der Liste (online) |
SET_TOP_OF_LIST_PRINT | Setzt die Informationen zum Kopfbereich der Liste (im Ausdruck) |
SET_END_OF_LIST_PRINT | Setzt die Informationen zum Fußbereich der Liste (im Ausdruck) |
SET_MODUS | Wenn TOL >65 Zeilen: Verarbeitung dennoch ermöglichen |
Fenstereinstellungen | |
GET_SCREEN_STATUS | Liefert den Bildschirmstatus zurück |
GET_SCREEN_POPUP | Liefert die Koordinaten des Dialogfensters zurück |
SET_SCREEN_STATUS | Setzt den Bildschirmstatus |
SET_SCREEN_POPUP | Setzt die Koordinaten des Dialogfensters |
CLOSE_SCREEN | Schließt bei ABAP-Liste oder Fullscreen-Tabelle das Fenster |
Beziehungen
Die Klasse CL_SALV_HIERSEQ_TABLE enthält die wichtigsten Metadatenobjekte, über die Sie z. B. Aussehen, Umfang, und Sortierung beeinflussen können. Darüber hinaus definieren Sie hier die Bereiche oberhalb und unterhalb der Ausgabetabelle (TOP_OF_LIST, END_OF_LIST).
Beispiel
Das folgende Beispiel zeigt den einfachsten Aufruf einer hierarchisch-sequenziellen Tabelle.
Die
Kopfebene stammt aus der Tabelle SCARR, die Positionsebene aus der Tabelle SFLIGHT. Deren Spalten werden
in die Tabellen Ihrer Anwendungsdaten übertragen: gt_masterbzw. gt_slave.
Beide
Tabellen enthalten die Spalte CARRID, über die die Fremdschlüsselbeziehung gebildet wird.
gr_tableist die Referenz auf die zu verwendende ALV-Ausgabeklasse.
data: gt_master type table of SCARR.
data: gt_slave type table of SFLIGHT.
data: gr_table type ref to cl_salv_hierseq_table.
data: lt_binding type salv_t_hierseq_binding.
data: ls_binding type salv_s_hierseq_binding.
*... Select data
select * from SCARR into corresponding fields of table gt_master.
select * from SFLIGHT into corresponding fields of table gt_slave.
*... Bind Master and Slave Table
ls_binding-master = 'CARRID'.
ls_binding-slave = 'CARRID'.
append ls_binding to lt_binding.
*... Create Instance
call method cl_salv_hierseq_table=>factory
exporting
t_binding_level1_level2 = lt_binding
importing
r_hierseq = gr_table
changing
t_table_level1 = gt_master
t_table_level2 = gt_slave.
*... Display table
gr_table->display( ).
Hinweise
Das Programm SALV_DEMO_HIERSEQ_SIMPLE enthält ein einfaches Beispiel, wie Sie die Klasse CL_SALV_HIERSEQ_TABLE einsetzen können.
Weiterführende Informationen
TXBHW - Original Tax Base Amount in Local Currency CL_GUI_FRONTEND_SERVICES - Frontend Services
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 17646 Date: 20240419 Time: 213835 sap01-206 ( 179 ms )