✒️ABAP / Los reportes interactivos Por José Saavedra Rodríguez

Selector Alummnos / Empresas

ABAP Los reportes interactivos

ABAP Los reportes interactivos

Reportes interactivos

1 ¿Qué es un Reporte Interactivo?

Un Reporte Interactivo es un tipo de reporte ABAP donde se muestra un primer listado por pantalla con cierta información, y después 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 listado.

A diferencia del reporte clásido, que puede ser tanto online como batch, el reporte interactivo es ejecutado solo de forma online, ya que requiere 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.

<< imagen 1.1 >>

Si vemos un ejemplo acerca de como crear un reporte interactivo, supongamos que tenemos un primer listado que muestra los usuarios con sus nombres y luego cuando hacemos doble clic sobre un usuario particular vemos detallados del usuario, como pueden ser el país, código postal, región, etc. En este caso bastaría con crear un reporte interactivo para cumplir con este requerimiento.

Audio: Dado que los reportes interactivos requieren de la interacción del usuario con el reporte, entonces no se pueden utilizar reportes interactivos en procesos que se ejecutarán de fondo. Este punto es importante tenerlo en cuenta al momento de realizar la especificación o diseño técnico del reporte, que es el momento en donde se piensan todos los aspectos y alcance del programa a crear.

2 Eventos y variables de un reporte interactivo

Cuando hacemos clic en alguna posición de la lista principal que se muestra por pantalla, se ejecutaré el evento AT LINE-SELECTION. Este evento debemos ubicarlo luego del evento START-OF-SELECTION. En ese momento, ciertas variables del sistema se completarán con información muy útil:

SY-LSIND: contiene el índice de la lista de detalle, es decir, el número de fila seleccionada.

<< imagen 2.1 >>

SY-LISEL: tiene el contenido de la línea seleccionada.

<< imagen 2.2 >>

SY-LILLI: contiene la línea seleccionada de la lista comenzando desde la primera línea que corresponde al título (título, raya divisoria y la línea seleccionada en este caso es la 3).

<< imagen 2.3 >>

SY-CUROW: contiene la posición del cursor vertical en la pantalla.

<< imagen 2.4 >>

Utilizaremos el evento TOP-OF-PAGE DURING LINE-SELECTION para imprimir por pantalla los textos de las cabeceras de las listas de detalle.

Existen algunos programas de prueba estándar de ABAP que nos pueden servir para practicar. Estos son:

DEMO_LIST_INTERACTIVE_1, DEMO_LIST_INTERACTIVE_2, DEMO_LIST_INTERACTIVE_3 y DEMO_LIST_INTERACTIVE_4.

3 Mi primer reporte interactivo

Vamos a crear el reporte interactivo del ejemplo que dimos en el punto anterior. Para esto, vamos a agregar en nuestra tabla de usuario ZTABLA_USUARIOS los campos: DIRECCION que será CHAR de 30 posiciones, CODIGO_POSTAL que será CHAR de 4 posiciones, F_NACIMIENTO que será DATS de 8 posiciones y ESTADO_CIVIL que tendrá un dominio, que será CHAR de 1 posición y adminitrá los valores S(soltero) y C(casado).

Debido a que realizamos cambios en la estructura de la tabla, tendremos que adaptar la tabla base de datos utilizando la opción del menú: Utilidades >> Objeto Base datos >> Utilidad base datos >> Activar y adaptar base de datos.

A continuación debemos volver a generar la superficie de actualización, y finalmente ingresamos datos en la tabla a través de la transacción SM30.

Después creamos el programa ABAP ZREPORTE_INT_USUARIOS. Dentro del evento START-OF-SELECTION realizamos la selección del DNI, nombre y apellidos de los usuarios. Después imprimimos por pantalla el resultado de la selección realizada.

<< imagen 3.1 >>

La salida por pantalla de nuestro programa será la siguiente:

