ABAP
ABAP GRID List Viewer (ALV)
Ricerca…
Creazione e visualizzazione di un ALV
Questo esempio illustra la più semplice creazione di ALV utilizzando la classe cl_salv_table e senza ulteriori opzioni di formattazione. Ulteriori opzioni di formattazione sarebbero incluse dopo il blocco TRY ENDTRY e prima della chiamata al metodo alv->display( ) .
Tutti gli esempi successivi che utilizzano l'approccio Oggetti ABAP alla creazione di ALV utilizzeranno questo esempio come punto di partenza.
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( ).
Ottimizza larghezza colonna ALV
Questo esempio mostra come ottimizzare la larghezza della colonna in modo che le intestazioni di colonna e i dati non vengano troncati.
alv->get_columns( )->set_optimize( ).
Nascondi colonne in un ALV
Questo esempio nasconde il campo MANDT (client) MANDT . Si noti che il parametro passato a get_column( ) deve essere in maiuscolo affinché funzioni.
alv->get_columns( )->get_column( 'MANDT' )->set_visible( if_salv_c_bool_sap=>false ).
Rinominare le intestazioni delle colonne in un ALV
Il testo della colonna può cambiare sul ridimensionamento orizzontale di una colonna. Ci sono tre metodi per realizzare questo:
| Nome del metodo | Lunghezza massima della direzione |
|---|---|
set_short_text | 10 |
set_medium_text | 20 |
set_long_text | 40 |
L'esempio seguente mostra l'utilizzo di tutti e tre. Un oggetto column viene dichiarato e istanziato come riferimento al risultato di alv->get_columns( )->get_column( 'DISTID' ) . Il nome della colonna deve essere in lettere maiuscole. Questo è così che questo metodo di concatenamento viene chiamato una sola volta nella sua istanziazione, invece di essere eseguito ogni volta che viene modificata un'intestazione di colonna.
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)' ).
Abilita funzionalità barra degli strumenti ALV
La seguente chiamata di metodo consente l'utilizzo di molte funzionalità avanzate come l'ordinamento, il filtraggio e l'esportazione dei dati.
alv->get_functions( )->set_all( ).
Abilitazione di ogni altro rigo di riga in ALV
Questo metodo aumenta la leggibilità dando righe consecutive alternando l'ombreggiatura del colore di sfondo.
alv->get_display_settings( )->set_striped_pattern( if_salv_c_bool_sap=>true ).
Impostazione del titolo di un ALV visualizzato
Per impostazione predefinita, quando viene visualizzato un ALV, il titolo in alto è solo il nome del programma. Questo metodo consente all'utente di impostare un titolo di massimo 70 caratteri. L'esempio seguente mostra come è possibile impostare un titolo dinamico che mostri il numero di record visualizzati.
alv->get_display_settings( )->set_list_header( |Flight Schedule - { lines( t_spfli ) } records| ).