✒️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
PROCESAMIENTO PAI, EJECUCION DE ACCIONES:
- EJECUCIÓN CONDICIONAL:
> ON INPUT / ON CHAIN-INPUT
PROCESS AFTER INPUT FIELD wa_screen_0100-dni MODULE validar_dni_0100 ON INPUT.
El módulo se ejecutará solamente si el campo indicado contiene un valor diferente al inicial. En el caso de CHAIN-ENCHAIN, urilizamos ON CHAIN-INPUT y se ejecutará únicamente si al menos uno de los campos de la sentencia CHAIN-ENDCHAIN contiene un valor distinto al inicial.
Se puede utilizar ON INPUT sólo si MODULE se encuentra dentro de la instrucción FIELD.
> ON REQUEST
PROCESS AFTER INPUT FIELD wa_screen_0100-dni MODULE validar_dni_0100 ON REQUEST.
El módulo se ejecutará solamente si el campo indicado tiene una nueva entrada. En el caso de CHAIN-ENCHAIN, urilizamos ON CHAIN-REQUEST y se ejecutará únicamente si al menos uno de los campos de la sentencia CHAIN-ENDCHAIN contiene una nueva entrada.
Se puede utilizar ON REQUEST sólo si MODULE se encuentra dentro de la instrucción FIELD.
> AT EXIT-COMMAND
Si queremos salir de la pantalla sin pasar las validaciones automáticas, utilizando BACK, EXIT o CANCEL, hemos de utilizar AT EXIT-COMMAND:
MODULE <modulo-ABAP> ALT EXIT-COMMAND
La sentencia LEAVE PROGRAM:
MODULE exit_0100 INPUT. LEAVE PROGRAM. ENDMODULE.
Para poder utilizarlo es necesario asignar en un botón de campo el valor 'E' en el atributo Tipo función del editor de pantallas e incluiremos en el modul,o llamado las instrucciones para salir de la pantalla (por ejemplo LEAVE TO SCREEN 0 que vuelve a pantalla de inicio)
- TRATAMIENTO DE CODIGOS DE FUNCION
Utilizaremos el OK_CODE y el modulo USER_COMMAND (último en el PAI). Debemos borrar el contenido de OK_CODE tras el proceso y podemos guardarlo e inicializarlo. La variable donde lo guardaremos es del tipo SY-UCOMM.
- SECUENCIA DINAMICA DE LAS PANTALLAS
Se puede controlar la secuencia de ejecución de las dynpros:
< SET SCREEN <nro_pantalla> reescribe temporalmente la siguiente pantalla a procesar.
> LEAVE SCREEN termina el procesamiento del la pantalla o dynpro actual
> LEAVE TO SCREEN <nro_pantalla> regresa el control al lugar donde se ejecutó CALL SCREEN
> CALL SCREEN <nro_pantalla> interrumpe la pantalla actual para procesar otra y las subsiguientes. Utilizando STARTIND AT y ENDING AT, se puede especificar el tamaño y posición de la pantalla a llamar
SET SCREEN 0, LEAVE SCREEN, LEAVE TO SCREEN 0 regresan a donde se ejecutó CALL SCREEN. Si no se ejecuta tras haber llamado a otra dynpro el programa termina.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio De Tejada Santiago, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Ignacio De Tejada Santiago
Profesión: Informatico - España - Legajo: NW89P
✒️Autor de: 219 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Juan De