<< imagen 3.2 >>

Audio: Para obtener el resto de los campos debemos trabajar con los caracteres de la misma forma que hacemos en el campo DNI. Donde escribimos v_dni = SY_LISEL(10). Entonces si quisiéramos obtener por ejemplo el nombre y apellidos que se encuentra a partir de la posición 10, con 30 posiciones a la derecha, realizaríamos lo siguiente: v_nombre_apellido = SY_LISEL 10(30). Y de la misma forma realizaríamos para el resto de los campos que se encuentren a la derecha de v_nombre_apellido.

A continuación agregamos el evento AT LINE-SELECTION. El código que esté dentro de este evento se ejecutará cuando hagamos doble clic en algún lugar de la pantalla, donde se visualiza el primer listado. Utilizaremos la variable del sistema SY-LISEL para obtener el DNI correspondiente a la línea de la pantalla a la cual le realizamos clic.

Después crearemos la subrutina GENERAR_REPORTE_NIVEL2, la cual seleccionará de la tabla ZTABLA_USUARIOS los datos de detalle correspondientes al usuario cuyo DNI fue capturado anteriormente y los imprimirá por pantalla. Toma los 10 primeros caracteres de la línea informada en SY-LISEL, los cuales corresponden con el DNI.

<< imagen 3.3 >>

Utilizaremos el evento TOP-OF-PAGE DURING LINE-SELECTION para imprimir por pantalla la cabecera de cada nivel de listados de detalle.

<< imagen 3.4 >>

Finalmente ejecutamos el reporte, hacemos doble clic en la línea corresposdiente al DNI 23547312 y vemos el siguiente detalle:

<< imagen 3.5 >>

Otra posibilidad es mostrar la pantalla del nivel de detalle como una ventana de diálogo o subscreen. Para esto usamos la sentencia WINDOWS STARTING AT tal y como se muestra a continuación:

<< imagen 3.6 >>

Y se visualizará la ventana de la siguiente forma (como una subscreen):

<< imagen 3.7 >>

Se pueden crear tantos niveles de listados como se quiera. El nivel del listado donde estemos lo tenemos en la variable SY-LSIND (al apuntar la fila del listado en la que nos encontramos).

Para generar distintos niveles de reportes interactivos utilizamos la variable del sistema SY-LSIND dentro del evento AT LINE-SELECTION.

Es decir:

AT LINE-SELECTION.

WHEN '1'.

PERFORM reporte_nivel_1.

WHEN '2'.

PERFORM reporte_nivel_2.

WHEN '3'.

PERFORM reporte_nivel_3.


 

Escanear / Compartir

 

 

Favorito:

Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti


Sobre el autor

Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Expert


✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los reportes interactivos" de la mano de nuestros alumnos.

SAP Senior

¿Qué son? · Son reportes que no son planos. El usuario puede hacer clic en una línea del listado para ver más detalles sobre ese registro en específico. ¿Cómo funcionan? 1. Mi programa muestra un primer listado (con un WRITE o un LOOP). 2. El usuario hace doble clic en una línea. 3. Se dispara el evento AT LINE-SELECTION. 4. Dentro de ese evento, yo programo qué información adicional mostrar. Variables del sistema importantes: · SY-LSIND: Me dice el "nivel" de listado en el que estoy. El primer listado es el 0, el siguiente el 1, etc. · SY-LISEL: Contiene toda la línea en la que el usuario hizo clic, como un texto. · SY-LILLI:...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Introducción a reportes interactivos Definición y características de los reportes interactivos Los reportes interactivos en ABAP permiten desplegar un listado inicial con información y profundizar en los datos haciendo doble clic sobre una línea, accediendo así a detalles en múltiples niveles. A diferencia del reporte clásico, estos solo se pueden ejecutar online, no en modo batch, ya que requieren interacción con el usuario. Ventaja principal: requieren poco código en comparación con programas de diálogo o model pool. Permiten seleccionar líneas del listado principal, ejecutar comandos desde menús, teclas de función o botones, e incluso...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Los reportes interactivos permiten explorar datos jerárquicamente: un listado principal despliega detalles al hacer clic. 1 ¿Qué es un Reporte Interactivo? Definición clave: "Reporte ABAP que muestra datos en niveles: un listado principal genera sublistados al seleccionar líneas." Características principales: Navegación por niveles: Hasta 20 niveles de profundidad (listado 1 → listado 2 → ...). Solo modo online: Requiere interacción del usuario (no ejecutable en background). Ventaja clave: Menos código que programas de diálogo para flujos complejos. Botones críticos: BACK...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



