
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 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( ). |

Teil mir was mit