✒️ABAP El ALV jerárquico y el agrupamiento
ABAP El ALV jerárquico y el agrupamiento
Agrupamiento de un ALV
Para agrupar los registros mostrados en un ALV declaramos una tabla tipo SLIS_T_SORTINFO_ALV y una etructura tipo SLIS_SORTINFO_ALV
Tabla y estructura para ordenamiento ti_sort TYPE slis_t_sortinfo_alv, st_sort TYPE slis_sortinfo_alv , Antes llamar a la función del ALV vamos a cargar la tabla TI_SORT con los registros en el orden en el que se desea agrupar CLEAR st_sort. st_sort-spos = 1. " Orden del agrupamiento st_sort-fieldname = 'ESTADO_CIVIL'. " Nombre del campo que agrupa APPEND st_sort TO ti_sort. Ahora completamos el parámetros exporting IT_SORT con muestra tabla interna TI_SORT 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. Si ejecutamos el reporte veremos la agrupación por estado civil. ALV Jerárquico Los ALV jerárquico se utilizan cunado tenemos un reporte con datos de cabecera y de posición. En las declaraciónes de las tablas internas de cabecera y psociiones, debe haber como mínimo un campo en común. ej: el campo común es el CARRID que es la compañía aérea. * 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. Debemos declarar una estrucutra del tipo SLIS_KEYINFO_ALV que será ST_KEYINFO contendrá el campo clave que une a los dos tablas internas. st_Keyinfo TYPE slis_keyinfo_alv. Cargamos las tablas internas y detalle con un juego de datos de la compañía aérea ARG. * CABECERA 1 ti_cabecera-carrid = 'ARG'. ti_cabecera-carrname = 'Aerolineas Argentinas'. APPEND ti_cabecera. * DETALLE 1 ti_detalle-carrid = 'ARG'. ti_detalle-connid = '1010'. ti_detalle-fldate = '20091111'. ti_detalle-price = '380'. ti_detalle-currency = 'USD'. ti_detalle-planetype = 'A310'. APPEND ti_detalle. * DETALLE 2 ti_detalle-carrid = 'ARG'. ti_detalle-connid = '1020'. ti_detalle-fldate = '20091011'. ti_detalle-price = '300'. ti_detalle-currency = 'USD'. ti_detalle-planetype = 'A330'. APPEND ti_detalle. Luego creamos el catálogo del ALV para ambas tablas internas, sumando los campos de ambas tablas en la tabla del catálogo TI_CATALOGO CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = sy-repid i_internal_tabname = 'TI_CABECERA' i_client_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_client_never_display = 'X' i_inclname = sy-repid CHANGING ct_fieldcat = ti_catalogo[] EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3.CLEAR st_keyinfo. st_keyinfo-header01 = 'CARRID'. st_keyinfo-item01 = 'CARRID'. Por último ejecutamos la función REUSE_ALV_HIERSEQ_LIST_DISPLAY CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' EXPORTING i_callback_program = sy-repid i_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 Juan Carlos Pavicich, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Carlos Pavicich
Profesión: Técnico Informático - Argentina - Legajo: VR91L
✒️Autor de: 116 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Tengo el agrado de dirigirme a ud/s con el objeto de mencionar mi experiencia y conocimientos técnicos necesarios para desarrollar actividades en el rubro de su empresa.
Certificación Académica de Juan Pavicich