¿Qué son los Reportes Interactivos en SAP? Los reportes interactivos en SAP son herramientas que permiten a los usuarios visualizar, analizar y explorar datos de manera dinámica dentro del sistema SAP. A diferencia de los reportes clásicos, los interactivos permiten navegar en múltiples niveles de detalle directamente desde el resultado inicial del reporte, brindando una experiencia más rica y flexible para la toma de decisiones. Estos reportes se desarrollan comúnmente en ABAP, el lenguaje de programación nativo de SAP, y son ampliamente utilizados en módulos como FI (Finanzas), MM (Gestión de Materiales), SD (Ventas y Distribución), HCM (Gestión de Capital...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Los Reportes Interactivos 1. Que es un reporte interactivo Es un tipo de reporte ABAP donde se muestra un primer listado por pantalla con cierta información y luego haciendo doble clic a una linea determianda del primer listado se accede a otros datos realtivos a esa linea 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 díalogo que requieren de mucho más tiempo de construcción. 2. Los eventos y...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

N°4 Los reportes interactivos Reporte interactivo: es un tipo de reporte ABAP, donde se muestra el primer listado por pantalla, con cierta informacion y luego haciendo doble click a una linea determinada, se accede a otros datos relativos a esa linea y asi sucesivamente. (este solo es ejecutado de manera online). TOP OF PAGE DURING LINE SELECTION: para imprimir por pantalla la cabecera de nivel de listados de detalle Los eventos y variables de un reporte interactivo Variables utilizadas SY-LSIND: esta variable contiene el indice del listado (nivel del listado). SY-LISEL: esta variable almacena el contenido de la linea seleccionda. SY-LILLI: esta variable contien el numero de la linea seleccionada del listado. SY-CUROW: esta variable...

Acceder a esta publicación

Creado y Compartido por: Lautaro Gabriel Dominici

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

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...

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Reporte Interactivo. es un tipo de reporte ABAP, donde se 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 listado. A diferencia del Reporte clásico, que puede ser ejecutado tanto Online como Batch, 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...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Reporte interactivo: Es un tipo de retoprte ABAP, donde se muestra el primer listado por pantalla, con cierta información luego haciedo doble clic en una linea determinada del primer listado, se accede a otro datos relativos a esa linea y asi sucesivamente por cuantos niveles tenga el reporte. A disferencia del reporte clásico, que puede ser ejecutado tanto online como batch, el reporte interectivo 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 lineas de código se puede crear un reporte con interacción con el usuario, a diferencia de lños programas de dialogo, que requiera de mucho más tiempo...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

REPORTE INTERACTIVO: Es un tipo de reporte ABAP, donde se 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. Se puede crear hasta 20 niveles secundarios. A diferencia del reporte clásico, que puede ser ejecutado, tanto online como batch, el reporte interactivo es ejecutado solo en forma online, ya que requiere de la interacción con el usuario. Es importante tener presente que los Reporte Interactivos no pueden ser ejecutados en procesos de fondo. LOS EVENTOS Y VARIABLES DE UN REPORTE INTERACTIVO: Cuando se hace doble...

Acceder a esta publicación

Creado y Compartido por: Jean Carlos Lopez / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!