Ansicht
Dokumentation

CL_SALV_TABLE - Basisklasse für einfache Tabellen

CL_SALV_TABLE - Basisklasse für einfache Tabellen

Vendor Master (General Section)   General Data in Customer Master  
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 einfache, zweidimensionale Tabelle
    Die folgenden Abschnitte befassen sich mit dieser Tabelle.

Die Klasse CL_SALV_TABLE implementiert das Interface IF_SALV_GUI_OM_TABLE_INFO. Sie verwenden sie, um einfache Tabellen auszugeben. Für den Einfachstaufruf genügt es, gegen diese Klasse zu programmieren.

Darstellungsarten
Sie können die einfache ALV-Tabelle auf folgende Arten darstellen:

  • als klassische ABAP-Liste
    Die Tabelle nimmt den gesamten Bildschirm ein. Somit können Sie nur eine Tabelle darstellen.
  • als Tabellen-Control
    Hier stehen wiederum zwei Darstellungen zur Verfügung:
  • als Fullscreen-Tabelle
    Die Tabelle nimmt den gesamten Bildschirm ein. Somit können Sie nur eine Tabelle darstellen. Das Dynpro ist Teil von ALV.

  • in einem SAP-GUI-Container
    Sie erzeugen einen Container der Klasse CL_GUI_CONTAINER in Ihrem Dynpro. In diesem Container wird die Tabelle dargestellt. Mit dieser Art der Darstellung können Sie z. B. mehr als eine Tabelle am Bildschirm anzeigen oder die Ausgabe mit anderen SAP Enjoy Controls mischen.

Hinweis:
Diese beiden Darstellungen werden gelegentlich auch als Ausprägung des Grid-Control bezeichnet.

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:

  • 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 mit Ihren Tabellen 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 ist nicht möglich.
  • Mit ALV dargestellte Tabellen sind nicht eingabebereit.
  • Wenn Sie die Tabelle als Grid im Container einsetzen, können Sie keinen Batch-Modus nutzen.
  • 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.

Methoden
Die Klasse CL_SALV_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_METADATA Nur Container-Darstellung: Stellt sicher, dass Metadaten die aktuellen Daten des Frontends sind
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 (online) zurück
GET_END_OF_LIST Liefert die Informationen zum Fußbereich der Liste (online) 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_TABLE enthält die wichtigsten Metadatenobjekte, über die Sie z. B. Aussehen, Umfang, und Sortierung beeinflussen können. Darüber hinaus definieren Sie hier für die klassische ABAP-Liste und die Fullscreen-Tabelle die Bereiche oberhalb und unterhalb der Ausgabetabelle (TOP_OF_LIST, END_OF_LIST).

Beispiel

Das folgende Beispiel zeigt den einfachsten Aufruf einer Tabelle vom Typ SFLIGHT. Dabei ist die Tabelle gt_outtabdie Tabelle mit Ihren Anwendungsdaten und gr_tabledie Referenz auf die zu verwendende ALV-Ausgabeklasse.

data: gt_outtab type table of SFLIGHT.
data: gr_table  type ref to cl_salv_table.

*... Select data
  select * from SFLIGHT into corresponding fields of table gt_outtab.

*... Create Instance
  call method cl_salv_table=>factory
    IMPORTING
      R_SALV_TABLE = gr_table
    changing
      t_table      = gt_outtab.

*... Display table
  gr_table->display( ).

Variante
Die Anzeige ist in diesem Beispiel auf Fullscreen eingestellt (Standardeinstellung). Um die Tabelle als klassische ABAP-Liste auszugeben, setzen Sie den Parameter LIST_DISPLAY der Methode FACTORY auf TRUE.

Hinweise

Das Programm SALV_DEMO_TABLE_SIMPLE enthält ein einfaches Beispiel, wie Sie die Klasse CL_SALV_TABLE einsetzen können.

Weiterführende Informationen






Vendor Master (General Section)   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 15735 Date: 20240426 Time: 164158     sap01-206 ( 131 ms )