Ansicht
Dokumentation
CL_SALV_TABLE - Basisklasse für einfache Tabellen
Vendor Master (General Section) General Data in Customer MasterDiese 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
Die folgenden Abschnitte befassen sich mit dieser Tabelle.
- als hierarchisch-sequenzielle Tabelle (Klasse CL_SALV_HIERSEQ_TABLE)
- als Baumstruktur (Klasse CL_SALV_TREE)
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 )