✒️ABAP El ALV jerárquico y el agrupamiento
ABAP El ALV jerárquico y el agrupamiento
Podemos agrupar los registros que mostramos en un reporte ALV de modo que varios registros que presentan el mismo valor para un campo en particular, se muestren de forma agrupada por ese campo.
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
odemos agrupar un reporte ALV por tantos campos tenga la tabla interna de salida del 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.
2 | El ALV jerárquicoComo dijimos anteriormente, los ALV jerárquicos se utilizan cuando tenemos que mostrar en un reporte, datos de cabecera y de posición, es decir que para ello en las declaraciones de las tablas internas de cabecera y de posiciones, debe haber como mínimo un campo en común entre ambos.
Veamos a continuación un ejemplo del paso a paso que debemos llevar a cabo para crear un ALV jerárquico. Para ello crearemos un reporte ALV jerarquico que muestre la información de las compañías aéreas y la información de los vuelos de cada compañía aérea.
Lo primero que vamos a hacer es declarar 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 (CARRNAME).
Y por otro lado vamos a declarar la tabla interna TI_DETALLE la cual tiene como primer campo a la 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 una estructura del tipo SLIS_KEYINFO_ALV, que será WA_KEYINFO y contendrá el campo clave que une a las dos tablas internas.
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 CARGAR_DATOS completamos las tablas internas TI_CABECERA y TI_DETALLE con juegos de datos para la compañía aérea ARG.
En lugar de cargar manualmente los registros de ambas tablas internas podríamos realizar un SELECT a las tablas bases de datos correspondientes para obtener la información.
 
 
 
Sobre el autor
Publicación académica de Pedro Antonio Duarte, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Antonio Duarte
Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Pedro Duarte