✒️ABAP Los status GUI y los títulos
ABAP Los status GUI y los títulos
Status GUI y Títulos
1 Creación de un Status GUI
El Status GUI es un componente independiente de los programas ABAP, que se utiliza para proporcionarle al usuario un amplio rango de funciones en la pantalla de los programas.
Está compuesto por barras de menú, barras de herramientas estándar, barras de herramientas de aplicaciones y la configuración de teclas de función.
En el siguiente gráfico, identificamos cada uno de los componentes de la pantalla de salida de un reporte ABAP:
<< imagen 1.1 >>
Vamos a crear un Status GUI para el reporte ZPRUEBA_EST_USUARIOS, que mostrará los usuarios activos y los inactivos dependiendo de qué botón de la barra de herramientas de apliacación ha sido presionado.
Para esto, accedemos a la transacción SE80, ingresamos el nombre del programa, presionamos enter y lo creamos tal y como lo hacemos a través de la transacción SE38.
Luego vamos a crearle un Status GUI. Para ello, sobre el nombre del programa pulsamos el botón derecho y seleccionamos "Crear >> Status GUI":
<< imagen 1.2 >>
En la siguiente ventana, ingresamos el nombre del Status GUI, que será "0100", una descripción que podría ser: "Status del reporte de usuarios" y presionamos continuar.
<< imagen 1.3 >>
Veremos a la derecha de la pantalla los componentes del Status GUI:
<< imagen 1.4 >>
A continuación, desplegamos la lista que está en la "Barra de pulsadores" y en el primer ítem en blanco escribimos el código de funcion correspondiente a la ejecución del nuevo botón de usuarios activos a crear, que será "USU_ACTI" y presionamos enter.
<< imagen 1.5 >>
El sistema nos mostrará una ventana de diálogo indicando que no se ha asignado texto a dicha función y es necesario asignárselo. Indicaremos que será texto estático y pulsaremos en continuar:
<< imagen 1.6 >>
En la siguiente ventana completaremos los datos referenes al texto de función del nuevo botón que vamos a crear en el reporte.
<< imagen 1.7 >>
Donde:
- Cödigo de Función: se utiliza para darle un nombre al botón.
- Texto función: se corresponde al texto que se mostrará a la derecha del icono del botón.
- Nombre icono: será el icono que se visualice por pantalla dentro del botón. Este se puede elegir dentro de una gran variedad de iconos que se visualizan presionando F4.
- Texto Info: es el nombre de ayuda del botón. Este se visualizará cuando dejemos quieto unos segundos el puntro del ratón sobre el botón.
Tras ingresar los datos, seleccionamos continuar y en la siguiente ventana de diálogo asignaremos una tecla de función al botón, que tendrá el mismo efecto que cuando se realice clic en el botón. Por ejempo, seleccionamos Shift-F1 y presionamos continuar:
<< imagen 1.8 >>
Finalmente, una vez creado el botón se visualizará en la pantalla de componentes del Status GUI el primer item de la siguiente forma:
<< imagen 1.9 >>
Si en la pantalla presionamos sobre el código USU_ACTI y completamos en la siguiente ventana el campo "icon text." será el texto que se visualice dentro del botón en la pantalla de salida.
<< imagen 1.10 >>
Repetiremos los pasos para crear el botón de usuarios inactivos, cuyo código será "USU_INACTI" y finalmente grabamos los cambios realizados y activamos:
<< imagen 1.11 >>
Una vez creado el Status GUI "0100", se procede a introducir el código en el reporte para poder utilizarlo. Lo primero es declarar la utilización del Status dentro del reporte, lo cuál se realiza mediante la sentencia "SET PF-STATUS" como vemos a continuación:
<< imagen 1.12 >>
A continuación, para capturar qué botón es el que presiona el usuario, se utilizará el evento AT USER-COMMAND junto con la variable del sistema SY-UCOMM, que contendrá el código de función correspondiente al botón presionado.
Las subrutinas USUARIOS_ACTIVOS y USUARIOS_INACTIVOS realizarán la selección e impresión de los corrrespondientes registros de la tabal ZTABLA_USUARIOS.
<< imagen 1.13 >>
Al activar y ejecutar el reporte, nos mostrará la siguiente pantalla:
<< imagen 1.14 >>
Si presionamos el botón "Reporte de usuarios activos", se ejecutará la subrutina "usuarios_activos" y se mostrará el listado correspondiente. Si no existiesen usuarios activos se visualizará un mensaje de error. De forma similar, ocurrirá para el botón de usuarios inactivos.
<< imagen 1.15 >>
=> Mediante la transacción estándar SE41 se pueden copiar Status GUI de un programa ABAP a otro.
Audio: Es frecuente que tengamos que desarrollar alguna transacción Z que disponga de botones en la barra de pulsadores. Una manera es crear un Status GUI desde cero dentro de nuestro programa a través de la transacción SE80. Pero el inconveniente que presenta esta opción es que desahabilita todos los botones y pulsadores estándar de SAP y tendremos que configurarlos manualmente. El mejor camino es copiarnos un Status GUI existente, agregarlo a nuestro reporte y añadirle las nuevas funcionalidades que queremos incluir. De esta forma estaremos conservando los pulsadores estándar de cada transacción. Para ello primero deberemos ejecutar el reporte cuyo Status GUI servirá de modelo. Entonces vamos al menú: "Sistema >> Status" y podremos ver una pantalla en la cual donde se indica "Status Interface" figura el nombre del status. Después abrimos otro modo y entramos a la transacción estándar SE41. A continuación vamos a "Usuario >> Copiar Status" y colocamos por un lado el nombre del programa y el Status de origen y también el nombre del programa y del Status que estamos desarrollando. Es importante tener en cuenta que el nombre del Status no debe existir en nuestro reporte.
Si deseamos agreagar los botones de navegación BACK, EXIT y CANCEL, dentro de las teclas de funciones hay que definir un código de función para los botones de navegación, es decir para BACK , EXIT y CANCEL. Lo más común es asignarles justamente los códigos RW - BACK, EN - EXIT y EX - CANCEL. El Tipo de Funcion debe ser 'E' Comando Exit.
2 Creación de Títulos
Vamos a crear títulos para nuestro reporte. Para ello, en la transacción SE80, sobre el nombre del programa pulsamos el botón derecho del ratón y seleccionamos "Crear >> Títulos GUI".
<< imagen 2.1 >>
En la siguiente ventana asignaremos un código al título (0100) y su descripción, que será la que se visualice en pantalla.
<< imagen 2.2 >>
De forma similar crearemos el título 0200 para los usuarios inactivos y el título 0300 para el primera pantalla del reporte. Finalmente presionamos el botón "Títulos (todos)" y veremos en pantalla los trest títulos creados. Por último los activaremos.
<< imagen 2.3 >>
Para utilizar los títulos en el reporte, en el código del mismo usamos la sentencia "SET TITLEBAR" y el código del título a incluir:
<< imagen 2.4 >>
Al ejecutar el reporte, se visualizarán los títulos según los botones que se presionen en la pantalla:
<< imagen 2.5 >>
 
 
 
Agradecimiento:
Ha agradecido este aporte: Ingrid Osorio
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.
Jos? Antonio Saavedra Rodr?guez
El Salvador - Legajo: SX28V
✒️Autor de: 166 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial