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.