✒️ABAP El ALV jerárquico y el agrupamiento
ABAP El ALV jerárquico y el agrupamiento
ALV JERARQUICO Y AGRUPAMIENTO
1. AGRUPAMIENTO EN UN ALV
Para ello, declaremos una tabla del tipo SLIS_T_SORTINFO_ALV y una estructura del tipo SLIS_SORTINFO_ALV.
Ej: Tabla y estructura necesarias para agrupar el ALV
* Tabla y estructura para ordenamiento
ti_sort TYPE slis_t_sortinfo_alv,
st_sort TYPE slis_sortinfo_alv,
Luego antes de llamar a la función ALV, vamos a cargar la tabla TI_SORT con los registros en el orden en el q deseamos agrupar.
Ej: Cargamos la tabla interna de agrupamiento del ALV
CLEAR st_sort.
st_sort-spos = 1. " Orden del agrupamiento
st_sport-fieldname = 'ESTADO CIVIL'. " Nombre del campo q agrupa
APPEND st_sort TO ti_sort.
Ahora demos completar el parámetro exporting IT_SORT con nuestra tabla interna TI_SORT.
Ej: Completamos el parámetro exporting IT_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 se ejecuta el reporte, se verá la agrupación por Estado Civil.
2. ALV JERARQUICO
Los ALV Jerárquicos se utilizan cdo tenemos q mostrar en un reporte, datos de cabecera y de posición. En las declaraciones de las tablas internas de cabeceras y posiciones, debe haber como mínimo un campo en común.
En este caso el campo común es el CARRID q es la compañía aérea.
Ej: Tablas internas q vamos a utilizar en el ALV Jerárquico.
* 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 estructura del tipo SLIS_KEYINFO_ALV q será ST_KEYINFO y contendrá el campo clave q une a las dos tablas internas.
Ej: Estructura q almacena el campo clave de unión
* Campo Clave
st_keyinfo TYPE slis_keyinfo_alv.
Ahora vamos a cargar las tablas internas de cabeceras y detalle con un juego de datos para la compañía aérea ARG. También cargamos un juego de datos para la compañía aérea LAN.
Ej: Cargamos las tablas internas del ALV Jerárquico
* 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.
i_inclname = sy-repid
CHANGING
ct_fieldcat = ti_catalogo[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
 
 
 
Sobre el autor
Publicación académica de Mayra Maria Pino Rodriguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Mayra Maria Pino Rodriguez
Profesión: Licenciada Cibernética Matemática - Republica Dominicana - Legajo: RA62Z
✒️Autor de: 56 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Mayra Pino