ABAP
Przeglądarka listy ABAP GRID (ALV)
Szukaj…
Tworzenie i wyświetlanie ALV
W tym przykładzie przedstawiono najprostsze tworzenie ALV przy użyciu klasy cl_salv_table i bez dodatkowych opcji formatowania. Dodatkowe opcje formatowania byłyby zawarte po bloku TRY ENDTRY i przed wywołaniem metody alv->display( ) .
Wszystkie kolejne przykłady wykorzystujące podejście ABAP Objects do tworzenia ALV wykorzystają ten przykład jako punkt wyjścia.
DATA: t_spfli TYPE STANDARD TABLE OF spfli,
alv TYPE REF TO cl_salv_table,
error_message TYPE REF TO cx_salv_msg.
" Fill the internal table with example data
SELECT * FROM spfli INTO TABLE t_spfli.
" Fill ALV object with data from the internal table
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = alv
CHANGING
t_table = t_spfli ).
CATCH cx_salv_msg INTO error_message.
" error handling
ENDTRY.
" Use the ALV object's display method to show the ALV on the screen
alv->display( ).
Zoptymalizuj szerokość kolumny ALV
Ten przykład pokazuje, jak zoptymalizować szerokość kolumny, aby nagłówki kolumn i dane nie zostały odcięte.
alv->get_columns( )->set_optimize( ).
Ukryj kolumny w ALV
Ten przykład ukrywa pole MANDT (klienta) przed ALV. Zauważ, że parametr przekazany do get_column( ) musi być pisany wielkimi literami, aby to zadziałało.
alv->get_columns( )->get_column( 'MANDT' )->set_visible( if_salv_c_bool_sap=>false ).
Zmień nazwę nagłówków kolumn w ALV
Tekst kolumny może ulec zmianie po zmianie rozmiaru kolumny w poziomie. Istnieją trzy metody osiągnięcia tego celu:
| Nazwa metody | Maksymalna długość kursu |
|---|---|
set_short_text | 10 |
set_medium_text | 20 |
set_long_text | 40 |
Poniższy przykład pokazuje użycie wszystkich trzech. Obiekt column jest deklarowany i tworzony jako instancja jako odwołanie do wyniku alv->get_columns( )->get_column( 'DISTID' ) . Nazwa kolumny musi być pisana wielkimi literami. Jest tak, że ten sposób łączenia łańcuchów jest wywoływany tylko raz w swojej instancji, zamiast wykonywania przy każdej zmianie nagłówka kolumny.
DATA column TYPE REF TO cl_salv_column.
column = alv->get_columns( )->get_column( 'DISTID' ).
column->set_short_text( 'Dist. Unit' ).
column->set_medium_text( 'Unit of Distance' ).
column->set_long_text( 'Mass Unit of Distance (kms, miles)' ).
Włącz funkcjonalność paska narzędzi ALV
Poniższe wywołanie metody umożliwia korzystanie z wielu zaawansowanych funkcji, takich jak sortowanie, filtrowanie i eksportowanie danych.
alv->get_functions( )->set_all( ).
Włączanie pasowania co drugi wiersz w ALV
Ta metoda zwiększa czytelność, dając kolejne rzędy na przemian cieniowanie koloru tła.
alv->get_display_settings( )->set_striped_pattern( if_salv_c_bool_sap=>true ).
Ustawianie tytułu wyświetlanego ALV
Domyślnie, gdy wyświetla się ALV, tytuł u góry to tylko nazwa programu. Ta metoda pozwala użytkownikowi ustawić tytuł o długości do 70 znaków. Poniższy przykład pokazuje, jak można ustawić tytuł dynamiczny, który wyświetla liczbę wyświetlanych rekordów.
alv->get_display_settings( )->set_list_header( |Flight Schedule - { lines( t_spfli ) } records| ).