✒️ABAP Los reportes ALV
ABAP Los reportes ALV
¿Qué es un ALV?
NUEVO CONCEPTO: 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
AUDIO TIPS 1: Dado que los reportes ALV requieren de la interacción del usuario con el reporte ya que proporcionan muchísimas funcionalidades estándar que el usuario del reporte puede utilizar sin necesidad de ser programado, entonces no tiene el menor sentido la utilización de ALV'S en procesos que se ejecutarán de fondo en donde el usuario no podrá sacar provecho de dichas funcionalidades. Este punto es importante tenerlo en cuenta al momento de realizar la especificación o diseño técnico del reporte que es el momento en donde se piensan todos los aspectos y alcances del programa a crear.
Mi primer reporte ALVVamos 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.
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.
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.
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.
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.
SABIAS QUE... 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.
INFOTIPS: 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:
Si es lista:
AUDIO TIPS 2: Debemos tener en cuenta que por convención de ABAP colocaremos siempre a la derecha de la tabla interna del catálogo tanto en la función que genera la grilla, como en la que genera la lista una llave abierta y una llave cerrada.
Finalmente si ejecutamos el reporte veremos, si usamos la función para grillas:
Y si usamos la función para listas:
AUDIO TIPS 3: La principal diferencia entre el ALV GRILLA y el ALV LISTA se encuentra en la visualización la cual es bastante diferente entre ambas opciones. A su vez, el ALV GRILL Permite la generación de un encabezado en la parte superior del listado en el cual podemos colocar un logo con totales y subtotales lo cual no es posible con el ALV LIST. El ALV LIST genera una lista de visualización utilizando la sentencia RAID. Esto le da la misma apariencia o look and field de los llamados reportes clásicos. El ALV GRILL es más bonito visualmente y permite copiar y pegar columna en donde queramos, cuestión que no es posible con el ALV LIST. El ALV GRILL no se puede ejecutar de fondo por lo que el módulo de funciones traducirá automáticamente la salida en pantalla a ALV LIST y ejecutamos el reporte de fondo. El ALV GRILL utiliza controles ACTIVE X en el servidor en presentación por lo que consume más memoria en el servidor que el ALV LIST. Y por último el ALV LIST permite solo la visualización de los datos en cambio con el ALV GRILL podemos editar los registros con los campos si así lo deseamos.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Ixhel Lopez Valencia
Sobre el autor
Publicación académica de Vismark Eyner Sevillano Moreno, en su ámbito de estudios para la Carrera Consultor ABAP.
Vismark Eyner Sevillano Moreno
Profesión: Tecnologo en Sistemas - Colombia - Legajo: KN43C
✒️Autor de: 62 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Aprender todo lo relacionado con programación sap abap, para desenvolverme en el área laboral en el sector de programación abap.
Certificación Académica de Vismark Sevillano