✒️ABAP El ALV jerárquico y el agrupamiento
ABAP El ALV jerárquico y el agrupamiento
EL ALV jeràrquico y el agrupamiento
El agrupamiento en un ALV
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 ellos 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 AGRUPAR_CAMPOS vamos a cargar la tabla interna TI_SORT con los registros en el orden que deseamos agrupar.
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 lo mismo en la declaración del módulo de funciones REUSE_ALV_LIST_DISPLAY para el ALV Lista.
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
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.
Paso a paso a llevar a cabo para crear un ALV jerárquico. Debemos crear un reporte ALV jerárquico que muestre la información de las compañias aéreas y la información de los vuelos de cada compañía aérea.
1. Declaramos la tabla interna TI_CABECERA, la cual tiene como campos la Denominación breve de la compañia aérea (CARRID) y el Nombre de una compañia aérea (CARRNAME).
2. 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.
3. 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.
4. Ahora cargaremos las tablas internas de cabecera y detalle y para ello dentro del evento START_OF_SELECTION declaramos la subrutina CARGAR_DATOS.
5. 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, y también dentro de la misma subrutina completamos las tablas internas TI_CABECERA y TI_DETALLE con juegos de datos para la compañía aérea LAN.
6. Luego dentro del evento START_OF_SELECTION declaramos la subrutina CONFIGURAR_LAYOUT.
7. Y dentro de la subrutina CONFIGURAR_LAYOUT configuraremos dos propiedades que son el rayado de líneas y la asignación del título Reporte de vuelos.
8. Luego crearemos el catálogo del ALV para ambas tablas internas y para ello declaramos la subrutina ARMADO_CATALOGO_AUTOMATICO.
9. Dentro de la subrutina ARMADO_CATALOGO_AUTOMATICO ejecutamos el módulo de funciones REUSE_ALV_FIELDCATALOG_MERGE para generar el catálogo en forma automática sumando los campos de ambas tablas internas en la tabla interna TI_CATALOGO.
10. Completar luego la estructura WA_KEYINFO que contiene la información que vincula a ambas tablas internas y para ello declaramos la subrutina DETERMINAR_ASOCIACION.
11. Dentro de la subrutina DETERMINAR_ASOCIACION vamos a completar los campos HEADER01 e ITEM01 con el campo de la tabla interna TI_CABECERA que hace de vínculo con la tabla interna TI_DETALLE.
12. Por último, declaramos la subrutina EJECUTAR_ALV_JERARQUICO para ejecutar el ALV.
13. Dentro de la subrutina ejecutamos el módulo de funciones REUSE_ALV_HIERSEQ _LIST_DISPLAY para generar el reporte ALV.
Y al ejecutar veremos el ALV jerárquico en pantalla.
.
 
 
 
Sobre el autor
Publicación académica de Ariel Martucci, en su ámbito de estudios para la Carrera Consultor ABAP.
Ariel Martucci
Profesión: Contador Publico - Argentina - Legajo: PJ45S
✒️Autor de: 78 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Un contador público de mediana edad con ganas de seguir aprendiendo carreras nuevas. estudiante avanzado de inglés, preparando mi first certificate, y al mismo tiempo involucrándome en programación.
Certificación Académica de Ariel Martucci