🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Los reportes interactivos

ABAP Los reportes interactivos

ABAP Los reportes interactivos

Resumen

Unidad 5 leccion 4

Los reportes interactivos

1- Que es un reporte intaractivo?

Es un tipo de reporte abap, donde se muestra un primer listado x pantalla concierta info y luego haciendo doble clic a una linea determinada del primer listado se accede a otros relativos a es linea y asi sucesiva/ x cuantos niveles tenga el reporte.

A diferencia del reporte clásico q puede ser ejecutado tanto en online como en batch, el reporte interactivo es ejecutado solo en forma online, ya q requiere de la interacción con el usuario.

La ppal ventaja de los reportes interactivos es q con pocas lineas de código se puede crear un reporte con interación con el usuario, a diferencia de los prog de diálogo q requieren de mucho + tiempo de contrucción.

Los reportes interactivos presentan la sgntes caracteristicas:

  • Se recuperan datos y se los presenta en la pantalla es un listado ppal.
  • se seleccionan lineas del listado ppal, se ingresan comandos desde los menus, se ejecuta teclas de funcion o botones o también se puede introducir info.
  • Se muestra info detallada presentada en listados secundarios xa navegar entre los distintos listados o niveles de reporte interactivo vamos a tulizar los botones de navegacion BACK y EXIT.
  • Desde un listado tenemos la posibilidad de llamar a otras TXs u otros reportes.

veamos un Ej: de reporte interactivo

tenemos un listado con usuarios con sus nombres y luego cuando hacemos doble clic sobre un usuario en particular, vemos datos detallados del usuario.

= como pais = codigo portal = la region (crear un reporte interactivo)....

2- Los eventos y variables de un reporte interactivo

Cuando hacemos doble clic en alguna posicion del listado ppal q se muestra xo pantalla, se ejecutará el evento AT LINE-SELECTION

En ese momento ciertas variables del sist se completan con info muy util, ellos son:

sy-lsind => esta variable contiend el indice del listado, es decir el nivel del listado x ej:

si hacemos doble clic en cualquier lugar del listado ppal entonces sy-lsind será 1, si hacemos doble clic en segundo listado, entonces sy-lsind será 2 y asi sucesiva/

sy-lisel => esta variable almacna el contendio de las lienas seleccionada

sy-lilli => esta variable contiene el # de linea seleccion nada del listado.

sy-curow => esta variable contiene la posicion del cursor veritical en la pantilla.

xa imprimir por pantalla los textos de las cabeceras del listado ppal vamos a utilizar el evento TOP-OF-PAGE mientras q xa imprimir x pantalla los textos de las cabeceras de los listados de detalle vamos a utilizar el evento TOP-OF-PAGE DURING LINE-SELECTION

Programas xa tener en cuenta:

= Demo_list_interactivo1.

= Demo_list_interactivo2.

= Demo_list_interactivo3.

= Demo_list_interactivo4.

3- Mi primier reporte interactivo

xa trabajar reportes interactivos => ZREPORTE-OF-INT-USUARIOS

Dentro del evento START-OF-SELECTION creamos las subrutinas SELECCIONAR_DATOS e IMPRIMIR_DATOS

REPORT zreporte_int_usuarios NO STANDAR PAGE HEADING TABLE OF ztablas_usuarios.

DATA: ti_usuarios NO STANDARD TABLE OF ztabla_usuarios.

wa_usuarios LIKE LINE OF ti_usuarios,

v_dni TYPE z_dni.

START-OF-SELECTION.

PERFORM seleccionamos_datos.

PERFORM imprimir_datos.

dentro de la subrutina de SELECCIONAR_DATOS vamos a seleccionar la tabla DB de usuarios ztabla_usuarios los campos DNI y NOMBRE_APE

FORM seleccionar_datos.

REFRESH ti_usuarios

SELECT *

FROM ztabla_usuarios

INTO TABLE ti_usuarios

ENDFORM.

subrutinas imprimir_datos

FORM imprimir_datos.

LOOP AT ti_usuarios INTO wa_usuarios

FORMAT COLOR CALL_TOTAL INTENSIFIED.

WRITE:/ wa_usuarios-dni,

wa_usuarios-nombre_ape.

ENDLOOP.

ENDFORM.

Ahora vamos agrupar en el evento AT LINE-SELECTION el codigo q se encuentra dentro de este evento se ejecutará cuando hagamos doble clic en algun lugar de la pantalla dende se visualiza el primer listado.

Utilizaremos la variable del sist SY-LISEL xa obtener el DNI correspondiente a la linea de la pantalla a la cual la realizamos el doble clic y luego crearemaos la subrutina GENERAR_REPORTE_NIVEL2.

AT LINE-SELECTION.

CLEAR v_dni.

v_dni = SY-LISEL(10).

PERFORM GENERAR_REPORTE_NIVEL2.

Dentro de la subrutina GENERAR_REPORTE_NIVEL2. se seleccionan los datos de detalle correspondientes al usuario cuyo DNI fue capturado anterior/ y se los imprimira x pantalla.

FORM generar_reprote_nivel2.

READ TABLE ti_usuarios INTO wa_usarios WITH KEY dni = v_dni.

IF sy-subrc EQ 0.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

WRITE:/1(50) sy-uline.

WRITE:/1(1) sy-vline,

2(18) text-004

21(1) sy-vline,

22(28) wa_usuarios-dni

50(1) sy-vline.

WRITE:/1(1) sy-vline,

2(8) text-004

21(1) sy-vline,

22(8) wa_usuarios-nombre_ape,

50(1) sy-vline.

luego utilizamos el evento TOP-OF-PAGE DURING LINE-SELECTION xa imprimir x pantalla la cabecera de c/nivel de listados de detalle

TOP-OF-PAGE DURING LINE-SELECTION

WRITE:/text-011.

WRITE:/ sy-vline

Final/ ejecutamos el reporte y hacemos doble clic en la linea correspondiente al DNI 15487988.

otra posibilidad con la q contamos consiste en mostrar la pantalla del nivel de detalle como una ventana de diálogo o subscreen. xa esta utilizamos la sentencia WINDOWS STARTING AT asi:

FORM generar_reporte_nivel2.

READ TABLE ti_usuarios INTO wa_usuarios WITH KEY dni = v_dni

IF sy-subrc EQ 0.

WINDOWS AT 1 15 ENDING AT 79 23.

FORMAT COLOR_HEADING INTENSIFIED ON.

WRITE:/1(50) sy-uline.

WRITE:/1(1) sy-vline,

2(18) sy-vline,

20(28) wa_usuarios-dni,

50(1) sy-vline

ENDIF.

se pueden crear hasta 20 niveles de listados secundarios.


 

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert

✒️+Comunidad Académica CVOSOFT

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

SAP Senior

Unidad 5 - Reportes Interactivos: Dado que los reportes interactivos necesitan de la interacción del usuario con el reporte. Entonces esta clase de reportes no sera posible ejecutarla de fondo. Hay que tenerlo en cuenta al momento de crear el programa.

Acceder a esta publicación

Creado y Compartido por: Matias Ciutat

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

SAP Master

para mi gusto los reportes interactivos son los reportes mas versatiles ya que incorporan de forma simple la profundidad de informacion en formato maestro detalle que en otros lenguajes de programacion son mas complicados de programar y presentar al usuario.

Acceder a esta publicación

Creado y Compartido por: Eduardo Vargas

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

SAP Senior

Entre los reportes los interactivos son los mas utilizados pues requieren que el usuario llene ciertos parametros previa impresion del reporte

Acceder a esta publicación

Creado y Compartido por: Faharid Manjarrez

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

SAP SemiSenior

Siempre en los reportes interactivos, la variable del sistema sy-lsind contiene el indice de la lista de detalle.

Acceder a esta publicación

Creado y Compartido por: Angel Efrain Roque Bañez

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

SAP Expert


Sin duda, los reportes interactivos favorecen en mucho al programador, aunque si bien es cierto que se tienen que desarrollar un poco mas y ser mas metodicos, tambien es cierto que sin duda, es la base de la buena programacion, y cuando digo buena, me refiero a la programacion a la vieja escuela. Esto lo digo porque los elementos que podemos utilizar para posicionar el cursor, para saber que linea se clickea, para ingresar a diferentes niveles el detalle de una linea, siempre es bueno, dado que eso es lo que espera el usuario. El hecho de poner en ventanas el detalle le da un toque muy profesional al programa. No obstante, creo que lo que implicara aqui un problema pudiera ser la logica, sobre todo cuando sabemos que llevamos diferentes niveles,...

Acceder a esta publicación

Creado y Compartido por: Juan Luis Valdez Galicia

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

SAP SemiSenior

Reportes Interactivos. 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 determinada del primer listado, se accede a otros datos relativos a esa linea y así sucesivamente por cuantos niveles tenga el listado. Los reportes interactivos se ejecuta solo en forma online, ya que requiere interacción con el usuario. Eventos y variables de un reporte interactivo. AT LINE -SELECTION. Este evento se ubica luego del evento START-OF.SELECTION . SY-LSIND. Contiene el indice de la lista de detalle. SY-LISEL. Tiene el contenido de la linea seleccionada. SY-LILLI. Contiene la linea seleccionada de la lista. SY-CUROW. Contiene la posición del...

Acceder a esta publicación

Creado y Compartido por: Fabio Gallo

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

SAP Senior

cuando estemos programando reportes interactivos para un usuario debemos de tener cuidado en la cantidad de información que estemos llamando en cada sub-nivel del reporte, esto por que podríamos causar una saturacion de memoria o volveríamos el reporte muy lento.

Acceder a esta publicación

Creado y Compartido por: Jose Manuel Alvarez Torres

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

SAP Master

Reportes interactivos: es un reporte donde se muestra una informacion incial, listado por pantalla, y luego haciendo clic a una linea determinada se accede a otros datos relativos a la linea.

Acceder a esta publicación

Creado y Compartido por: Rainer Diaz

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

SAP SemiSenior

Reportes interactivos. Es un reporte tipo encabezado-detalle, en donde a partir de la información de un primer reporte, al seleccionar un registro, el reporte nos mostrará en un sub reporte, información relacionada al registro seleccionado. Los niveles o sub niveles pueden ser N. SY-LSIND => Contiene el indice o numero de linea seleccionado en el reporte activo. Es decir el numero de linea en donde hicimos click. SY-LISEL => Contiene el contenido de la linea seleccionada (el contenido en string) SY-LILLI => Contiene la linea seleccionada de la lista (¿o sea?) SY-CUROW => Contiene la posición del cursor vertical. Para imprimir por pantalla la cabecera de los textos de los sub reportes, se utiliza...

Acceder a esta publicación

Creado y Compartido por: Saul Rincon Olvera

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

SAP Senior

Reporte Interactivo Es un tipo de reporte ABAP donde se muestra un primer listado por pantlla, con cierta informacion y luego haciendo doble clic a una linea determinada del primer listado, se accede a otros datos relativos a esa linea y asi sucesivamente por cuantos niveles tenga el listado. A diferencia del reporte clasico , que solo puede ser ejecutado tanto Online como Batch, el reporte interactivo es ejecutado solo en forma Online , ya que requiere de la interaccion con el usuario. La principal ventaja de los reportes interactivos es que con pocas lineas de codigo se puede crear un reporte con interaccion con el usuario, a diferencia de los programas de dialogo, qure requieren mucho mas tiempo de construccion. Dado que los reportes interactivos...

Acceder a esta publicación

Creado y Compartido por: Marco Antonio Vazquez Gonzalez

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!