Sök…


Skapa och visa en ALV

Det här exemplet skildrar den enklaste ALV-skapelsen med klassen cl_salv_table och inga ytterligare formateringsalternativ. Ytterligare formateringsalternativ skulle inkluderas efter TRY ENDTRY blocket och före alv->display( ) .

Alla efterföljande exempel som använder ABAP-objektmetoden för ALV-skapande kommer att använda detta exempel som utgångspunkt.

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

Optimera ALV-kolumnbredd

Detta exempel visar hur du optimerar kolumnbredden så att kolumnrubriker och data inte huggas av.

alv->get_columns( )->set_optimize( ).

Dölj kolumner i en ALV

Detta exempel döljer MANDT (klient) från ALV. Observera att parametern som skickas till get_column( ) måste aktiveras för att detta ska fungera.

alv->get_columns( )->get_column( 'MANDT' )->set_visible( if_salv_c_bool_sap=>false ).

Byt namn på kolumnrubriker i en ALV

Kolumntexten kan ändras vid horisontell storlek på en kolumn. Det finns tre metoder för att uppnå detta:

Metodnamn Maximal längd på rubriken
set_short_text 10
set_medium_text 20
set_long_text 40

Följande exempel visar användning av alla tre. Ett column deklareras och instanseras som en referens till resultatet av alv->get_columns( )->get_column( 'DISTID' ) . Kolumnnamnet måste vara med alla stora bokstäver. Detta är så att den här metodkedjan bara kallas en gång i sin inställning, istället för att köras varje gång en kolumnrubrik ändras.

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

Aktivera ALV-verktygsfältets funktionalitet

Följande metodsamtal möjliggör användning av många avancerade funktioner som sortering, filtrering och export av data.

alv->get_functions( )->set_all( ).

Aktivera alla andra rader i ALV

Denna metod ökar läsbarheten genom att ge rader i rad som växlar bakgrundsfärgskuggning.

alv->get_display_settings( )->set_striped_pattern( if_salv_c_bool_sap=>true ).

Ställa in titeln på en visad ALV

När en ALV visas är titeln överst bara programnamnet. Med denna metod kan användaren ställa in en titel på upp till 70 tecken. Följande exempel visar hur en dynamisk titel kan ställas in som visar antalet poster som visas.

alv->get_display_settings( )->set_list_header( |Flight Schedule - { lines( t_spfli ) } records| ).


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow