Samstag, 5. Mai 2018

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_table.

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 = <<die_interne_tabelle>> ).


* 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( 'Beliebige Ü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( ).
....

Et voilà...

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.

Keine Kommentare:

Kommentar veröffentlichen