✒️ABAP El ALV jerárquico y el agrupamiento
ABAP El ALV jerárquico y el agrupamiento
1- Agrupamiento en un ALV
Los registros que se mostrarán en un ALV pueden ser Agrupados (Ordenados?). Se deben declarar una Tabla del Tipo SLIS_T_SORTINFO_ALV y una Estructura del Tipo SLIS_SORTINFO_ALV.
* Tabla y estructura para ordenamiento ti_sort TYPE slis_t_sortinfo_alv, st_sort TYPE slis_sortinfo_alv, Luego se carga la tabla ti_sort con los registros en el orden en que se los desea agrupar
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = v_repid i_callback_pf_status_set = 'PF_STATUS' i_callback_user_command = 'USER_COMMAND' it_fieldcat = ti_catalogo [] i_callback_top_of_page = 'TOP_OF_PAGE' is_layout = st_layout it_sort = ti_sort TABLES t_outtab = ti_usuarios.
2- ALV Jerárquico . Estos ALV se utilizan cuando se tienen que mostrar datos de Cabecera y de Posición. La condición es que deben tener un campo en común al definirse las Tablas Internas.
* Tabla interna de la cabecera
DATA: BEGIN OF ti_cabecera OCCURS 0,
carrid LIKE scarr-carrid,
carrname LIKE scarr-carrname,
END OF ti_cabecera.
* Tabla interna de posiciones
DATA: BEGIN OF ti_detalle OCCURS 0,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
currency LIKE sflight-currency,
planetype LIKE sflight-planetype,
END OF ti_detalle.
Se debe definir una Estructura del Tipo SLIS_KEYINFO_ALV que contendrá los Campos Clave que une ambas tablas.
* Campo Clave
st_keyinfo TYPE slis_keyinfo_alv.
Para este tipo de ALV, el Catálogo debe contener los campos de ambas tablas.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid i_internal_tabname = 'TI_CABECERA' i_cient_never_display = 'X' i_inclname = sy-repid CHANGING ct_fieldcat = ti_catalogo [ ] EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3.CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid i_internal_tabname = 'TI_DETALLE' i_cient_never_display = 'X' i_inclname = sy-repid CHANGING ct_fieldcat = ti_catalogo [ ] EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3.Para completar la Estructura ST_KEYINFO en los campos HEADERnn e ITEMnn se colocará en mismo nombre que las une, donde nn es el Número de Campo Clave de Unión. Puede haber hasta 5.
Por último ejecutamos la Función REUSE_ALV_HIERSEQ_LIST_DISPLAY.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repidi_callback_pf_status_set = 'PF_STATUS' it_fieldcat = ti_catalogo [ ] i_tabname_header = 'TI_CABECERA' i_tabname_item = 'TI_DETALLE' is_keyinfo = st_keyinfo TABLES t_outtab_header = ti_cabecera t_outtab_item = ti_detalle EXCEPTIONS program_error = 1 OTHERS = 2.
 
 
 
Sobre el autor
Publicación académica de Victor Norberto Levi, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Norberto Levi
Profesión: Analista Programador - Argentina - Legajo: VT17H
✒️Autor de: 111 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Victor Levi