1|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.
Principales Ventajas son:
- Simplifican el desarrollo de reportes.
- Proporcionan a nuestros reportes mucha funcionalidad estándar.
- Proporcionan una salida por pantalla estandarizada y uniforme.
La creación de un reporte ALV, se basa en la utilizacion de funciones.
Los tipos de ALV más usados son 3: Grillas, Listas y Jerárquico.
Las Grillas y las Listas pueden ser utilizados en cualquier reporte,
El Jerárquico solo en los casos donde se muestran datos de cabecera y de detalle.
A cada tipo de ALV le corresponde una funcion:
- Grillas : REUSE_ALV_GRID_DISPLAY
- Listas : REUSE_ALV_LIST_DISPLAY
- Jerárquico : REUSE_ALV_HIERSEQ_LIST_DISPLAY.
2|Mi primer reporte ALV
- Paso 1ero.: Declaraciones de tipos, estructuras y tablas propias del ALV
Declaramos el tipo SLIS
TYPE-POOLS: slis
Declaramos tabla y 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 es SLIS_LAYOUT_ALV
Variable SY-REPID para almacenar el nombre del programa.
- Paso 2do. : Declaración de la tabla de salida del ALV
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.
Se seleccionan los datos de la tabla ZTABLA_USUARIOS, y los guardamos en la creada 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.
Existen muchas propiedades del catálogo que se pueden configurar según lo que necesitemos mostrar en el listado à Hacer doble clic sobre 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. Existen muchas opciones para configurar el layout de un reporte ALV à Hacer doble clic sobre el tipo SLIS_LAYOUT_ALV.
- Paso 6to. : Ejecución de la función del ALV
Si queremos un reporte de tipo grilla, ejecutamos la función REUSE_ALV_GRID_DISPLAY.
Si queremos uno de tipo lista, REUSE_ALV_LIST_DISPLAY.
NOTA: Debemos tener en cuenta que por convención de ABAP colocaremos siempre a la derecha de la tabla interna de catálogo, tanto en la función que genera el Grid como en la que genera la lista, un corchete abierto y un corchete cerrado. "[]"
NOTA: La principal diferencia entre el ALV Grid y el ALV Lista se encuentra en la visualización,
la cual es bastante diferente entre ambas opciones. A su vez el ALV Grid 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 Lista. El ALV Lista genera una lista de visualización utilizando la sentencia "Write". Esto le da la misma apariencia o look-and-feel que los llamados reportes básicos.
El ALV Grid es más bonito visualmente y permite copiar y pegar columnas en donde queramos, cuestión que no es posible con el ALV Lista. El ALV Grid no se puede ejecutar de fondo, por lo que el módulo de funciones "reuse-alv" traduce automáticamente la salida en pantalla a ALV List si ejecutamos el reporte de fondo. El ALV Grid utiliza controles active-x en el servidor de presentación, por lo que consume más memoria en el servidor que la ALV List. Y por último, el ALV List permite únicamente la visualización de los datos, en cambio con la ALV Grid podemos editar los registros o los campos si así lo deseamos.