✒️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
Lección 6: Lógica de procesamiento en PAI: Ejecución de las acciones
1| Ejecución condicionada de módulos
Si especificamos la clausula ON INPUT después de MODULE en una instrucción FIELD, el modulo es ejecutado solamente si el campo en cuestión contiene un valor diferente al valor inicial. Y se usa la adición ON INPUT solo si la instrucción MODULE es especificada dentro de una instrucción FIELD.
En la sentencia CHAIN-ENDCHAIN se debe usar la instrucción ON CHAIN-INPUT. Entonces, el módulo es procesado si al menos uno de los campos de la pantalla en la sentencia CHAIN-ENCHAIN contiene un valor diferente al valor inicial.
Si se especifica la cláusula ON REQUEST después de MODULE en una instrucción FIELD, el módulo es ejecutado unicamente si el campo tiene una nueva entrada. Se podrá usar la adición ON REQUEST solamente si la instrucción MODULE es especificada dentro de una instrucción FIELD.
En la sentencia CHAIN-ENDCHAIN se debe usar la instrucción ON CHAIN-REQUEST, Entonces, el módulo concerniente es procesado solamente si al menos unos de los campos de la pantalla de la sentencia CHAIN-ENDCHAIN tiene una nueva entrada.
Es posible que el usuario quiera salir de la pantalla sin la necesidad de pasar la validaciones automáticas digamos BACK, EXIT o CANCEL. En ese caso utilizaremos la cláusula AT-EXIT-COMAND de la instrucción MODULE. Para ello al utilizar un AT-EXIT-COMAND en un botón de campo. Sera necesario asignar el valor E en el atributo de campo Tipo función del editor de pantallas. Y e el módulo incluiremos la instrucción para salir de la transacción o pantalla ; por ejemplo: LEAVE TO SCREEN 0.
2| Tratamiento de los códigos de función
Cuando el usuario en una tx de dialogo pulsa una tecla de función, punto de menú, pushbutton, un icono o la tecla ENTER, los datos introducidos en la pantalla se pasan a los módulos definidos en el PAI para ser procesados junto a un código de función que indica que función ha solicitado el usuario. Osea en el OK_CODE definido en la dynpro.
En la lógica de procesamiento de cada dynpro, tendremos que realizar el tratamiento de OK_CODE . Para ello utilizaremos el módulo USER_COMMAND que deberá ser el último del evento PAI, se ejecutara una vez que todos los datos de entrada han sido validados correctamente.
Una vez procesado el módulo de función, borraremos el contenido del OK_CODE, inicializarlo para la próxima dynpro. El tipo de variable V_UCOMM es:
DATA: V_UCOMM type sy-ucomm.
3| Secuencia dinámica de la pantallas
En un programa de dialogo podemos controlar la secuencia de ejecución de cada una de las dynpros que componen la transacción. Existen 2 instrucciones que nos permitirán pasar a otra dynpro existente dentro del mismo programa. La primera es:
La instrucción SET SCREEN reescribe temporalmente la siguiente pantalla a procesar. La siguiente pantalla debe ser una pantalla del mismo Module Pool. La cual es procesada después de la pantalla actual o si se termina con la instrucción LEAVE SCREEN. Con esta instrucción ejecutara la siguiente pantalla en forma inmediata.
Si deseamos terminar el procesamiento de la pantalla actual e ir directamente a la siguiente podemos utilizar la sentencia LEAVE TO SCREEN.
La instrucción CALL SCREEN interrumpe el procesamiento de la pantalla actual para procesar la pantallas X y las subsecuentes.
La pantalla llamada con esta instrucción deberá ser una pantalla del mismo Module Pool.
Cualquiera de las instrucciones: SET SCREEN 0, LEAVE SCREEN, LEAVE TO SCRREN 0, regresa al lugar donde fue ejecutada la instrucción CALL SCREEN. De lo contrario sino se cedió el control a otra pantalla el programa termina.
Usando las clausulas STARTING y ENDING AT en la instrucción CALL SCREEN se puede especificar la posición y el tamaño de la pantalla tal como vemos: Y si la pantalla aparece incompleta , se incluye una barra de desplazamiento.
 
 
 
Sobre el autor
Publicación académica de Hernan Cabezas, en su ámbito de estudios para la Carrera Consultor ABAP.
Hernan Cabezas
Peru - Legajo: ZM88T
✒️Autor de: 117 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Hernan Cabezas