✒️ABAP La lógica de procesamiento en el PAI y las validaciones
ABAP La lógica de procesamiento en el PAI y las validaciones
Validación de los datos de entrada:
A través del PAI (Process After Input) se validan los datos de entrada en pantalla antes de ser usados. Existen dos tipos de validaciones:
- Validación automática: El sistema realiza automáticamente chequeos de los datos de entrada antes de procesar el evento PAI. Estos chequeos son:
- Verificación del formato: El sistema valida las entradas de acuerdo a los atributos de cada campo. Si se detecta un valor incorrecto se desplega un mensaje de error y se vuelven a mostrar los campos para su nueva entrada.
- Verificación de campos obligatorios: Si un campo de la pantalla tiene el atributo de obligatorio el sistema no continua hasta que el campo tenga algún valor.
- Verificación de claves foráneas: son procesadas solo si un campo de la pantalla se refiere a un campo del diccionario de datos para el cual se ha definido una tecla de verificación. Así mismo la funcionalidad de la tecla F4 está activada. Las posibles entradas para un campo son desplegadas.
- Verificación del ámbito de valores: en el diccionario de datos se puede definir un ámbito de valores asociado a un dominio. Al definir un campo de pantalla con referencia a un dominio con un ámbito de valores asociado los valores del ámbito de valores son desplegados si el usuario presiona F4. El sistema verificará los valores introducidos en el campo contra el conjunto de valores del ámbito de valores del dominio correspondiente.
- Validación Manual: Se puede realizar una valoración más extensa de los valores de entrada con las instrucciones FIELD y CHAIN-ENDCHAIN.
- Con Field se puede validar individualmente cada campo.
- En caso de error la siguiente entrada de datos sólo permitirá introducir el campo erroneo sobre el que estamos utilizando la instrucción FIELD.
- Dependiendo del tipo de sentencia FIELD el mecanismo de chequeo se realizará en la lógica de proceso de la dynpro o en un módulo.
- Es posible realizar distintas validaciones de un campo de entrada dependiendo de la fuente con la que contrastamos los valores posibles:
- Chequeo de un campo contra una tabla base de datos: Si no se encuentran registros en el diccionario de datos el sistema emite mensaje de error estándard.
- Chequeo de un campo respecto de una lista de valores: Si el valor introducio por el usuario no corresponde a ningún valor de la lista el sistema emite un mensaje de error.
- Chequeo de un campo en un módulo: Se usa la sentencia FIELD<campo_pantalla> MODULE <módulo_ABAP/4>. Si el módulo resulta con un error (E) o un mensaje de advertencia (W) la pantalla es desplegada nuevamente pero sin mostrar los módulos del PBO (Process Before Output). El texto del mensaje es mostrado y solo el campo que ocasionó el error estará disponible para introducir datos nuevamente.
- Instrucción CHAIN-ENDCHAIN: encierra un conjunto de instrucciones FIELD que en caso de error en la entrada de alguno de ellos, todos los campos del CHAIN-ENDCHAIN se podrán modificar, mientras que los que no pertenezcan al CHAIN-ENDCHAIN estarán bloqueados para la entrada de datos.
- Mensajes en pantalla:
- Mensaje de Error: El texto de un mensaje de error (E) es desplegado en la pantalla actual. Todos los campos de pantalla asignados al módulo correspondiente (instrucción FIELD) se vuelven disponibles para introducir información de nuevo. El sistema obliga al usuario a re-introducir los datos.
- Mensaje de advertencia: El texto del mensaje de advertencia (W) es desplegado en la pantalla actual. Todos los campos de pantalla asignados al módulo correspondiente (instrucción FIELD) se vuelven disponibles para introducir información de nuevo. El usuario puede re-introducir los datos o ignorar el mensaje de adbertencia presionando la tecla ENTER.
- Mensaje de información: El texto de un mensaje de información (I) es dsplegado en la pantalla actual. El proceso de la pantalla actual es suspendido. Después de que el usuario presione la tecla ENTER el programa continua su ejecución normal desde el punto donde fue suspendido.
- Mensaje de éxito: Un mensaje de éxito (S) es desplegado en la pantalla siguiente a la actual.
- Mensaje de Interrupción: El texto de un mensaje de Interrupción (A) es desplegado en la pantall actual. Luego que el usario presione la tecla ENTER el proceso actual es terminado y el proceso regresará a la pantalla inicial.
 
 
 
Sobre el autor
Publicación académica de Llu?s Cul? Duran, en su ámbito de estudios para la Carrera Consultor ABAP.
Llu?s Cul? Duran
Profesión: Ingeniero Industrial - Alemania - Legajo: HG65D
✒️Autor de: 39 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial