Ansicht
Dokumentation

CL_SALV_HIERSEQ_TABLE - Basisklasse für hierarchisch-sequentielle Tabellen

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.
SAP E-Book

Funktionalität

Sie können mit dem ALV-Objektmodell Tabellen auf drei verschiedene Arten einsetzen:

  • als hierarchisch-sequenzielle Tabelle
    Die folgenden Abschnitte befassen sich mit dieser Tabelle.

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 )