UNIDAD 2 Lección 6: Lógica de procesamiento en PAI: Ejecución de las acciones
- Ejecución condicionada de módulos
PROCESS AFTER INPUT.
FIELD wa_screen_0100-dni
MODULE validar_dni_0100 ON INPUT. "procesa sólo si valor IS NOT INITIAL.
PROCESS AFTER INPUT.
CHAIN
FIELD wa_screen_0100-dni, campo2, campoN.
MODULE modulo ON INPUT. "procesa sólo si al menos un valor IS NOT INITIAL.
ENDCHAIN.
PROCESS AFTER INPUT.
FIELD wa_screen_0100-dni
MODULE validar_dni_0100 ON REQUEST. "procesa sólo si se (re)ingresó un valor.
PROCESS AFTER INPUT.
CHAIN
FIELD wa_screen_0100-dni, campo2, campoN.
MODULE modulo ON REQUEST. "procesa sólo si se (re)ingresó al menos un valor.
ENDCHAIN.
PROCESS AFTER INPUT.
MODULE modulo AT EXIT-COMMAND. "se ejecuta cuando pulsan botones Back-Atrás/Exit-Salir/Cancel-Cancelar.
* Se requiere que dichos botones tengan el valor "E" (exit command) en tipo función.
* En este caso, ese modulo tendrá la salida del programa (LEAVE PROGRAM)
MODULE user_command_0100. "último módulo. Procesa tecla-función, punto-menú, pushbutton, ícono, o ENTER.
MODULE user_command_0100 INPUT.
MOVE ok_code TO v_ucomm. "DATA: v_ucomm type sy-ucomm.
CLEAR ok_code.
CASE v_ucomm.
WHEN 'BORRAR'
CLEAR wa_screen_0100-dni.
ENDCASE.
ENDMODULE.
- Secuencia dinámica de pantallas
SET SCREEN nro_pantalla. "re-escribe temporalmente sgte pantalla, la cual debe ser del mismo Module Pool.
::
LEAVE SCREEN nro_pantalla. "se ejecuta sgte pantalla.
LEAVE TO SCREEN nro_pantalla. "se ejecuta pantalla.
CALL SCREEN nro_pantalla. "pantalla del mismo Module Pool.
CALL SCREEN nro_pantalla
STARTING AT x1 y1
ENDING AT x2 y2. "pantalla del mismo Module Pool, en ventana de x1,y1 a x1,y2.
::
SET SCREEN 0. "regresa control al lugar donde se ejecutó CALL SCREEN.
LEAVE SCREEN. "regresa control al lugar donde se ejecutó CALL SCREEN.
LEAVE TO SCREEN 0. "regresa control al lugar donde se ejecutó CALL SCREEN.