ABAP
ABAP GRID List Viewer (ALV)
Buscar..
Creación y visualización de un ALV
Este ejemplo muestra la creación ALV más simple utilizando la clase cl_salv_table y sin opciones de formato adicionales. Se incluirían opciones de formato adicionales después del bloque TRY ENDTRY y antes de la llamada del método alv->display( ) .
Todos los ejemplos posteriores que utilicen el enfoque de Objetos ABAP para la creación de ALV utilizarán este ejemplo como punto de partida.
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( ).
Optimizar el ancho de columna ALV
Este ejemplo muestra cómo optimizar el ancho de columna para que los encabezados de columna y los datos no se recorten.
alv->get_columns( )->set_optimize( ).
Ocultar columnas en un ALV
Este ejemplo oculta el campo MANDT (cliente) de la ALV. Tenga en cuenta que el parámetro pasado a get_column( ) debe estar en mayúsculas para que esto funcione.
alv->get_columns( )->get_column( 'MANDT' )->set_visible( if_salv_c_bool_sap=>false ).
Cambiar el nombre de los encabezados de columna en un ALV
El texto de la columna puede cambiar al cambiar el tamaño horizontal de una columna. Hay tres métodos para lograr esto:
| Nombre del método | Longitud máxima de la partida |
|---|---|
set_short_text | 10 |
set_medium_text | 20 |
set_long_text | 40 |
El siguiente ejemplo muestra el uso de los tres. Un objeto de column se declara y crea una instancia como referencia al resultado de alv->get_columns( )->get_column( 'DISTID' ) . El nombre de la columna debe estar en mayúsculas. Esto es así para que este método de encadenamiento solo se llame una vez en su instanciación, en lugar de ejecutarse cada vez que se cambie un encabezado de columna.
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)' ).
Habilitar la funcionalidad de la barra de herramientas ALV
El siguiente método de llamada permite el uso de muchas funciones avanzadas, como la clasificación, el filtrado y la exportación de datos.
alv->get_functions( )->set_all( ).
Habilitación de la separación de filas en ALV
Este método aumenta la legibilidad al dar filas consecutivas que alternan el sombreado del color de fondo.
alv->get_display_settings( )->set_striped_pattern( if_salv_c_bool_sap=>true ).
Configuración del título de un ALV mostrado
De forma predeterminada, cuando se muestra un ALV, el título en la parte superior es solo el nombre del programa. Este método permite al usuario establecer un título de hasta 70 caracteres. El siguiente ejemplo muestra cómo se puede establecer un título dinámico que muestra el número de registros mostrados.
alv->get_display_settings( )->set_list_header( |Flight Schedule - { lines( t_spfli ) } records| ).