✒️ABAP Los reportes ALV
ABAP Los reportes ALV
¿Qué es un ALV?
ALV (ABAP List Viewer)
Es una herramienta exclusiva de ABAP, que se utiliza para crear reportes de manera eficaz, rápida y estandarizada.
Las principales ventajas de los reportes ALV son:
Simplifican el desarrollo de reportes, por lo tanto se reducen los tiempos de programación
Proporcionan a nuestros reportes un montón de funcionalidad estándar
Proporcionan una salida por pantalla estandarizada e uniforme
La creación de un Reporte ALV, se basa en la utilización de funciones.
Los tipos de ALV más comúnmente usados son tres: Grillas, Listas y Jerárquico.
Las Grillas y las Listas pueden utilizarse en cualquier reporte, pero el Jerárquico se utiliza sólo en los casos donde se muestran
datos de cabecera y de detalle, como por ejemplo números de factura y detalles o Aerolíneas y vuelos.
A cada tipo de ALV le corresponde una función diferente. Ellas son:
Grillas -> REUSE_ALV_GRID_DISPLAY
Listas -> REUSE_ALV_LIST_DISPLAY
Jerárquico -> REUSE_ALV_HIERSEQ_LIST_DISPLAY
Mi primer reporte ALV
Vamos a crear nuestro primer reporte ALV. Para esto seguiremos los siguientes pasos:
PASO 1ero. : Declaraciones de tipos, estructuras y tablas propias del ALV
Dentro de este paso, declaramos el tipo SLIS, que es necesario para la utilización de reportes ALV.
TYPE-POOLS: slis.
También declaramos una tabla y una estructura para el catálogo del ALV que son del tipo
SLIS_T_FIELDCAT_ALV y SLIS_FIELDCAT_ALV, otra estructura para la configuración de la salida que es del tipo SLIS_LAYOUT_ALV
y una variable del tipo SY-REPID, para almacenar el nombre del programa.
DATA: ti_catalogo TYPE slis_t_fieldcat_alv,
st_catalogo TYPE slis_fieldcat_alv,
st_layout TYPE slis_layout_alv,
v_repid LIKE sy-repid.
PASO 2do. : Declaración de la tabla de salida del ALV
Vamos a declarar la tabla de salida TI_USUARIOS que se mostrará en el ALV.
DATA: ti_usuarios TYPE STANDARD TABLE OF zoqs36a_usuarios,
st_usuarios LIKE LINE OF ti_usuarios.
PASO 3ero. : Selección de los datos que se mostrarán en el ALV
Ahora seleccionamos los datos de la tabla ZTABLA_USUARIOS, que mostraremos en el listado de salida
y los guardamos en la tabla interna TI_USUARIOS.
SELECT dni nombre_ape estado_usu direccion codigo_postal
fecha_nac estado_civil
FROM zoqs36a_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios.
PASO 4to. : Armado del catálogo del ALV
Armamos el catálogo del ALV con los campos que serán las columnas de nuestro reporte.
Para ello, completaremos para cada columna del listado, los siguientes campos pertenecientes a la tabla del catálogo.
CLEAR st_catalogo.
st_catalogo-fieldname = 'DNI'. "Nombre del campo
st_catalogo-tabname = 'TI_USUARIOS'. "Nombre de la tabla
st_catalogo-seltext_s = 'DNI'. "Descripcion corta cabecera
st_catalogo-seltext_m = 'DNI'. "Descripcion media cabedera
st_catalogo-seltext_l = 'DNI'. "Descripcion larga cabedera
st_catalogo-outputlen = 10. "Ancho de la columna.
st_catalogo-just = 'R'. "Alineacion
APPEND st_catalogo TO ti_catalogo.
Existen muchísimas más propiedades del catálogo que se pueden configurar según lo que necesitemos mostrar en el listado.
Para más información, hacer doble clic en el tipo SLIS_T_FIELDCAT_ALV.
PASO 5to. : Configuración de la salida del ALV
Vamos a cargar con valores la estructura ST_LAYOUT para configurar ciertos aspectos de la salida del ALV.
CLEAR st_layout.
st_layout-window_titlebar = text-001. "Titulo Ventana Principal.
Existen muchas más opciones a configurar en el layout de un reporte ALV.
Para más información, hacer doble clic en el tipo SLIS_LAYOUT_ALV.
PASO 6to. : Ejecución de la función del ALV
Por último, lo que nos queda es la ejecución de la función del ALV. Si queremos un reporte tipo grilla,
ejecutaremos la función REUSE_ALV_GRID_DISPLAY.
Si queremos un reporte tipo lista, ejecutaremos la función REUSE_ALV_LIST_DISPLAY.
Ambas funciones se completan de la misma manera. Como dijimos anteriormente, los ALV jerárquicos se utilizan para
cuando tenemos que mostrar datos de cabecera y detalle, por lo tanto no es aplicable para este ejemplo.
Si es grilla:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = ti_catalogo[]
is_layout = st_layout
TABLES
t_outtab = ti_usuarios.
Si es lista:
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = ti_catalogo[]
is_layout = st_layout
TABLES
t_outtab = ti_usuarios.
Finalmente si ejecutamos el reporte con la opcion de grillas o listas:
 
 
 
Sobre el autor
Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.
Alex Francisco Lemos Collazos
Profesión: Ingeniero en Sistemas - Colombia - Legajo: QS36A
✒️Autor de: 174 Publicaciones Académicas
🎓Cursando Actualmente: Master S/4HANA Material Management
🎓Egresado de los módulos:
- Máster Material Management en SAP S/4HANA LOGISTIC
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Inicial