Nachdem ich zuletzt gezeigt habe, wie schnell man mit der Klasse cl_salv_table ALV-Listen erstellen kann, möchte ich nun zeigen, die man das Aussehen der Liste beeinflussen kann. In der Klasse gibt es die Methode get_display_settings, mit der folgende Einstellungen vornehmen kann:
Feature | Methode | Beschreibung |
Überschrift | set_list_header | Legt die Überschrift der ALV-Liste fest |
Größe der Überschrift | set_list_header_size | Legt die Größe der Überschrift fest. Mögliche Werte C_HEADER_SIZE_SMALL, C_HEADER_SIZE_MEDIUM,
C_HEADER_SIZE_LARGE |
Streifenmuster | set_striped_pattern | Alternierende Farben in den Zeilen (Standard: aus) |
Horizontale Linien | set_horizontal_lines | Blendet die horizontalen Linien ein oder aus (Standard: ein) |
Vertikale Linien | set_vertical_lines | Blendet die vertikalen Linien ein oder aus (Standard: ein) |
Spaltenbreite optimieren | set_optimize | Spaltenbreite an Textlänge anpassen (kein Text wird abgeschnitten, Standard: aus) |
Schlüsselspalten fixieren | set_key_fixation | Schlüsselspalten bleiben beim Scrollen im Bild |
Im folgendem ein Beispiel:
REPORT ztest_salv_header.
DATA: gt_spfli TYPE STANDARD TABLE OF spfli.
DATA: go_alv TYPE REF TO cl_salv_table.
*PARAMETERS: p_select type xfeld.
"Erzeugen von Testdaten
SELECT * FROM spfli
INTO CORRESPONDING FIELDS OF TABLE gt_spfli
UP TO '20' ROWS.
"ALV-Objekt erzeugen mit statischer Factory-Methode
TRY.
cl_salv_table=>factory(
EXPORTING
list_display = if_salv_c_bool_sap=>false "TRUE fuer Listenausgabe
IMPORTING
r_salv_table = go_alv "Rückgabe des ALV-Objektes
CHANGING
t_table = gt_spfli ). "Tabelle für Anzeige
CATCH cx_salv_msg.
"Fehlerbehandlung
ENDTRY.
*--------------------------------------------------------------------*
* Einstellungen für Überschriften
*--------------------------------------------------------------------*
"Überschrift festlegen
go_alv->get_display_settings( )->set_list_header('Irgendeine tolle Überschrift').
go_alv->get_display_settings( )->set_list_header_size( cl_salv_display_settings=>c_header_size_large ).
go_alv->get_display_settings( )->set_striped_pattern( abap_true ).
go_alv->get_display_settings( )->set_horizontal_lines( abap_true ).
go_alv->get_display_settings( )->set_vertical_lines( abap_false ).
go_alv->get_columns( )->set_optimize( abap_true ).
go_alv->get_columns( )->set_key_fixation( abap_true ).
"ALV im FullScreen anzeigen
go_alv->display( ).
Leave a Reply