✒️ABAP / Los reportes interactivos Por Sergio Beltran Castaneda

Selector Alummnos / Empresas

ABAP Los reportes interactivos

ABAP Los reportes interactivos

REPORTE INTERACTIVO

Los reportes interactivos son una forma de combinar las instrucciones de formato de listados, los eventos y las pantallas de selección, la unión de estas tres opciones permiten, por ejemplo, que un usuario introduzca un dato (a través de las ordenes de introducción de datos) seguidamente controlar si el usuario a pulsado alguna tecla (a través de los eventos) y por ultimo dependiendo de qué tecla ha pulsado, visualizar un tipo de listado u otro (a través de las ordenes de formateo de listados).

SENTENCIAS

HIDE f1 [, f2, … fn]. Almacena en memoria interna (“área hide”) el contenido de una línea de un listado interactivo (la línea actual, la del cursor), mientras ésta es mostrada. Se puede hacer incluso con líneas que no sean visualizadas en pantalla. Se usa en el evento AT LINE-SELECTION, que es el momento en el que el usuario hace doble clic sobre alguna línea del listado interactivo. Así, con esta sentencia se puede conocer (leer) la línea que el usuario ha elegido. Los f1fn son los campos que se están imprimiendo en pantalla, susceptibles de que el usuario los seleccione (los que deben “recordarse”).

HIDE debe codificarse justo después del WRITE que muestra el campo o variable a guardar en memoria, o bien el WRITE que muestra la línea correspondiente (si concretamente esa variable no se va a visualizar). El “área hide” es una tabla con tantas filas como líneas tiene el listado, y 2 campos o columnas por línea (y por campo a almacenar): variable - contenido. Aquí se guarda el valor de la variable dada, para cada línea del listado.

WINDOW STARTING AT x1 y1 ENDING AT x2 y2.
Muestra el listado secundario (detallado) en una ventana nueva aparte. (x1, y1) son las coordenadas (en (columnas, líneas), no en pixels) de la esquina superior izquierda de la ventana, y (x2, y2) son las coordenadas de la esquina inferior derecha. Se pueden crear status (menús, botones, etc.) específicos para las ventanas, pero entonces no aparecerá el menú estándar ni la barra de herramientas (esas funciones básicas quedarán desactivadas) salvo que se definan de nuevo. El status a crear para una ventana debe ser del tipo “ventana de diálogo”, nolista”. Soporta todas las funciones de los listados secundarios.

SET PF-STATUS status EXCLUDING código | tabla [ INMEDIATELY ].

  • Uso: Activa un nuevo status en pantalla. Un status es un conjunto de puntos de menú, botones, iconos o teclas de función, que se definen de forma específica para una(s) pantalla(s) de un programa o informe. Algunos de estos elementos existen siempre activos en todo status de forma predefinida, pero pueden desactivarse. Cada punto de menú, botón, ícono o teclas de función, debe tener definido su propio código, distintos todos entre sí, para que por programa se pueda saber cuál se ha pulsado (mediante eventos como AT PFn, AT USER-COMMAND). Se pueden incluir funciones estándar, iconos o botones. Para la barra de menú se pueden además “incorporar normas”.
  • Creación de un status, por menú: Herramientas – Workbench Abap 4 – Menu Painter – Status (o bien haciendo doble clic sobre el nombre del status a crear, una vez escrita la sentencia SET PF-STATUS). Al finalizar el diseño del status, grabarlo y activarlo. En el programa, antes de mostrar el listado, poner la sentencia SET PF-STATUS name_status (8 caracteres máximo) para que éste aparezca en pantalla.
  • Desactivación o exclusión de funciones (aparecerán en gris y no se podrán pulsar): para ello se usa la opción EXCLUDING. Tras EXCLUDING puede especificarse, o bien un código concreto o una tabla, en la cual por cada entrada se ha guardado uno de los códigos a desactivar (para el caso de que haya que excluir varios). Esto hace los status creados mucho más reutilizables. Con INMEDIATELY se activa el status sólo en la pantalla actual, y tras pasar a otra vuelve a activarse el status principal.

SET TITLEBAR número_de_título [ WITH g1 … g9].
Inserta un título de pantalla, para la barra de títulos de la ventana de Windows. Para crearlo, por menú: Herramientas – Workbench Abap 4 – Menu Painter – Lista Títulos. Dar el nombre del programa asociado, crear el título, escribir el título, grabar y activar (es un objeto SAP autónomo, no es un atributo interno del programa). Para que aparezca en pantalla, se debe escribir: SET TITLEBAR número_de_título. (es un código de 3 caracteres que se refiere a una línea de texto almacenado en la Lista de Títulos). Esta sentencia debe ir antes del primer WRITE que constituya el listado. Con WITH se pueden introducir hasta 9 parámetros actuales g1 ... g9, que sustituirán a los actuales &1 ... &9.

READ LINE linea [ INDEX índice ] [ FIELD VALUE f1 [ INTO g1 ] … fn [ INTO gn ] ][ OF CURRENT PAGE | OF PAGE p].
En su forma básica, lee el contenido de una línea del listado: por defecto es la actual (SY-LILLI), donde se activó el evento AT LINE-SELECTION (esta sentencia debe usarse tras seleccionar una línea); o la de número de línea indicado en el parámetro INDEX. Dicho contenido se almacena como string en el campo del sistema SY-LISEL. Además, pone ese valor en el leído en el campo f de un HIDE f, si hay. Devuelve un valor de retorno en SY-SUBRC (0 si la lectura fue correcta, 4 si hubo algún error, como que no haya línea para leer). Con FIELD-VALUE, en lugar de recorrer la línea como un string, la lee “partida” en las variables especificadas fi, o en las gi si se usa INTO. Con OF CURRENT PAGE se indica leer de la página actual, y con OF PAGE p se especifica la página donde está la línea a leer.

MODIFY LINE n [ INDEX índice | OF CURRENT PAGE | OF PAGE OF p ] [ modifics. ].
Modifica todo el contenido de la línea n del listado, colocando su contenido en el campo del sistema SY-LISEL (que también puede modificarse con asignaciones). Devuelve código de retorno 0 si la operación fue correcta, y distinto de cero en otro caso. En modificadores puede especificarse un nuevo color, nuevo formato.

SCROLL LIST [ parámetros ].
Realiza el scroll de parte o de todo un listado, mediante programa. Permite desplazarnos por la lista, mediante unas barras de desplazamiento. Devuelve código de retorno cero si el desplazamiento fue correcto, y distinto de cero en otro caso. Esta sentencia tiene muchas variantes, como: TO FIRST PAGE, TO LAST PAGE, TO PAGE pag, TO COLUMN col, FORWARD, BACKWARD, LEFT, RIGHT. También tiene muchos parámetros, como INDEX nº lista y LINE nº línea (todas las variantes de scroll los admiten).

DESCRIBE LIST NUMBER OF LINES líneas PAGES pags [ INDEX índice ].

Esta sentencia es útil para conocer el número total de páginas del listado, número de líneas. Con el parámetro INDEX se especifica de qué listado se leen esos datos.

DESCRIBE LIST [ LINE línea ] PAGE pag [ INDEX índice ] [ opciones ].

Devuelve el número de línea y de la página (actuales) del listado dado. Las opciones pueden ser: LINE-SIZE n cols, LINE-COUNT n filas.

SET CURSOR FIELD f [ OFFSET var ] [ LINE línea ] [ VALUE val ] [ LENGTH long ].

Posiciona el cursor sobre una línea dada del listado interactivo. Transfiere a la variable f el nombre (no el valor) de la variable donde se posicionó el cursor en el listado. Devuelve 0 en SY-SUBRC si la operación fue correcta, y distinto de cero en otro caso. Si el cursor no se posiciona en una variable, sino en una constante, variable local o literal, SY-SUBRCsigue valiendo cero, pero en la variable f se guarda SPACE (un blanco).

  • Parámetros: Todos usan variables de salida (para recoger información). Con OFFSET se recoge la posición del cursor en un campo concreto. Con LINE se obtiene la línea donde se posicionó el cursor, con VALUE el valor de ese campo, y con LENGTH la longitud de salida del campo (la longitud del substring mostrado, no la longitud de la definición del mismo).
  • Uso:Esta sentencia se usa si el cursor queda dentro del área visible del listado (normalmente éste será mayor que lo que cabe en pantalla). Si no, no tiene efecto (se debería usar antes SCROLL LIST para mover el área de visualización). El cursor puede posicionarse en líneas WRITE y SKIP, pero no sobre ULINE’s.

GET CURSOR LINE f [ OFFSET variable ] [ VALUE val ] [ LENGTH long ].

Devuelve la posición del cursor, en pantallas o listados. Se obtiene el número de línea en la que se posicionó el cursor, para prevenir la selección de líneas no válidas del listado. Los parámetros son como en la sentencia SET CURSOR FIELD.

SET USER-COMMAND código.

Sólo para listados interactivos. Se usa para forzar la ejecución de un comando, definido en un menú o status, sin que el usuario lo desencadene. Mueve dicho código al campo SY-UCOMM.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Sergio Armando Beltran Castaneda, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Master

Sergio Armando Beltran Castaneda

Profesión: Ingeniero de Sistemas con Especialización en Gerencia de Proyectos - Colombia - Legajo: WK55K

✒️Autor de: 70 Publicaciones Académicas

🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy ingeniero de sistemas desde hace mas de 10 años y quiero enfocarme en el mundo sap, iniciando en el lenguaje abap, con miras a ampliar mi conocimiento profesional y laboral.

Certificación Académica de Sergio Beltran

✒️+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!