✒️ABAP / La lógica de procesamiento en el PAI y la ejecución de las acciones Por Oscar Aravena Muller
ABAP La lógica de procesamiento en el PAI y la ejecución de las acciones

Introducción:
Controla el flujo de pantallas, valida datos condicionalmente y gestiona acciones del usuario con técnicas avanzadas de PAI (Process After Input) en programas de diálogo (Module Pool).
1. Ejecución Condicionada de Módulos
Cláusulas para Validación Selectiva:
-
ON INPUT:
-
Ejecuta el módulo solo si el campo tiene valor diferente al inicial.
-
Ejemplo:
-
-
ON CHAIN-INPUT:
-
Ejecuta el módulo si al menos un campo en CHAIN tiene valor no inicial.
-
Ejemplo:
-
-
ON REQUEST:
-
Ejecuta el módulo solo si el campo fue modificado por el usuario.
-
-
ON CHAIN-REQUEST:
-
Ejecuta el módulo si al menos un campo en CHAIN fue modificado.
-
Manejo de Salida con AT EXIT-COMMAND:
-
Permite salir de una pantalla sin validaciones.
-
Requisito: Asignar tipo E a la tecla de función (ej: BACK, EXIT).
-
Ejemplo:
2. Tratamiento de Códigos de Función (OK_CODE)
Flujo de Gestión:
-
Capturar acción del usuario (botón, tecla, etc.) en OK_CODE.
-
Procesar en último módulo del PAI (USER_COMMAND_XXXX).
-
Limpiar OK_CODE para evitar reprocesamiento.
Ejemplo de Código:
Importante:
-
Declarar OK_CODE en cada dynpro (tipo SY-UCOMM).
-
Usar variable auxiliar (ej: v_ucomm) para preservar el valor.
3. Secuencia Dinámica de Pantallas
Instrucciones de Navegación:
| SET SCREEN n | Define la próxima pantalla a ejecutar (tras LEAVE SCREEN). |
| LEAVE TO SCREEN n | Sale inmediatamente a la pantalla n. |
| CALL SCREEN n | Interrumpe la pantalla actual para procesar n (como subpantalla). |
Control de Posición con CALL SCREEN:
-
STARTING AT y ENDING AT: Define coordenadas y tamaño de la pantalla.
-
Ejemplo:
-
Resultado: Pantalla modal en posición específica (con scroll si el contenido excede el tamaño).
Regreso al Flujo Principal:
-
SET SCREEN 0, LEAVE SCREEN, o LEAVE TO SCREEN 0:
-
Vuelve al punto de llamada (si se usó CALL SCREEN).
-
Termina el programa si no hay llamada previa.
-
Consejos Clave
-
Navegación: Usa LEAVE TO SCREEN para saltos directos y CALL SCREEN para pantallas modales.
-
Validaciones: Combina ON INPUT y ON REQUEST para optimizar rendimiento.
-
Códigos de función: Siempre limpia OK_CODE después de procesarlo.
Errores Comunes
-
Olvidar limpiar OK_CODE: Causa reprocesamiento de acciones.
-
Confundir SET SCREEN con LEAVE TO SCREEN: La primera requiere LEAVE SCREEN para efectuarse.
-
Usar CALL SCREEN sin manejar el retorno: Puede bloquear la navegación.
Conclusión
-
Takeaway: La gestión inteligente de pantallas y validaciones condicionales es clave para programas de diálogo eficientes.
-
Términos técnicos:
ON INPUT / ON CHAIN-INPUT
ON REQUEST / ON CHAIN-REQUEST
AT EXIT-COMMAND
OK_CODE
SET SCREEN / LEAVE TO SCREEN / CALL SCREEN
STARTING AT / ENDING AT -
¡Recuerda!:
-
Usa AT EXIT-COMMAND para permitir salidas sin validaciones.
-
Diseña la navegación con CALL SCREEN para flujos modales.
-
 
 
 
Sobre el autor
Publicación académica de Oscar Aravena Muller, en su ámbito de estudios para el Curso SAP ABAP Avanzado.
Oscar Aravena Muller
Profesión: Futuro Analista Programador - Chile - Legajo: ZT54U
✒️Autor de: 90 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
























