✒️ABAP Los status GUI y los títulos
ABAP Los status GUI y los títulos
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.
Esta compuesto por barras de menú, barra de herramientas estandar, barra de herramientas de aplicaciones y teclas de función.
SE80 - Permite crear Status GUI , Ingresamos el nombre del programa ->enter ->lo creamos como en la TRans SE38.
Para crearlo ir a : Nombre del programa -> click derecho -> Status GUI -> Ingresamos Nombre del Status GuI , Descripción -> continuar.
LOS DATOS A COMPLETAR PARA EL NUEVO BOTÓN SON:
- Codigo de Función : Para darle nombre al botón.
- Texto Función: Corresponde al texto que se mostrara a la derecha del icono del botón
- Nombre Icono - Imagen del icono que se visualizara con F4 se puede escoger .
- Texto Info - Texto que se mostrara cuando el puntero del mouse este encima del boton.
- Luego de llenar estos campos se presenta una pantalla donde se asigna una tecla de función al botón,
SET PF-STATUS - Usado para declarar la utilización del status, esto se agrega en el programa., ejemplo
START-OF-SELECTION.
SET PF-STATUS '0100'.
WRITE: 'SELECCIONE ALGUNA DE LAS DOS OPCIONES'.
AT USER-COMMAND - Evento usado para capturar que presiono el usuarios.
SY-UCOMM - Variable del sistema que contiene el codigó de la función correspondiente al botón presionado, esta variable se usa en conjunto con el evento AT USER-COMMAND. ejemplo
AT USER-COMMAND.
IF SY-UCOMM ='USU_ACTI'.
**SELECCIÓN DE DATOS ACTIVOS.
PERFORM USUARIOS_ACTIVOS.
ELSEIF SY-UCOMM = 'USU_INACTI'.
*SELECCION DE DATOS INACTIVOS
PERFORM USUARIOS_INACTIVOS.
ENDIF.
SE41 - permite copiar Status GUI de unprograma a otro.
Si desarrollamos una trans Z que disponga de botones en la barra de pulsadores
MALA PRACTICA
una manera es crear un Estatus GUI desde 0 dentro de nuestro programa a traves de la transac SE80
Pero esto deshabilita todos los botones pulsadores estandard de SAP y tendriamos que configurarlos manualmente.
BUENA PRACTICA
Lo mejor seria copiarnos un Status GUI ya existente, agregarlo a nuestro reporte y añadirle las nuevas funcionalidades que queremos incluir, de esta manera se conservan los pulsadores estandar de cada transaccion.
para realizar esto tenemos los siguientes pasos:
Ejecutamos el reporte cuyo estatus servira de modelo -> Systemas Status -> Status Interface y figura el nombre del STATUS ,
Creamos un nuevo modo-> Ingresamos ala Trans SE41 -> Usuario -> Copiar Status -> Colocamos el nombre del programa y el Status de Origen , y El nombre del programa y el Status que estamos desarrollando
NOTA: el nombre del status no debe existir en ese reporte.
CREACIÓN DE TITULOS
SE80 - Tambien permite crear titulos a nuestro reporte, Pasos:
Nombre del programa -> Click dereco -> Crear -> Titulos GUI -> En la ventana se asigna el nombre al titulo y su descripción, esa descripción es la que se mostrara en pantalla .
SET TITLE - Sentencia que se usa para declarar el uso de los titulos en el reporte. ejemplo
START-OF-SELECTION.
SET PF-STATUS '0100'.
SET TITLEBAR '0300'.
WRITE 'SELECCIONE ALGUNA DE LAS DOS OPCIONES DEL REPORTE'.
IF SY-UCOMM = ' USU_ACTI'..
SET TITLEBAR '0100'.
*SLEECCIONE LOS DATOS ACTIVOS.
PERFORM USUARIOS_ACTIVOS.
ELSEIF SY-UCOMM = 'USU_INACTI'.
SET TITLEBAR ' 0200'.
* SELECCION DE DATOS INACTIVOS
PERFORM USUARIOS_INACTIVOS.
ENDIF.
*************************************
Para configurar los botones de navegación debes colocarle un código a cada botón, por ejemplo:
RW - BACK
EN - EXIT
EX - CANCEL
Y el Tipo de Funcion debe ser 'E' Comando Exit.
*****************************************************************************
Si tomamos el programa del código de ejemplo de la lección entonces deberias:
1-En el STATU-GUI 0100, dentro de las teclas de función,n tenes que definir los códigos de función para los botones Back, Exit y Cancel. Supongamos que los códigos de función son BACK, EXIT y CANCEL. El tipo de función de estos botones debe ser "Función de aplicación".
2-Luegop dentro del evento AT USER-COMMAND realizaremos lo siguiente:
*---------------------------------------------------------------------*
AT USER-COMMAND.
*---------------------------------------------------------------------*
IF sy-ucomm = 'USU_ACTI'.
SET TITLEBAR '0100'.
* Seleccion de datos Activos
PERFORM usuarios_activos.
ELSEIF sy-ucomm = 'USU_INACTI'.
SET TITLEBAR '0200'.
* Seleccion de datos Inactivos
PERFORM usuarios_inactivos.
ELSEIF sy-ucomm EQ 'BACK' OR sy-ucomm EQ 'EXIT' OR sy-ucomm EQ 'CANCEL'.
LEAVE PROGRAM.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Victor Rodr?guez Azc?rate, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Rodr?guez Azc?rate
Profesión: Ingeniero de Sistemas - Peru - Legajo: AK14S
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Victor Rodr?guez