
1. ¿Que es un ALV?
ALV: (ABAP List Viewer): herramienta exclusiva de ABAP, se usa para crear reportes de manera eficaz, rápida y estandarizada.
Ventajas:
- Simplifican el desarrollo de reportes, se reducen los tiempos de programación.
- Proporcionan a nuestros reportes funcionalidad estándar.
- Proporcionan salida por pantalla estandarizada e informe.
La creación se basa en la utilización de funciones.
Los tipos de ALV son:
- Grillas: pueden usarse en cualquier reporte. REUSE_ALV_GRID_DISPLAY.
- Listas: pueden usarse en cualquier reporte. REUSE_ALV_LIST_DISPLAY.
- Jerárquico: se usa solo en casos donde muestran cabecera y de detalle. REUSE_ALV_HIERSEQ_LIST_DISPLAY.
**ALV requieren la interacción del usuario con el reporte, no tiene sentido que se use ALV en procesos que se ejecuten de fondo, donde el usuario no sacará provecho.
**Es importante al momento de realizar la especificación del reporte, es el momento donde se ve todos los aspectos y alcances del programa a crear.
2. Mi primer reporte ALV
- Primero: Declaraciones de tipos, estructuras y tablas propias del ALV.
* Declaramos el tipo SLIL, es para la utilización de reportes ALV.
* Declaramos una tabla y una estructura para el catálogo del ALV, de tipo SLIS_T_FIELDCAT_ALV y SLIL_FIELDCAT_ALV, otra estructura de configuración de la salida y una variable del tipo SY-REPID para almacenar el programa.
- Segundo: Declaración de la tabla de salida del ALV.
* Declaramos la tabla de salida.
- Tercero: Selección de los datos que se mostraran en el ALV.
* Ahora seleccionamos la tabla que mostraremos en el listado de salida y lo guardamos en una tabla interna.
- Cuarto: Armado del catálogo del ALV.
* Armamos el catálogo ALV, con los campos que serán las columnas de nuestro reporte.
** Hay más catálogos que se pueden configurar según lo que se requiera mostrar en el listado. Para más información se debe hacer doble clic en SLIL_T_FIELDCAT_ALV.
- Quinto: Configuración de la salida del ALV.
* Cargamos los valores de estructura ST_LAYOUT, para configurar ciertos aspectos de salida del ALV.
** Hay más opciones a configurar en el layout de un reporte ALV. Para más información se debe hacer doble clic en SLIS_LAYOUT_ALV.
- Sexto: Ejecución de la función del ALV.
* Ejecutamos la función del ALV. Si deseamos un reporte tipo grilla, ejecutamos la función REUSE_ALV_GRID_DISPLAY. Si queremos tipo lista, ejecutamos la función REUSE_ALV_LIST_DISPLAY. Ambas funciones se completan de la misma manera.
* Los ALV se usan para mostrar datos de cabecera y detalle.
**Por convención de abap siempre colocaremos a la derecha de la tabla interna del catálogo tanto en la función grilla o la lista una llave abierta y una llave cerrada.
**Diferencia entre la grilla y la lista: es en la visualización ya que son bastantes diferentes.
Grill: genera encabezado en la parte superior del listado, podemos poner un logo con totales y sub totales. Es más bonito, se puede pegar columnas. No se puede ejecutar de fondo. Usa controles active x en el servidor de presentación, por eso consume más memoria en el servidor. Se pueden editar los registros o los campos.
List: genera una lista de visualización usando la sentencia write. Permite visualizar datos.