✒️ABAP La lógica de procesamiento en el PAI y la ejecución de las acciones
ABAP La lógica de procesamiento en el PAI y la ejecución de las acciones
La ejecución condicionada de módulos.
Si especificamos la cláusula ON INPUT después de MODULE en una sentencia FIELD, el MODULE es ejecutado solamente si el campo en cuestión contiene un valor diferente al valor inicial, es decir campo no se encuentra vacío.
Si estamos utilizando la sentencia CHAIN-ENCHAIN entonces debemos agregar la instrucción ON CHAIN-INPUT, de modo que el MODULE será procesado solamente si al menos uno de los campos de la pantalla dentro de la sentencia CHAIN-ENDCHAIN contiene un valor diferente al valor inicial.
Si se especifica la cláusula ON REQUEST después de MODULE en una sentencia FIELD entonces el MODULE es ejecutado únicamente si el campo ha sido modificado con una nueva entrada después de la ejecución del PBO. Es considerada una nueva entrada si la entrada existente se sobrescrita con el mismo valor o si el volor inicial del campo es ingresado explícitamente.
Si entonces utilizamos la sentencia CHAIN-ENDCHAIN entonces debemos agregar la instalación ON CHAIN-REQUEST, de modo que el MODULE será procesado solamente si al menos unos de los campos dentro de la sentencia CHAIN-ENDCHAIN tiene una nueva entrada. Es posible que en alguna ocasión quiera salir de la pantalla en la que se encuentra navegando dentro del programa de diálogo, sin necesidad de pasar las validaciones automáticas en los campos de esa dynpro. Para ello, podemos utilizar los botones de navegación BACK, EXIT o CANCEL junto con la cláusula AT EXIT-COMMAND de la sentencia MODULE.
El tramite de los códigos de función.
Recordemos que cuando definimos una dunpro creamos el campo de tipo código de función denominado OK_CODE. Para ello, utilizamos el MODULE USER_COMMAND que deberá ser el último del evento del PAI, es decir que se ejecutara una vez que todos los datos de entrada han sido validados correctamente. Una vez procesado el código de función, barraremos el contenido del OK_CODE, inicializándolo para la próxima dunpro.
Podemos guardar el contenido del OK_CODE en una variable intermedia e inicializarlo inmediatamente. Por último, debemos realizar la definición de las variables V_UCAMM y OK_CODE.
La secuencia dinámica de las pantallas.
Existen dos instrucciones que nos permitirán pasar a otro dynpro existente dentro del mismo programa, nos referimos a SET SCREEN y CALL SCREEN.
Cómo utiliozar la introducción SET SCREEN. Para ello, dentro del MODULE USER_COMMAND_0100 cuando se hace clic en el botón de la dynpro Buscar usuario. Y luego dentro del MODULE USER_COMMAND_0100 se analiza el OK_CODE, se ejecuta la instrucción SET SCREEN.
La instrucción SET SCREEN reescribe temporalmente la siguiente pantalla a procesar. La pantalla siguiente debe ser una pantalla del mismo MODULE Pool.
La pantalla siguiente es procesada después de procesar la pantalla actual o al menos que se termine la ejecución de la pantalla actual con la instrucción LEAVE SCREEN. Al encontrar esta instrucción, se ejecuta la pantalla siguiente en forma inmediate.
Si se desea terminar el procesamiento de la pantalla actual e ir directamente a la pantalla siguiente en una sola instrucción, se puede usar la sentencia LEAVE TO SCREEN. Mientras que la instrucción CALL SCREEN interrumpe el procesamiento de la pantalla actual para procesar la pantalla X y las pantallas subsecuentes.
La pantalla llamada con la instrucción CALL SCREEN deberá ser una pantalla del mismo MODULE Pool.
Cualquiera de las instrucciones: SET SCREEN o, LEAVE SCREEN, LEAVE TO SCREEN o, regla de control al lugar donde fue ejecutada la instrucción CALL SCREEN.
Si se utiliza cualquiera de las instrucciones anteriores cuando no se esta en el modo de llamada, es decir cuando no se cedió control a otra dynpro del programa, entonces el programa termina.
Utilizando las cláusulas STARTING AT y ENDING AT en la instrucción CALL SCREEN se puede especificar la posición y el tamaño de la pantalla a llamar. Y el resultado de la ejecución de la sentencia CALL SCREEN.
 
 
 
Sobre el autor
Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Javier Miguel Angel Barcelo
Profesión: Militar - Argentina - Legajo: DQ34X
✒️Autor de: 107 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Certificación Académica de Javier Angel