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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow