ABAP – ALV mit Klasse CL_SALV_TABLE

Vielleicht die schnellste Art und Weise eine Ausgabe im ALV-List Format zu erzeugen.

Im Deklarationsbereich:

DATA: gr_functions TYPE REF TO cl_salv_functions. "Symbolleiste
DATA: gr_table TYPE REF TO cl_salv_table. "Klasse
DATA: gr_display TYPE REF TO cl_salv_display_settings. "Displayeinstellungen
DATA: gr_columns TYPE REF TO cl_salv_columns_table. "Spaltenmanipulation
DATA: gr_column TYPE REF TO cl_salv_column.
DATA: color TYPE lvc_s_colo. "Farbe
DATA: gr_sorts TYPE REF TO cl_salv_sorts. "Sortierung
DATA: gr_agg TYPE REF TO cl_salv_aggregations. "Aggregation
DATA: gr_filter TYPE REF TO cl_salv_filters. "Filter
DATA: gr_layout TYPE REF TO cl_salv_layout. "Layout
DATA: key TYPE salv_s_layout_key.

Und am Schluss:

* Ausgabe
  cl_salv_table=>factory( IMPORTING r_salv_table = gr_table
                        CHANGING t_table = <Tabellenname> ).

* Symbolleiste wird eingeblendet
  gr_functions = gr_table->get_functions( ).
  gr_functions->set_all( abap_true ).

  gr_display = gr_table->get_display_settings( ).
  gr_display->set_striped_pattern( cl_salv_display_settings=>true ).
  gr_display->set_list_header( '<Überschrift>' ).
*  gr_display->set_fit_column_to_table_size( 'X' ).

* Layout (Layoutänderungen abspeicherbar)
  gr_layout = gr_table->get_layout( ).
  key-report = sy-repid.
  gr_layout->set_key( key ).
  gr_layout->set_save_restriction( cl_salv_layout=>restrict_none ).

* Anzeige Tabelle *
  gr_table->display( ).

Wenn weitere Funktionen/ Formatierungen etc. gewünscht sind dann findet sich hier eine umfassende Dokumentation dazu.

Im Paket SALV_OM_OBJECTS sind zahlreiche Demoprogramme zusammengefasst die alle Funktionen der Klasse an Beispielen erläutern.

Wollen Sie ab sofort per Mail über neue Beiträge informiert werden? Dann tragen Sie sich in unsere Mailingliste ein. Dieser Service ist für Sie natürlich kostenlos.