ALV(ABAP List Vierwer): Tipo de reporte especifico de ABAP donde el sistema nos proporciona una gran cantidad de funcionalidades para agregar a nuestro reporte, tal como la impresion, enviar a excel, ordenar, clasificar, etc.
Los tipos de ALV más utilizados son:
- Grillas
- Listas
- Jerárquico
Las grillas son reportes que estan encuadrados en tablas.
Las listas es un tipo de reporte similar a cuando se muestran los datos con write, pero con una serie de boton de comando.
El jerarquico es un listado cabecera/detalle, como por ejemplo una factura y sus posiciones.
Es una herramienta exclusiva de ABAP, que se utiliza para crear reportes de manera eficaz, rápida y estandarizada.
Ventajas:
· Simplifican el desarrollo de reportes, reduciendo tiempos de programación.
· Proporcionan a nuestros reportes funcionalidad estándar.
· Proporcionan una salida por pantalla estandarizada y uniforme.
Funciones usadas por tipo de reporte:
Grillas -> REUSE_ALV_GRID_DISPLAY.
Listas -> REUSE_ALV_LIST_DISPLAY.
Geraquico -> REUSE_ALV_HIERSEQ_LIST_DISPLAY.
PASOS PARA LA CREACION DE REPORTES ALV.
1. Declaracion de de tipos, estruicturas y tablas propias de ALV.
ü Declaramos el tipo SLIS(Grupo de tipos que contiene la declaración de todas las estructuras y tablas estándar necesarias para la creación de un reporte ALV).
Ejem: TYPE-POOLS: slis.
ü Declarar una tabla y estructura para el catalago del ALV que son del tipo SLIS_T_FIELDCAT_ALV y SLIS_FIELDCAT_ALV, otra estructura para la configuración de salida tipo SLIS_LAYOUT_ALV y una variable del tipo SY-REPID, para almacenar el nombre del programa.
Definiciones:
· SLIS_T_FIELDCAT_ALV: Tabla estándar de SAP que es el tipo de datos del catálogo de un ALV.
· SLIS_FIELDCAT_ALV: Estructura estándar SAP que es el tipo de datos de la estructura del catálogo de un reporte ALV.
· SLIS_LAYOUT_ALV: Estructura estándar SAP que representa la configuración de la salida de un reporte ALV.
· SY-REPID: Variable del sistema que contiene el nombre del programa en ejecución.
2. Declaracion de la tabla de salida del ALV.
ü Declarar la tabla de salida.
3. Selección de datos que se mostraran en el ALV.
ü Seleccionamos la tabla de usuarios, que mostraremos en el listado de salida y los guardamos en la tabla interna TI_USUARIOS.
4. Armado del catalogo del AVL.
Armamos el catalogo con loscampos que serán las columnas de nuestro reporte. Se completan por cada columna los siguientes campos:
armamos estructura
CLEAR st_catalogo.
st_catalogo-fieldname = 'DNI'. "nombre del campo
st_catalogo-tabname = 'TI_USUARIOS'. "nombre Tabla
st_catalogo-seltext_s = 'DNI. "descipcion corta cabezera
st_catalogo-seltext_m = 'DNI'. "descr media cabezera
st_catalogo-seltext_l = 'DNI'. "descr larga cabezera
st_catalogo-outputlen = 15. "ancho de columna.
st-catalogo-just ='L'. "alineación
APPEND st_catalogo TO ti_catalogo.
5. Configuracion de la salida del ALV.
Cargamos con valores la estructura ST_LAYOUT para configurar ciertos aspectos de la salida del ALV.
6. Ejecucion de la función del ALV.
Si queremos un reporte tipo grilla ejecutamos la función REUSE_ALV_GRID_DISPLAY. Si queremos reporte tipo lista, ejecutamos la función REUSE_ALV_LIST_DISPLAY.
Si es grid:
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_GRID_DISPLAY'
EXPORTING
i_callback_program =v_repid
it_fieldcat =ti_catalogo[]
is_layout =st_layout
TABLES
t_outtab =ti_usuarios.