✒️ABAP El ALV jerárquico y el agrupamiento
ABAP El ALV jerárquico y el agrupamiento
Unidad n°5: Los reportes
Lección n°8: El ALV jerárquico y el agrupamiento
El agrupamiento en un ALV:
Los registros que se mostrarán en un reporte ALV se pueden agrupar, cuando varios registros presenten el mismo valor para un campo en particular.
Para esto:
- Declararemos la ti TI_SORT del tipo SLIS_T_SORTINFO_ALV y la estructura WA_SORT del tipo SLIS_SORTINFO_ALV:
- Luego, dentro del START-OF-SELECTION y antes de llamar al mód de fun. que ejecuta el reporte ALV, declararemos la subru. AGRUPAR_CAMPOS:
- Dentro de ésta, cargamos la ti TI_SORT con los registros en el orden en el que queremos agrupar.
EJ: agrupamos el reporte ALV por el campo ESTADO_CIVIL:
- En la declaración del mód. de fun. REUSE_ALV_GRID_DISPLAY tenemos que completar el parám. EXPORTING IT_SORT con nuestra ti TI_SORT:
Hacemos lo mismo en la declaración del mód. de fun. REUSE_ALV_LIST_DISPLAY para en ALV Lista:
- Si ejecutamos el reporte ALV y seleccionamos el ALV Grilla veremos la agrupación por el campo Estado civil:
Si lo ejecutamos en ALV Lista, el reporte no se mostrará agrupado por el campo Estado civil:
El ALV jerárquico:
Se usa cuando tenemos que mostrar en un reporte datos de cabecera y de posición, es decir, que en las declaraciones de las ti de cabecera y de posiciones debe haber mínimamente un campo en común.
EJ: creamos un reporte ALV jerárquico que muestre la info de las compañías aéreas y la info de los vuelos de cada una.
- Declaramos la ti TI_CABECERA, que tiene como campos la Denominación breve de la compañía (CARRID) y el Nombre de una compañía aérea (CARRNAME).
Declaramos la ti TI_DETALLE que tiene como 1er campo la Denominación breve de la compañía (CARRID) y otros campos relativos a un vuelo.
Entonces, el campo que tienen en común es el CARRID de la Denominación breve de la compañía.
Como generaremos un catal. del ALV jerárq. autom. entonces la declaración de ambas ti la hacemos usando OCCURS.
- Declaramos una estructura del tipo SLIS_KEYINFO_ALV, que será WA_KEYINFO y contendrá el campo clave que une a las dos ti:
- Cargamos las ti de cabecera y detalle; para esto dentro de START-OF-SELECTION declaramos la subru. CARGAR_DATOS:
- Dentro de esta subru. completamos las ti TI_CABECERA y TI_DETALLE con juegos de datos de la compañía aérea ARG:
También las completamos con juegos de datos para la compañía aérea LAN:
En vez de cargar manualmente los registros de ambas ti, podemos hacer un SELECT a las tbd correspondientes para obtener la info.
- Dentro de START-OF-SELECTION declaramos la subru. CONFIGURAR_LAYOUT.
- Dentro de ésta, configuraremos dos propiedades "rayado de líneas" y la asignación del título "Reporte de vuelos":
- Dentro del START-OF-SELECTION creamos el catal. del ALV para ambas ti, entonces declaramos la subru. ARMADO_CATALOGO_AUTOMATICO.
- Dentro de ésta subru. ejecutamos el mód. de fun. REUSE_ALV_FIELDCATALOG_MERGE para generar el catal. automáticamente sumando los campos de ambas ti en la ti TI_CATALOGO:
- Volviendo atrás, completaremos la estructura WA_KEYINFO que tiene la info que vincula a las ti, para ellos declaramos la subru. DETERMINAR_ASOCIACION (dentro del START-OF-SELECTION).
- Dentro de esta subru. completamos los campos HEADER01 e ITEM01 con el campo de la ti TI_CABECERA que hace de vínculo con la ti TI_DETALLE:
- Por último, volviendo al START-OF-SELECTION, declaramos la subru. EJECUTAR_ALV_JERARQUICO, para ejecutar el alv.
- Dentro de ésta subru. ejecutaremos el mód. de fun. REUSE_ALV_HIERSEQ_LIST_DISPLAY para generar el reporte ALV:
- Finalmente al ejecutar el reporte veremos el sig. ALV jerárquico:
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada