✒️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
EJECUCION CONDICIONADA DE MÓDULOS
ON INPUT: después de MODULE en una instrucción FIELD, el moduflo solo es ejecutado si el campo en cuestión contiene un calor diferente al valor inicia.
Ejemplo:
FIELD wa_screen_0100-dni MODULE validar_dni_0100 ON INPUT.
ON CHAIN-INPUT: para las sentencias CHAIN-ENDCHAIN
Ejemplo:
CHAIN
FIELD <campo_pantalla>,
<campo_pantalla>.
MOFULE <modulo> ON CHAIN-INPUT.
ENDCHAIN.
NOTA: solo se puede usar ON INPUT si la instruccuin MODULE se especifica dentro de una FIELD.
ON REQUEST: Solo se ejecuta si el campo tiene una nueva entrada.
Ejemplo:
FIELD wa_screen_0100_dni MODULE validad_dni_0100 ON REQUEST.
ON CHAIN-REQUEST: Para las sentencias CHAIN-ENDCHAIN
Ejemplo:
CHAIN
FIELD <campo_pantalla>,
<campo_pantalla>.
MODULE <modulo> ON CHAIN-REQUEST.
ENDCHAIN
NOTA: solo se puede usar ON REQUEST si la instruccuin MODULE se especifica dentro de una FIELD.
AT EXIT-COMMAND
Si el usuario quisiera salir de la pantalla sin la necesidad de pasar por las validaciones, utilizanod BACK, EXIT, CANCEL usilizarmeos la cláusula AT EXIT-COMMAND de la instrucción MODULE
Ejemplo:
MODULE <modulo> AT EXIT-COMMAND.
Para poder utilizar AT EXIT-COMMAND en un botón de campo, será necesario asignar el valor E en el atributo de campo Tipo Funcion.
TRATAMIENTO DE LOS CÓDIGOS DE FUNCIÓN
Cuando el usuario interactúa con nuestra dynpro o menú, pulsa enter, etc los datos introducidos en la pantalla se pasan al módulo/módulos definidos en el PAI.
Debemos realizar el tratamiento de OK_CODE que se define en cada dynpro. Para ello se usa el módulo USER_COMMAND que será el último evento PAI
Ejemplo:
PROCEASS BEFORE OUTPUT.
MODULE status_0100.
PROCESS AFTER INPUT.
MODULE exit_0100 AT EXTI-COMMAND.
MODULE user_command_0100.
Una vez procesado, se borra el contenido de OC_CODE inicializándolo para la próxima dynpro. Se puede guardar el contenido del OK_CODE en una variable intermedia
Ejemplo
MOPDULE user_command_0100 INPUT.
MOVE ok_code to v_ucomm.
CLEAR ok_code.
CASE v_ucomm.
WHEN ‘BORRAR’.
CLEAR wa_screen_0100-dni.
ENDCASE.
ENDMODULE.
El tipo de la variable V_UCOMM es sy_ucomm.
Sy_ucomm es una variable de sitema con la última acción realizada por el usuario.
La ok_code solo se usa en pantallas y actua como variable temporal que guarda el sy_ucomm.
Solo usar OK_CODE no cambiar el valor de variable de sistema. Siempre se debe inicializar el campo OK_CODE
SECUENCIAS DINAMICAS DE LAS PANTALLAS
Existen dos instrucciones para indicar la secuencia de pantalla o pasar de una dynpro a otra de un mismo programa.
SET SCREEN <numero_pantalla>.
Reescribe temporalmente la siguiente pantalla. La pantalla se procesa después de la actual a no ser que se termine la ejecución con la instrucción LEAVE SCREEN. Al encontrar esta instrucción se procesa de forma inmediata la pantalla
LEAVE TO SCREEN <numero_pantalla>.
CALL SCREEN <numero_pantalla>.
Interrumpe el procesamiento de la pantalla actual para procesar la pantalla X indicada y las palntallas subsecuentes.
SET SCREEN 0, LEAVE SCREEN, LEAVE TO SCREEN 0, regresan al control al lugar donde fue ejecutada la instrucción CALL SCREEN
Si se usa la anteriores instrucción cuando no esta en modo llamada, es decir cuando no se cedió el control a otra dynpro. El programa termina.
SARTING AT y ENDING AT:
En la instrucción CALL SCREEN se puede especificar la posición y tamaño de la pantalla a llamer
Ejemplo:
CALL SCREEN 0200 STARTING AT 5 1 ENDING AT 130 25.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor ABAP.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial