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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow