Zoeken…


Een ALV maken en weergeven

Dit voorbeeld toont de meest eenvoudige ALV-creatie met behulp van de klasse cl_salv_table en geen extra opmaakopties. Extra opmaakopties zouden worden opgenomen na het blok TRY ENDTRY en vóór de methode-aanroep alv->display( ) .

Alle volgende voorbeelden die de ABAP Objects-benadering voor het maken van ALV gebruiken, zullen dit voorbeeld als uitgangspunt gebruiken.

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

Optimaliseer de ALV-kolombreedte

Dit voorbeeld laat zien hoe de kolombreedte te optimaliseren, zodat kolomkoppen en gegevens niet worden afgekapt.

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

Kolommen verbergen in een ALV

In dit voorbeeld wordt het MANDT (client) verborgen voor de ALV. Merk op dat de parameter die wordt doorgegeven aan get_column( ) met een hoofdletter moet worden geschreven om dit te laten werken.

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

Wijzig de kolomkoppen in een ALV

De kolomtekst kan veranderen bij de horizontale grootte van een kolom. Er zijn drie methoden om dit te bereiken:

Methodenaam Maximale lengte van de koers
set_short_text 10
set_medium_text 20
set_long_text 40

Het volgende voorbeeld toont het gebruik van alle drie. Een column object wordt aangegeven en geïnstantieerd als een verwijzing naar het resultaat van alv->get_columns( )->get_column( 'DISTID' ) . De kolomnaam moet in hoofdletters worden vermeld. Dit is zo dat deze methode chaining slechts één keer wordt aangeroepen in plaats van te worden uitgevoerd in plaats van elke keer dat een kolomkop wordt gewijzigd.

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

ALV-werkbalkfunctionaliteit inschakelen

Met de volgende methode-aanroep kunnen veel geavanceerde functies worden gebruikt, zoals sorteren, filteren en exporteren van gegevens.

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

Elke andere rij striping inschakelen in ALV

Deze methode verhoogt de leesbaarheid door opeenvolgende rijen afwisselend achtergrondkleur te geven.

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

De titel van een weergegeven ALV instellen

Wanneer een ALV wordt weergegeven, is de titel bovenaan alleen de programmanaam. Met deze methode kan de gebruiker een titel van maximaal 70 tekens instellen. Het volgende voorbeeld laat zien hoe een dynamische titel kan worden ingesteld die het aantal weergegeven records weergeeft.

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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow