✒️ABAP La lógica de procesamiento en el PAI y las validaciones
ABAP La lógica de procesamiento en el PAI y las validaciones
1 | Validación de los datos de entrada
Una de las funciones más importantes del PAI, es la de validar los datos de entrada de la pantalla antes de ser utilizados.
Existen dos tipos de validaciones de los datos de entrada:
Un chequeo automático realizado por el sistema.
Un chequeo manual programado con el comando FIELD de la lógica de proceso de las dynpros.
A continuación veremos cada uno de ellos.
2 | Validación automática
El sistema realiza automáticamente una serie de chequeos de los datos de entrada antes de procesar el evento PAI.
Estos chequeos son los siguientes:
Verificación del Formato
Imagen 2.1 - Verificación automática del formato de los campos de la pantalla
El sistema valida las entradas de acuerdo a los atributos de cada campo.
Si se detecta un valor incorrecto, se desplegará un mensaje de error y se volverán a mostrar los campos para su nueva entrada.
En el ejemplo que vemos en el gráfico anterior, introducimos una letra en un campo numérico lo cual produce un error.
Imagen 2.2 - Ejemplo de la verificación automática del formato que realiza el sistema
Verificación de campos obligatorios
Imagen 2.3 - Verificación automática de los campos obligatorios de la pantalla
Cuando a un campo de la pantalla se le asigna el atributo de obligatorio, el sistema no continuará con el procesamiento,
a menos que el campo obligatorio tenga algún valor.
Imagen 2.4 - Ejemplo de la verificación automática de los campos obligatorios realiza el sistema
Verificación de claves foráneas
Imagen 2.5 - La verificación automática de clave foránea se realiza contra la base de datos
Una verificación de clave foránea es procesada solo si un campo de la pantalla se refiere a un campo del Diccionario de datos
para el cual se ha definido una tabla de verificación.
Al mismo tiempo, la funcionalidad de la tecla F4 es activada. Esto significa que 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.
Si se define un campo de pantalla con referencia a un dominio con un ámbito de valores asociado, ocurre lo siguiente:
Los valores del ámbito de valores son desplegados si el usuario presiona la tecla F4 para ver los posibles valores para el campo de entrada.
El sistema verificará los valores introducidos en el campo contra el conjunto de valores del ámbito de valores del dominio correspondiente.
3 | Validación manual
Además del chequeo automático es posible realizar una validación más extensa de los valores de entrada con las instrucciones FIELD y CHAIN-ENDCHAIN.
Con FIELD podemos validar individualmente cada campo de forma que en caso de error,
la siguiente entrada de datos sólo permitirá introducir el campo erróneo sobre el que estamos utilizando la instrucción FIELD.
Dependiendo del tipo de sentencia FIELD que utilicemos, 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.
Así podemos chequear el contenido de un campo, comparándolo con una tabla base de datos,
con una lista de valores o realizando la validación en un módulo del Module Pool.
Veamos a continuación cada una de estas opciones:
Chequeo de un campo contra una tabla base de datos
Si no se encuentran registros en la base de datos el sistema emite un mensaje de error estándar.
Existe una versión ampliada de la instrucción anterior que permite enviar mensajes o warnings (advertencias) en caso de que encuentre o no registros:
Imagen 3.1 - Validación manual de un campo contra la base de datos
Chequeo de un campo respecto de una lista de valores
Imagen 3.3 - Validación manual de un campo contra una lista de valores
Donde la lista de valores puede ser:
Imagen 3.4 - Datos posibles de la lista de valores
Si el valor introducido 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
Para chequear un campo determinado con un módulo utilizamos la siguiente sentencia:
Imagen 3.5 - Validación manual de un campo utilizando un module
Si el módulo resulta con un error (E) o un mensaje de advertencia (W), la pantalla es desplegada nuevamente pero sin procesar los módulos del PBO.
El texto del mensaje es mostrado y solo el campo que ocasionó el error estará disponible para introducir datos nuevamente.
Veamos un ejemplo:
Imagen 3.6 - Ejemplo de la validación manual de un campo utilizando un module
La 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.
Imagen 3.7 - La importancia de utilizar CHAIN-ENDCHAIN en los campos de la pantalla
Veamos un ejemplo:
Imagen 3.8 - Ejemplo de la aplicación de las sentencias CHAIN-ENDCHAIN
4 | Mensajes en pantalla
A continuación analizaremos el comportamiento de cada uno de los tipos de mensajes existentes en un programa de diálogo.
Mensaje de Error
Imagen 4.1 - El efecto de los mensajes de error en la pantalla
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 datos.
Veamos un ejemplo:
Imagen 4.2 - Ejemplo de la emisión de un mensaje de error en la pantalla
Mensaje de Advertencia
Imagen 4.3 - El efecto de los mensajes de advertencia en la pantalla
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 advertencia presionando la tecla ENTER.
Veamos un ejemplo:
Imagen 4.4 - Ejemplo de la emisión de un mensaje de advertencia en la pantalla
Mensaje de Información
Imagen 4.5 - El efecto de los mensajes de información en la pantalla
El texto de un mensaje de información (I) es desplegado 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 con su ejecución normal desde el punto donde fue suspendido.
Veamos un ejemplo:
 
 
 
Sobre el autor
Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.
Alex Francisco Lemos Collazos
Profesión: Ingeniero en Sistemas - Colombia - Legajo: QS36A
✒️Autor de: 174 Publicaciones Académicas
🎓Cursando Actualmente: Master S/4HANA Material Management
🎓Egresado de los módulos:
- Máster Material Management en SAP S/4HANA LOGISTIC
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Inicial