✒️ABAP Los reportes ALV
ABAP Los reportes ALV
Herramienta ABAP para crear reporte de manera eficaz, rápida y estandarizada. Significa ABAP List Viewer. Sus principales ventajas son:
* Simplifica el desarrollo de reportes, reduciendo el tiempo de programación.
* Proporciona a los reportes muchas funcionalidades estándar, como manipular resultados de clasificaciones, totalizaciones, filtros, orden por columna u ocultar columnas, así como para exportar resultados a Excel, a fichero local o archivos CSV, HTML, y demás.
* Ofrece una salida por pantalla estandarizada e uniforme.
Historia de reportes ALV
* La lista ABAP: La primera herramienta para la salida de datos en pantalla fue la denominada lista ABAP. Se usa con la sentencia WRITE. Este tipo de presentación es tradicional en los sistemas basados en mainframe, que resulta inconveniente para los usuarios. Ya que requiere mucho tiempo de escritura y permisos para modificación.
* ALV Lista: Ahora se ofrecen nuevas funcionalidades en la barra de herramientas, como clasificar, filtrar y subtotalizar. Podrían elegir que ver y en qué orden. Módulo de funciones: REUSE_ALV_LIST_DISPLAY
* ALV Grilla: Formato tabular similar a excel. REUSE_ALV Módulo de funciones: REUSE_ALV_GRID_DISPLAY. Permite un encabezado. Más estético. También permite editar campos.
* ALV Jerárquico: Dónde se muestran datos de cabecera y detalle. Módulo de funciones: REUSE_ALV_HIERSEQ_LIST_DISPLAY
* Framework ALV orientado a objetos: Lo que permitió presentar varios contenedores ALV en la misma pantalla. CL_GUI_ALV
* Framework SALV: Lo proporcionan clases de objetos que admite los formatos de tabla ALV, árbol ALV y lista secuencial jerárquica. CL_SALV
* ALV con IDA: IDA refiere a Integrated data access, es decir acceso a datos integrado. Aprovechando la funcionalidad de la BD de SAP HANA. CL_SALV_TABLE_IDA
Los tipos de ALV más comúnmente usados son estos 3:
* Grillas. * Listas. * Jerárquico.
Creación de un ALV mediante módulos
Paso 1: Declaraciones de tipos, estructuras y tablas internas propias del ALV
Se declara el tipo SLIS, que es un include que contiene todas las estructuras y tablas estándar necesarias para la creación de un ALV, se declara una tabla interna y una estructura para el catalogo ALV con tipo slis_t_fieldcat_alv y slis_fieldcat_alv y una última estructura para configurar la salida, tipo slis_layaout_alv, así:
TYPE-POOLS: slis.
ti_catalogo TYPE slis_t_fieldcat_alv,
wa_catalogo TYPE slis_fieldcat_alv,
wa_layout TYPE slis_layout_alv,
v_repid TYPE sy-repid
Paso 2: Declaración de la tabla interna de salida del ALV
Se declara la tabla interna de salida que se mostrará en ALV, así:
DATA: ti_usuarios TYPE STANDAR TABLE OF ztabla_usuarios,
wa_usuarios LIKE LINE OF ti_usuarios.
Paso 3: Selección de los datos que se mostrarán en ALV
Dentro del evento START-OF-SELECTION se crea la subrutina seleccionar_datos, así:
START-OF-SELECTION
PERFORM seleccionar_datos
Aquí se seleccionaran los registros de datos de la BD ztabla_usuarios que se mostrarán en la lista de salida y se almacenan en ti_usuarios, así:
FORM seleccionar_datos.
REFRESH ti_usuarios.
SELECT *
FROM ztabla_usuarios
INTO TABLE ti_usuarios.
ENDFORM
Paso 4: Armado del catálogo ALV
Dentro del evento START-OF-SELECTION se crea la subrutina armar_catalogo, así:
START-OF-SELECTION
PERFORM armar_catalogo
Existen propiedades del catálogo que se pueden configurar, para verlo se hace doble clic en el tipo slis_t_fieldcat_alv.
Paso 5: Configuración de la salida ALV
Dentro del evento START-OF-SELECTION se crea la subrutina configurar_layout, así:
START-OF-SELECTION
PERFORM configurar_layout
Existen propiedades del catálogo que se pueden configurar, para verlo se hace doble clic en el tipo slis_layout_alv.
Paso 6: Ejecución del módulo de funciones ALV
Se ejecuta el módulo de funciones ALV. Para ello dentro del evento START-OF-SELECTION se crea la subrutina ejecutar_alv, así:
START-OF-SELECTION
PERFORM ejecutar_alv.
Si es tipo grilla se ejecutará así:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = ti_catalogo [ ]
is_layout = wa_layout
TABLES
t_outtab = ti_usuarios
Si es tipo lista se ejecutará así:
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = ti_catalogo [ ]
is_layout = wa_layout
TABLES
t_outtab = ti_usuarios
 
 
 
Sobre el autor
Publicación académica de Linda Carolina Zambrano León, en su ámbito de estudios para la Carrera Consultor ABAP.
Linda Carolina Zambrano León
Profesión: Agente - Peru - Legajo: XR55P
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Linda Zambrano