✒️ABAP Los reportes interactivos
ABAP Los reportes interactivos
Apuntes ING Ezequiel Hurtado Benitez
Reportes Interactivos: Es un tipo de reporte ABAP, donde muestra un primer listado por pantalla, con cierta información y luego haciendo doble clic a una línea determinada del primer listado, se accede a otros datos relativos a esa línea y así sucesivamente por cuantos niveles tenga el reporte. El reporte interactivo es ejecutado solo en forma online, ya que requiere de la interacción con el usuario. La principal ventaja de los reportes interactivos es que con pocas líneas de código se puede crear un reporte con interacción con el usuario, a diferencia de los programas de diálogo, que requieren de mucho más tiempo de construcción. Los reportes interactivos presentan las siguientes características:
Se recuperan datos y se los presenta en la pantalla en un listado principal.
Se seleccionan líneas del listado principal, se ingresan comandos desde los menús, se ejecutan teclas de función o botones también se puede introducir información.
Se muestra información detallada presentada en listados secundarios. Para navegar entre los distintos listados o niveles del reporte interactivo vamos a utilizar los botones de navegación BACK y EXCIT.
Desde un listado tenemos la posibilidad de llamar a otras transacciones u otros reportes.
Supongamos que tenemos un primer listado que muestra los usuarios con sus nombres y luego cuando hacemos doble clic sobre un usuario en particular, vemos datos detallados del usuario, como puede ser el país, el código postal, la región, etc. En este caso, bastaría con crear un reporte interactivo para cumplir con este requerimiento.
Los eventos y variables de un reporte interactivo. Cuando hacemos doble clic en alguna posición que se muestra por pantalla, se ejecutará el evento AT LINE-SELECTION. En ese momento, ciertas variables del sistema se completan con información muy útil, ellas son: SY-LSIND: esta variable contiene el índice del listado, es decir el nivel del listado. Por ejemplo si hacemos doble clic en cualquier lugar del listado principal entonces SY-LSIND será 1, si hacemos clic en el segundo listado entonces SY-LSIND será 2 y así consecutivamente. 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-CUROW: este variable contiene la posición del cursor vertical en la pantalla. Para imprimir por pantalla los textos de las cabeceras del listado principal vamos a utilizar el evento TOP-OF-PAGE mientras que para imprimir por pantalla los textos de las cabeceras de los listados de detalles vamos a utilizar el evento TOP-OF-PAGE DURING LINE-SELECTION.
Programas para tener en cuenta, Existen algunos programas estándar de prueba que nos pueden servir para practicar, ellos son: DEMO_LIST_INTERACTIVE_1, DEMO_LIST_INTERACTIVE_2, DEMO_LIST_INTERACTIVE_3 y DEMO_LIST_INTERACTIVE_4.
Primer reporte interactivo. Para aprender a trabajar con reportes interactivos vamos a crear el programa ZREPORTE_INT_USUARIOS. Dentro del evento STAR-OF-SELECTION creamos las subrutinas SELECCIONAR_DATOS e IMPRIMIR_DATOS. Dentro de la subrutina SELECCIONAR_DATOS vamos a seleccionar de la tabla base de datos de usuarios ZTABLA_USUARIOS los campos DNI y Nombre y Apellido. Y dentro de la subrutina IMPRIMIR_DATOS imprimimos por pantalla el resultado de la selección realizada. La salida por pantalla del listado principal del programa se vería después de esto. Ahora vamos a agregar el evento AT LINE-SELECTION. El código que se encuentra dentro de este evento se ejecutará cuando hagamos doble clic en algún lugar de la pantalla donde se visualiza el primer listado. Utilizamos la variable del sistema SY-LISEL para obtener el DNI correspondiente a la línea de la pantalla a la cual le realizamos doble clic y luego crearemos la subrutina GENERAR_REPORTE_NIVEL2. Dentro de la subrutina GENERAR_REPORTE_NIVEL2 se seleccionarán los datos de detalle correspondientes al usuario, cuyo DNI fue capturado anteriormente y se los imprimirá por pantalla. Luego utilizaremos el evento TOP-OF-PAGE DURING LINE-SELECTION para imprimir por pantalla la cabecera de cada nivel de listado de detalle:. Finalmente ejecutamos el reporte y hacemos doble clic en la línea correspondiente al DNI ########. Y veremos los detalles del cliente en pantalla. Otra posibilidad con la que contamos consiste en mostrar la pantalla del nivel de detalle como una ventana de dialogo o subscreen. Para esto utilizamos la sentencia WINDOWS STARTING AT. Y visualizaremos la ventana con ambos campos, el listado de clientes y los detalles del cliente seleccionado.
Se pueden crear hasta 20 niveles de listados secundarios.
 
 
 
Sobre el autor
Publicación académica de Ezequiel Hurtado Benitez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ezequiel Hurtado Benitez
Profesión: Ingeniero Mecatrónico - Colombia - Legajo: FD18B
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero mecatrónico bilingüe con maestría en dirección de ventas y marketing empresarial, con conocimientos y experiencia en programación, diseño, elaboración y pruebas en proyectos de automatizació
Certificación Académica de Ezequiel Hurtado