✒️ABAP Los reportes interactivos
ABAP Los reportes interactivos
REPORTES INTERACTIVOS
Es un tipo de reporte ABAP, donde se muestra un primer listado por pantalla, haciendo doble clicl a una linea, se accede a otros datos relativos a esa linea y asi por cuantos niveles tenga el listado.
Solo se ejecuta online, requiere la interaccion del usuario.
La ventaja es que con pocas lineas de codigo se puede crear un reporte con interaccion con el usuario, a diferencia de los programas de dialogo, que requieren de mucho mas construccion.
No se pueden realizar reportes interactivos en ejecucion de fondo.
--------------------------------------------------------------------------------------------------------------------------
EVENTOS Y VARIABLES DE UN REPORTE INTERACTIVO
Al hacerclick se ejecuta el evento AT LINE-SELECTION. Este evento debemos ubicarlo luego del evento START-OF-SELECTION. En este momento, ciertas variables del sistema se completan con informacion muy util.
Son:
SY-LSIND: CONTIENE EL INDICE DE LA LISTA DE DETALLE.
EJ: PRIMERA FILA DEL REPORTE SERA IGUAL A 1.
SY-LISEL: TIENE EL CONTENIDO DE LA LINEA SELECCIONADA.
EJ: 19876276 VICTOR LAMADRID.
SY-LILLI: CONTIENE LA LINEA SELECCIONADA DE LA LISTA.
EJ: AL CLICKEAR LA PRIMERA LINEA APARECE LA LINEA 3 CONTANDO DESDE LA LINEA DEL TITULO.
SY-CUROW: CONTIENE LA POSICION DEL CURSOR VERTICAL EN LA PANTALLA.
EJ: AL HACER CLICK EN LA PRIMERA LINEA APARECE 3 ES LA COLUMNA QUE SE DIO CLICK.
Utilizaremos el evento TOP-OF-PAGE DURING LINE-SELECTION para imprimir por pantalla los textos de las cabeceras de las listas de detalle.
Programas de prueba para practica
DEMO_LIST_INTERACTIVE_1.
DEMO_LIST_INTERACTIVE_2.
DEMO_LIST_INTERACTIVE_3.
DEMO_LIST_INTERACTIVE_4.
--------------------------------------------------------------------------------------------------------
EJEMPLO REPORTE INTERACTIVO.
ADICIONAR EN ZTABLA_USUARIOS LOS CAMPOS:
DIRECCION CHAR(30)
CODIGO_POSTAL CHAR(4)
F_NACIMIENTO DATS (8)
ESTADO CIVIL TIENE UN DOMINIO CHAR(1) CON VALORES DE S(SOLTERO) Y C (CASADO).
Modificacion de una tabla base de datos
Al realizar cambios en la estructura de la tabla, tendremos que adaptar la tabla base de datos, con la opcion menu:
UTILIDADES - OBJETO BASE DE DATOS - UTILIDAD BASE DE DATOS - ACTIVAR Y ADAPTAR BASE DE DATOS.
despues volver a generar la superficie de actualizacion que creamos en la unidad 3 y finalmente ingresamos datos en la tabla a traves de la transaccion SM30.
Creamos el programa, en la seccion START-OF-SELECTION realizamos la seleccion del DNI y nombre y apellido de los usuarios. Despues imprimimos por panatlla el resultado de la seleccion realizada.
Para los otros campos ubicamos la variable de acuerdo a la posicion y el largo del campo
EJ: V_NOMBREAPELLIDO = SY-LISEL 10(30).
Ahora agregamos el evento AT LINE-SELECTION. El codigo que este dentro de este evento se ejecutara cuando hamaos doble click en algun lugar del primer listado. Utlilizamos la variable del sistema SY-LISEL para obtener el DNI a la linea de la pantalla al hacer click.
Luego creamos la subrutina GENERAR_REPORTE_NIVEL_2, LA UAL SELECCIONARA DE LA TABLA ztabla_usuarioslos datos correspondientes al usuario cuyo DNI fue capturado anteriromente y los imprimirá por pantalla.
EJ:
AT LINE-SELECTION.
V_DNI = SY-LISEL(10).
PERFORM GENERAR_REPORTE_NIVEL_2.
Utilizaremos el evento TOP-OF-PAGE DURING LINE-SELECTION para imprimir por pantalla la cabecera de cada nivel de listado de detalle.
EJ:
TOP-OF-PAGE DURING LINE-SELECTION.
WRITE:/ 'DETALLE DE LOS USUARIOS', SY-ULINE.
Ejecutamos el reporte y vemos por pantalla los datos del usuario.
Otra posibilidad es mostrar por pantalla del nivel de detalle como una ventana de dialogo o subscreen. Para esto usamos la sentencia WINDOWS STARTING AT.
EJ:
WINDOWS STARTING AT 1 15
ENDING AT 79 23.
Se puede crrar tantos niveles de listados como se requiera.
El nivel del listado donde estamos lo tenemos en la variable SY-LSIND.
 
 
 
Agradecimiento:
Ha agradecido este aporte: William Lemus
Sobre el autor
Publicación académica de Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Guillermo Rodriguez Villate
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P
✒️Autor de: 103 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Oscar Rodriguez