✒️ABAP Los reportes interactivos
ABAP Los reportes interactivos
Es un tipo de reporte donde se muestra un primer listado por pantalla y luego seleccionando una opción se accede a otros datos relativos a esa opción y así sucesivamente por cuantos niveles u opciones tenga el reporte. Este tipo de reporte solo puede ser ejecutado de manera online o en línea, ya que requiere de la iteración del usuario.
Este tipo de reporte permite en pocas líneas de código crear una interacción prolongada con el usuario a diferencia de los programas de dialogo que requieren más tiempo de construcción.
Los reportes interactivos presentan las siguientes características:
* Se recuperan datos y los presenta en la pantalla en un listado principal.
* Seleccionan líneas del listado principal, ingresa comandos desde los menús, ejecuta teclas de función o botones, puede introducir información.
* Muestra información detallada presentada en listados secundarios. Ofrece bonotes para navegar de back y exit.
* Desde un listado podemos llamar a otras transacciones o reportes.
Eventos y variables de un reporte interactivo
Cada posición sobre la que se hace doble clic ejecuta un evento AT LINE-SELECTION, allí se usan las siguientes variables del sistema:
*SY-LSIND: Esta variable contiene el índice del listado, indica el nivel del listado.
*SY-LISEL: Esta variable almacena el contenido de la línea seleccionada.
*SY-LILLI: Esta variable contiene el número de línea seleccionada del listado.
*SY-COROW: Esta variable contiene la posición del cursos vertical en la pantalla.
Para imprimir por pantalla textos de la cabecera del listado principal utilizamos el evento TOP-OF-PAGE.
Para imprimir por pantalla textos de la cabecera de los listados de detalle utilizamos el evento TOP-OF-PAGE DURING LINE-SELECTION.
Programa de prueba para practicar:
DEMO_LIST_INTERACTIVE_1
DEMO_LIST_INTERACTIVE_2
DEMO_LIST_INTERACTIVE_3
DEMO_LIST_INTERACTIVE_4
Se pueden crear hasta 20 niveles de listados secundarios
Creando un REPORTE INTERACTIVO
1. Dentro del programa se crean las subrutinas seleccionar_datos e imprimir_datos, en el evento START-OF-SELECTION.
2. Dentro de la subrutina seleccionar_datos seleccionamos la BD de usuarios ztabla_usuarios.
3. Dentro de la subrutina imprimir_datos se imprime pr pantalla el resultado de la selección.
4. Agregamos el evento AT LINE-SELECTION. Con la variable SY-LISEL para obtener el dato correspondiente a la línea de la pantalla a la cual le realizarremos doble clic. Posteriormente se crea la subrutina generar_reporte_nivel 2. Se programa de la misma manera el resto de los campos o variables, indicando el espacio en el que se encontrara dicho titulo opción para que se selecciones la variable correspondiente, ej:
AT LINE-SELECTION.
CLEAR v_nombre.
v_nombre = sy-lisel+10(30)
5. Dentro de la subrutina generar_reporte_nivel2 seleccionarán los datos de detalle correspondientes al usuario que fue capturado anteriormente y los imprimirá por pantalla.
6. Utilizamos el evento TOP-OF-PAGE DURING LINE_SELECITION para imprimir por pantalla la cabecera de cada nivel de listados de detalle.
También es posible mostrar por pantalla el nivel de detalle como ventana emergente, para eso se usa la sentencia WINDOWS STARTING AT, así:
WINDOWS STARTING AT 1 15 ENDING AT 79 23.
 
 
 
Sobre el autor
Publicación académica de Linda Carolina Zambrano León, en su ámbito de estudios para la Carrera Consultor ABAP.
Linda Carolina Zambrano León
Profesión: Agente - Peru - Legajo: XR55P
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Linda Zambrano