Suche…


ALV erstellen und anzeigen

In diesem Beispiel wird die einfachste ALV-Erstellung mit der Klasse cl_salv_table und ohne zusätzliche Formatierungsoptionen dargestellt. Zusätzliche Formatierungsoptionen werden nach dem TRY ENDTRY Block und vor dem alv->display( ) Methode alv->display( ) .

Alle nachfolgenden Beispiele, die den ABAP Objects-Ansatz für die ALV-Erstellung verwenden, verwenden dieses Beispiel als Ausgangspunkt.

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

Optimieren Sie die ALV-Spaltenbreite

In diesem Beispiel wird veranschaulicht, wie die Spaltenbreite optimiert wird, damit Spaltenüberschriften und Daten nicht abgeschnitten werden.

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

Spalten in einem ALV ausblenden

In diesem Beispiel wird das MANDT Feld (Client) vor dem ALV MANDT . Beachten Sie, dass der an get_column( ) Parameter get_column( ) muss , damit dies funktioniert.

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

Umbenennen von Spaltenüberschriften in einem ALV

Der Spaltentext kann sich bei der horizontalen Größenänderung einer Spalte ändern. Dafür gibt es drei Methoden:

Methodenname Maximale Länge der Überschrift
set_short_text 10
set_medium_text 20
set_long_text 40

Das folgende Beispiel zeigt die Verwendung aller drei. Ein column deklariert wird und als Hinweis auf das Ergebnis der instantiierten alv->get_columns( )->get_column( 'DISTID' ) - alv->get_columns( )->get_column( 'DISTID' ) . Der Spaltenname muss aus Großbuchstaben bestehen. Dies ist so, dass diese Methodenverkettung nur einmal in ihrer Instanziierung aufgerufen wird, anstatt jedes Mal ausgeführt zu werden, wenn eine Spaltenüberschrift geändert wird.

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

Aktivieren Sie die ALV-Symbolleistenfunktionalität

Der folgende Methodenaufruf ermöglicht die Verwendung vieler erweiterter Funktionen wie Sortieren, Filtern und Exportieren von Daten.

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

Alle anderen Zeilenstreifen in ALV aktivieren

Diese Methode erhöht die Lesbarkeit, indem aufeinanderfolgende Zeilen abwechselnd die Hintergrundfarbschattierung anzeigen.

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

Titel eines angezeigten ALV einstellen

Wenn ein ALV angezeigt wird, ist der Titel ganz oben nur der Programmname. Mit dieser Methode kann der Benutzer einen Titel mit bis zu 70 Zeichen festlegen. Das folgende Beispiel zeigt, wie ein dynamischer Titel festgelegt werden kann, der die Anzahl der angezeigten Datensätze anzeigt.

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow