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

 X 

✒️ABAP Los reportes interactivos

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.


 

 

 


Sobre el autor

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

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

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

Audio A-U5L4: Reportes interactivos. 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. Audio B-U5L4: Tratamiento de campos. Para obtener el resto de los campos, debemos trabajar con los caracteres de la misma forma que hacemos con el campo DNI donde escribimos v_dni = sy-lisel(10), entonces si quisieramos obtener, por ejemplo, el nombre y apellido que se encuentra a partir de la...

Acceder a esta publicación

Creado y Compartido por: Juan Alberto Peñalver Alvarez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Los reportes interactivos en SAP ABAP son programas que permiten a los usuarios interactuar con la aplicación a través de la entrada y la visualización de datos en tiempo real. Estos reportes proporcionan una experiencia de usuario más dinámica y permiten a los usuarios realizar selecciones, filtrar datos y tomar decisiones basadas en la información presentada en la pantalla. Aquí hay algunas características clave de los reportes interactivos en ABAP: Características de los Reportes Interactivos: Interacción en Tiempo Real: Los reportes interactivos permiten a los usuarios realizar acciones en la interfaz de usuario y ver los resultados instantáneamente...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

*** 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 Expert


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 asi sucesivamente por cada nivel que tenga el reporte. Eventos y variables de un reporte interactivo SY-LSIND: Contiene el indice de la lista de detalle SY-LISEL: Tiene el contenido de la linea seleccionada. SY-LILLI: Contiene la linea selccionada de la lista (a diferencia de SY-LSIND, Ccuenta desde la primera linea que le corresponde al titulo) SY-CUROW: Contiene la posición del curso vertical en la pantalla. ABAP, Nos proporciona la utilización de los reportes interactivos...

Acceder a esta publicación

Creado y Compartido por: Marvin Raul Lopez Morales / Disponibilidad Laboral: FullTime + Carta Presentación

*** 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 Senior

Abap reportes interactivos dentro de los distintos tipos de reportes que se pueden crear en ABAP tenemos los llamados Reportes Interactivos. 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 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...

Acceder a esta publicación

Creado y Compartido por: Jose Miguel Sanchez Gonzalez / Disponibilidad Laboral: FullTime

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

SAP Master


Reportes Interactivos Abap reportes interactivos dentro de los distintos tipos de reportes que se pueden crear en ABAP tenemos los llamados Reportes Interactivos. 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 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...

Acceder a esta publicación

Creado y Compartido por: Cesar Armando Gutierrez Gomez / Disponibilidad Laboral: FullTime

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

 


 

👌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!