![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los status GUI y los títulos
ABAP Los status GUI y los títulos
![ABAP Los status GUI y los títulos ABAP Los status GUI y los títulos](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/426.jpg)
STATUS GUI
Es un componente independiente de los programas ABAP que se usa para proporcionarle al usuario un amplio rango de funciones en la pantalla de los programas.
Está compuesto por:
-Barras de menú: ej System, Help
-Barras de herramientas estándar: las flechas, binoculares, etc de al lado
-Barras de herramientas de aplicaciones: ej la lupa en la botonera
-Configuración de teclas de función: ej Help F1, Back F2, Exit F3
Para crear un Status GUI para el reporte ZPRUEBA_EST_USUARIOS que muestre los usuarios activos y los inactivos dependiendo de que botón de la barra de herramientas de la aplicación ha sido presionado seguimos los siguientes pasos:
-SA38
-Ingresamos el nombre del programa
-Presionamos enter
-Lo creamos tal como hacíamos con la SE38
Luego, le creamos un Status GUI, para ello seguimos los siguientes pasos:
-Clic derecho sobre el nombre del programa
-Crear --> Status GUI
En la ventana que aparece luego ingresamos el nombre del Status GUI, una descripción que podría ser "Status del reporte de usuarios" y presionamos continuar.
Luego veremos a la derecha de la pantalla los componentes del Status GUI.
Luego 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 botón de usuarios activos, que será USU_ACTI y presionamos enter.
Veremos una ventana de dialogo que nos indicará que no existe texto asignado a esa función y presionaremos continuar.
Luego veremos otra ventana donde completaremos los datos referentes al nuevo botón:
-Código de función: se usa para darle un nombre al botón.
-Texto función: se corresponde al texto que se muestra a la derecha del ícono del botón.
-Nombre ícono: será el ícono que se visualice por pantalla dentro del botón. 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 puntero del mouse sobre el botón.
Luego presionamos continuar y en otra ventana de dialogo asignaremos una tecla de función al botón, que tendrá el mismo efecto que cuando hacemos clic con el puntero del mouse del botón.
Finalmente con el botón creado veremos el primer ítem USU_ACTI.
Allí presionamos enter sobre el código USU_ACTI y completamos en otra ventana el campo Icon text que será el texto que se visualice dentro del botón en la pantalla de salida.
Luego haremos lo mismo con el botón de usuarios inactivos, cuyo código será USU_ACTI y finalmente grabamos los cambios realizados y activamos.
Ahora vamos a introducir código en el reporte para poder usar el nuevo Status GUI:
-Lo primero que debemos hacer es declarar la utilización del status con la sentencia SET PF-STATUS
-Luego para capturar cual botón presiono el usuario usaremos 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 realizan la selección e impresión de los correspondientes registros de la tabla ZTABLA_USUARIOS.
*----------------------------------------------------------------
AT USER-COMMAND.
*----------------------------------------------------------------
IF sy-ucomm = 'USU_ACTI'.
* Selección de datos Activos
PERFORM usuarios_activos.
ELSEIF sy-ucomm = 'USU_INACTI'.
* Selección de datos Inactivos
PERFORM usuarios_inactivos.
ENDIF.
Finalmente activamos y ejecutamos el reporte veremos los botones.
Si presionamos el botón "Reporte de usuarios activos" vemos un listado de los usuarios activos. Si no existen registros de usuarios activos visualizaremos un mensaje de error. Lo mismo sucederá con los usuarios inactivos.
Mediante la transacción estándar SE41 se pueden copiar Status GUI de un programa ABAP a otro.
Es frecuente que tengamos que desarrollar alguna transacción Z que disponga de botones en la barra de pulsadores, una manera es creando 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 deshabita todos los botones pulsadores estándar de SAP y tendríamos 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 y de esta forma estaríamos conservando los pulsadores estándar de cada transacción. Para ello primero deberemos ejecutar el reporte cuyo status servirá de modelo, allí, vamos a Sistema--> Status y podremos ver una pantalla y donde dice Status Interface figura el nombre del status, luego abrimos otro modo y entramos a la SE41, allí 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 el status que estamos desarrollando. Es importante tener en cuenta que el nombre del status no debe existir en ese reporte.
CREACION DE TITULOS
Para crear títulos, en la transacción SE80, sobre el nombre del programa hacemos botón derecho Crear --> Títulos GUI.
En la ventana que aparece asignaremos un nombre al titulo y su descripción, que será la que se visualice en pantalla,
Luego crearemos el titulo para los usuarios 0200 para los usuarios inactivos y el título 0300 para la primer pantalla del reporte, presionamos el botón "Títulos (todos)" y veremos en pantalla los tres títulos creados.
Por ultimo los activamos.
Para declarar la utilización de los títulos en el reporte usamos la sentencia SET TITLE:
*-----------------------------------------------------
START-OF-SELECTION.
*-----------------------------------------------------
SET PF-STATUS '0100'.
SET TITLEBAR '0300'.
WRITE 'Seleccione alguna de las dos opciones del Reporte'.
*---------------------------------------------------
AT USER-COMMAND.
*--------------------------------------------------
IF sy-ucomm = 'USU_ACTI'.
SET TITLEBAR '0100'.
* Selección de datos Activos
PERFORM usuarios_activos.
ELSEIF sy-ucomm = 'USU_INACTI'.
SET TITLEBAR '0200'.
* Selección de datos Inactivos
PERFORM usuarios_inactivos.
ENDIF.
Finalmente al ejecutar el reporte visualizaremos los títulos según los botones presionados de la pantalla.
 
 
 
Sobre el autor
Publicación académica de Manuel Antonio Moncada Vera, en su ámbito de estudios para la Carrera Consultor ABAP.
Manuel Antonio Moncada Vera
Profesión: Ingeniero en Informatica - Colombia - Legajo: JT58S
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Manuel Moncada