![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los reportes interactivos
ABAP Los reportes interactivos
![ABAP Los reportes interactivos ABAP Los reportes interactivos](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/341.jpg)
Reportes interactivos
Es un tipo de reporte ABAP donde se muestra un listado por pantalla con informacion y cuando se hace clic en alguna linea de la lista, se accede a otro listado relativo a la linea seleccionada, es un reporte por niveles.
A direrencia de un reporte clasico que puede ejecutarse online o de fondo, este tipo solo se ejecuta online ya que necesita interaccion con el usuario. Su ventaja es que con pocas lineas de codigo se puede crear un reporte de interaccion con el usuario.
Sus caracteristicas son:
- Se recuperan datos y se los presenta en la pantalla en forma de listado principal
- Seleccion de lineas del listado principal, ingreso de comandos del menu, ejecucion de teclas de funcion o botones, se introduce informacion
- Visualizacion de informacion detallada en listados secundarios, navegacion entre distintos listados o niveles del reporte utilizando botones de navegacion
- Se pueden llamar a otros reportes o transacciones desde un listado
Eventos y variables de un reporte interactivo
Cuando se selecciona una linea del listado principal y se cliquea, se ejecuta el evento AT LINE-SELECTION, en ese momento algunas variables del sistema se completan con informacion que vamos a usar:
- SY-LSIND: contiene el indice del listado, el nivel del listado. Si hacemos clic en el listado principal sera 1, si hacemos clic en una linea que nos lleva al segundo listado entonces sera 2.
- SY-LISEL: almacena el contenido de la linea seleccionada.
- SY-LILLI: guarda el numero de linea seleccionada.
- Sy-CUROW: contiene la posicion del cursor vertical en la pantalla.
Para imprimir por pantalla los textos del las cabeceras del listado principal se utiliza el evento TOP-OF-PAGE, pero para imprimir las cabeceras de los listados secundarios o de detalle se usa TOP-OF-PAGE DURING LINE-SELECTION.
Algunos programas de practica son: DEMO_LIST_INTERACTIVE_1, _2, _3 y _4.
Para crear un reporte interactivo
Primero se crea un programa, se definen una tabla interna del tipo de una tabla de base de datos, una estructura para la tabla interna y una variable del tipo de un campo de la tabla base de datos.
Luego en dentro de STAR-OF-SELECTION se crean dos subrutinas, una que seleccionara los datos de la tabla base de datos y los introducira en la tabla interna; y otra que imprimira los datos en el listado principal del programa con un LOOP AT.
Despues se agrega el evento AT LINE-SELECTION, dentro de el se encontrara la variable SY-LISEL que tomara la seleccion de la linea correspondiente en el listado principal y registro seleccionado se guardara en la variable declarada al principio que es del tipo de un campo.
Luego se crea una subrutina que imprimira los datos restantes del registro seleccionado en el segundo nivel del registro.
Para imprimir la cabecera o titulo de cada nivel del reporte usamos el evento TOP-OF-PAGE DURING LINE-SELECTION.
Tambien se puede imprimir el segundo nivel del reporte como una ventana de dialogo o subcreen, para eso se utilizara dentro de la subrutina para imprimir datos del nivel 2: WINDOW STARTING AT 1 15 ENDING AT 79 23.
 
 
 
Sobre el autor
Publicación académica de Luciano Martinez, en su ámbito de estudios para la Carrera Consultor ABAP.
Luciano Martinez
Profesión: Consultor Abap - Argentina - Legajo: LR86R
✒️Autor de: 66 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Me capacito para desempeñar el rol de un consultor abap, además soy sql developer jr, como ambos lenguajes (sql y abap) se relacionan, hace que mi perfil sea más completo y se complemente.
Certificación Académica de Luciano Martinez