✒️ABAP El ALV jerárquico y el agrupamiento
ABAP El ALV jerárquico y el agrupamiento
Apuntes ING Ezequiel Hurtado Benitez
Agrupamiento de un ALV, para ello debemos declarar la tabla interna TI_SORT del tipo SLIS_T_SORTINFO_ALV y la estructura WA_SORT del tipo SLIS_SORTINFO_ALV. Luego dentro del evento START-OF-SELECTION y antes de llamar al módulo de funciones que ejecuta el reporte ALV vamos a declarar la subrutina AGRUPAR_CAMPOS. Y dentro de la subrutina AGRUPER_CAMPOS vamos a cargar la tabla interna TI_SORT con los registros en el orden en el que deseamos agrupar. ( Podemos agrupar un reporte ALV por tantos campos como tenga la tabla interna de salida de ALV, solo basta con agregar los campos por los que deseamos agrupar en la tabla interna TI_SORT). Ahora en la declaración del módulo de funciones REUSE_ALV_GRID_DISPLAY debemos completar el parámetro EXPORTING IT_SORT con nuestra tabla interna TI_SORT. Y hacemos los mismo en la declaración del módulo de funciones REUSE_ALV_LIST_DISPLAY para el ALV lista. Finalmente si ejecutamos el reporte ALV y seleccionamos el ALV grilla veremos la agrupación por el campo Estado civil. Y si ejecutamos el reporte ALV y seleccionamos el ALV lista veremos que el reporte no se muestra agrupado por el campo Estado civil tal como si sucede con el ALV grilla.
El ALV jerárquico a continuación aremos un paso a paso para crear un ALV jerárquico, creamos un reporte ALV jerárquico que muestre la información de las compañías aéreas y la información de los vuelos de cada compañía aérea. Declaramos la tabla interna TI_CABECERA la cual tiene como campos la Denominación breve de la compañía aérea (CARRID) y el Nombre de una compañía aérea ( CARRIDNAME). Y por otro lado vamos a declarar la tabla interna TI_DETALLE la cual hace una Denominación breve de la compañía aérea (CARRID) y luego tiene otros campos relativos a un vuelo. En este caso el campo común entre ambas tablas internas es el CARRID que es la Denominación breve de la compañía aérea. ( dado que vamos a generar el catálogo del ALV jerárquico en forma automática entonces la declaración de ambas tablas internas la realizamos utilizando la sentencia OCCURS). Luego debemos declarar la estructura del tipo SLIS_KEYINFO_ALV, que será WA_KEYINFO y contendrá el campo clave que une a las dos tablas. Ahora vamos a cargar las tablas internas de cabecera y detalle y para ello dentro del evento START-OF-SELECTION declaramos la subrutina CARGAR_DATOS. Y dentro de la subrutina CARGA_DATOS completamos las tablas internas TI_CABECERA y TI_DETALLE con juegos de datos para la compañía aérea ARG. Y también dentro de la subrutina CARGAR_DATOS completamos las tablas internas TI_CABECERA y TI_DETALLE con juegos de datos para la compañía aérea LAN. ( En lugar de cargar manualmente los registros de ambas tablas podríamos realizar un SELECT a las tablas bases de datos correspondientes para obtener la información). Luego dentro del evento START-OF-SELECTION declaramos la subrutina CONFIGURAR_LAYOUT. Y dentro de la subrutina CONFIGURAR_LAYOUT vamos a configurar dos propiedades que son el rayado de línea y la asignación del título Reporte de vuelos. Luego creamos el catálogo del ALV para ambas tablas internas y para ello declaramos la subrutina ARMADO_CATALOGO_AUTOMATICO. Y dentro de la subrutina ARMADO_CATALOGO_AUTOMATICO ejecutamos el módulo de funciones REUSE_ALV_FIELDCATALOGO_MERGE para generar el catálogo en forma automática sumando los campos de ambas tablas internas en la tabla interna TI_CATALOGO. Ahora tenemos que completar la estructura WA_KEYINFO que contiene la información que vincula a ambas tablas internas y para ello declaramos la subrutina DETERMINAR_ASOCIACION. Y dentro de la subrutina DETERMINAR_ASOCIACION vamos a completar los campos HEADER01 e ITEM01 con el campo de la tabla TI_CABECERA que hace parte de vínculo con la tabla interna TI_DETALLE. Por último, declaramos la subrutina EJECUTAR_ALV_JERARQUICO para ejecutar el ALV. y dentro de la subrutina vamos a ejecutar el módulo de funciones REUSE_ALV_HIERSEQ_LIST_DISPLAY para generar el reporte ALV.
 
 
 
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