
1. Definición y Herramientas
El Status GUI es el objeto que proporciona al usuario un rango de funciones (botones, menús, teclas rápidas) en la pantalla. Para su diseño, utilizamos la herramienta Menu Painter, a la cual podemos acceder desde la transacción SE41 o, siguiendo las mejores prácticas, a través del Navegador de Objetos (SE80) haciendo clic derecho sobre el programa y seleccionando Crear / Status GUI.
2. Componentes del Status GUI
Un Status GUI robusto está integrado por cuatro elementos clave:
• Barra de menús: Contiene listas desplegables (hasta 6 menús propios, además de los estándar Sistema y Ayuda).
• Barra de herramientas estándar: Incluye las funciones comunes de SAP (Guardar, Atrás, Salir, Cancelar, Imprimir).
• Barra de herramientas de aplicaciones (Barra de pulsadores): Aquí es donde definimos los botones específicos para la lógica de nuestro negocio.
• Configuración de teclas de función: Asignación de códigos de función a teclas físicas (como F3 para volver o F8 para ejecutar).
3. Proceso de Diseño y Creación
Al crear un Status GUI, el sistema nos solicita un nombre (generalmente de cuatro dígitos, coincidente con la dynpro a la que sirve) y una descripción. Los tipos de status principales son:
• Status diálogo: Para pantallas normales.
• Ventana de diálogo: Para ventanas emergentes (modales).
• Menú contextual: Para menús que aparecen con el botón derecho del mouse.
Definición de Pulsadores (Botones)
Para cada botón en la barra de aplicaciones, debemos especificar:
1. Código de función: El valor que tomará la variable SY-UCOMM (o nuestro OK_CODE) al ser presionado.
2. Texto de función: El nombre visible del botón.
3. Nombre e Icono: Es posible asignar un ícono técnico (ej. ICON_ERASE) y un texto que lo acompañe.
4. Texto info (Quick info): La ayuda que aparece al posicionar el puntero sobre el botón.
Teclas de Función y Navegabilidad
Es vital configurar las teclas de navegación estándar. Para las funciones Atrás (RW), Salir (EX) y Cancelar (EN), se recomienda asignarles el tipo de función "E" (Exit Command). Esto permite capturar la acción en el PAI mediante la cláusula AT EXIT-COMMAND, evitando que el sistema ejecute validaciones de campos obligatorios si el usuario solo desea abandonar la pantalla.
4. Implementación y Control Dinámico
Para activar el menú en la dynpro, debemos invocarlo dentro del evento PBO (Process Before Output) utilizando la sentencia:
SET PF-STATUS 'NOMBRE_DEL_STATUS'.
Como buena práctica de reusabilidad, si tenemos un menú con muchos botones pero solo necesitamos algunos en ciertas pantallas, podemos usar la cláusula EXCLUDING enviando una tabla interna con los códigos de función que deseamos ocultar.