miércoles, 20 de noviembre de 2013

Añadir patrón de rayas y tamaño de columna optimizado en un ALV Report (IS_LAYOUT)

Si se desea mostrar el patrón rayado y tener el ancho de columna optimizado, se tiene que recurrir a la variable IS_LAYOUT del ALV. En este caso para activar dichas opciones, sólo hay que cambiar el valor de dos variables con una X.

En este ejemplo se muestran los cuatro primeros campos de la tabla SFLIGHT.

REPORT  z_sflight.

* Cargar la tabla SFLIGHT de la base de datos
TABLES: sflight.

* Cargamos los datos tipo slis
TYPES: slis.

* Definición de variables
DATA: g_it_sflight TYPE TABLE OF sflight,
      g_st_sflight TYPE sflight.

DATA: g_it_fieldcat TYPE slis_t_fieldcat_alv,
      g_st_fieldcat TYPE slis_fieldcat_alv.

Data: g_st_layout type slis_layout_alv.

* SQL para copiar la tabla sflight a la tabla interna
SELECT * FROM sflight INTO TABLE g_it_sflight.

* Datos del is_layout para el ALV
g_st_layout-zebra = 'X'.
g_st_layout-colwidth_optimize = 'X'.

* Datos del fieldcat para el ALV
g_st_fieldcat-fieldname = 'CARRID'.
g_st_fieldcat-seltext_s = 'Comp.'.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'CONNID'.
g_st_fieldcat-seltext_s = 'Vuelo'.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'FLDATE'.
g_st_fieldcat-seltext_s = 'Fecha'.
APPEND g_st_fieldcat TO g_it_fieldcat.

g_st_fieldcat-fieldname = 'PRICE'.
g_st_fieldcat-seltext_s = 'Tarifa'.
APPEND g_st_fieldcat TO g_it_fieldcat.

* Función ALV
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    is_layout     = g_st_layout
    it_fieldcat   = g_it_fieldcat[]

  TABLES
    t_outtab      = g_it_sflight[]
  EXCEPTIONS
    program_error = 1
    OTHERS        = 2.

Patrón rayado y ancho de columna optimizado en un ALV.

1 comentario :

  1. Muchasssss Gracias!
    Me ha sido de gran ayuda, he aprendido mucho con el tutorial y me ha salido conforme el ejemplo.

    ResponderEliminar