![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los reportes ALV
ABAP Los reportes ALV
![ABAP Los reportes ALV ABAP Los reportes ALV](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/286.jpg)
Apuntes ING Ezequiel Hurtado Benitez
ALV: Es una herramienta exclusiva de ABAP, que se utiliza para crear reportes de manera eficaz, rápida y estandarizada. Sus siglas significan ABAP List Viewer. Sus principales ventajas son: Simplifican el desarrollo de reportes, por lo tanto se reducen los tiempos de programación. Proporcionan a los reportes muchas funcionalidades estándar. Entre las funciones integradas para manipular resultados encontramos opciones como: la clasificación, obtener totales, aplicar, aplicar filtros, el ordenamiento por columnas o la posibilidad de ocultar columnas y también funciones para exportar los resultados en Micosoft Excel, a un fichero local, a archivos CSV, en formato HTML, entre otras funciones más. Proporcionan una salida por pantalla estandarizada e uniforme.
Actualmente si deseamos crear un reporte podemos utilizar cualquiera de las opciones que describimos anteriormente. Si bien la Lista ABAP, es decir los reportes que se crean mediante la sentencia WRITE presentan muchas complicaciones y limitaciones, la realidad es que se los continúa utilizando ya que en determinados casos son útiles. Respecto de los reportes ALV, actualmente podemos utilizar cualquiera de las opciones que describimos, es decir podemos crear un ALV utilizando los módulos de funciones REUSE_ALV, la orientación a objetos con las clases CL_GUI_ALV o la orientación a objetos con las clases CL_SALV. Solo si disponemos de SAP HANA como base de datos entonces tenemos la posibilidad de implementar ALV con IDA.
La creación de un ALV mediante módulos de funciones. Los tipos de ALV más comunes son: Grilla, Lista 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 los números de facturas y los detalles o las aerolíneas y los vuelos. Ahora bien cada tipo de ALV le corresponde un módulo de funciones diferentes. Para las grillas utilizamos el módulo de funciones --> REUSE_ALV_GRID_DIPLAY. Para las listas utilizamos el módulo de funciones --> REUSE_ALV_LIST_DISPLAY. Para el jerárquico utilizamos el módulo de funciones --> ROUSE_ALV_HIERSEQ_LIST_DISPLAY.
Mi primer reporte ALV.
Paso 1: Las declaraciones de tipos, estructuras y tablas internas propias del ALV, dentro de este paso, declaramos el tipo SLIS, que es necesario para la utilización de reportes ALV. También declaramos una tabla interna 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.
Paso 2: La declaración de la tabla interna de salida del ALV, Vamos a declarar la tabla interna de salida TI_USUARIOS que se mostrará em el ALV.
Paso 3: La selección de los datos que se mostrarán en el ALV. Dentro del evento START-OF-SELECTION vamos a crear la subrutina SELECCIONAR_DATOS. Esta subrutina selecciona los registros de datos de la tabla base de datos ZTABLA_USUARIOS que mostraremos en el listado de salida y los almacenes en la tabla interna TI_USUARIOS.
Paso 4: El armado del catálogo del ALV, También dentro del evento STAR-OF-SELECTION vamos a crear la subrutina ARMAR_CATALOGO en donde armamos el catálogo del ALV con los campos que serán las columnas del reporte. Para ello, completaremos para cada columna del listado, los siguientes campos pertenecientes a la tabla interna del catálogo. Existen muchísimas más propiedades del catálogo que se pueden configurar según lo que necesitamos mostrar en la lista. Para más información debemos hacer doble clic en el tipo SLIS_T_FIELDCAT_ALV.
Paso 5: La configuración de la salida del ALV También dentro del evento START-OF-SELECTION vamos a crear la subrutina CONFIGURAR_LAYOUT en donde configuramos ciertos aspectos de la salida del ALV. Para ello vamos a completar con valores la estructura WA_LAYOUT. Existen muchas mas opciones en el layout de un reporte ALV. Para más información debemos hacer doble clic en el tiempo SLIS_LAYOUT_ALV.
Paso 6: La ejecución del modulo de funciones del ALV, Por último, lo que nos queda es la ejecución del módulo del ALV. Si queremos un reporte tipo grilla, ejecutaremos el módulo REUSE_ALV_GRID_DISPLAY. Si queremos un reporte tipo lista, ejecutaremos el módulo REUSE_ALV_LIST_DISPLAY. Ambos módulos de 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 detalles, por lo tanto no es aplicable para este ejemplo. Para ello, también dentro del evento START-OF-SELECTION vamos a crear la subrutina EJECUTAR_ALV. Si es grilla ejecutaremos el módulo de funciones REUSE_ALV_GRID_DISPLAY. Y si es lista ejecutaremos el módulo de funciones REUSE_ALV_LIST_DISPLAY. Finalmente si ejecutamos el reporte veremos los campos divididos en casillas si utilizamos la función grilla.
 
 
 
Sobre el autor
Publicación académica de Ezequiel Hurtado Benitez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ezequiel Hurtado Benitez
Profesión: Ingeniero Mecatrónico - Colombia - Legajo: FD18B
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero mecatrónico bilingüe con maestría en dirección de ventas y marketing empresarial, con conocimientos y experiencia en programación, diseño, elaboración y pruebas en proyectos de automatizació
Certificación Académica de Ezequiel Hurtado