VALIDACIÓN DE LOS DATOS DE ENTRADA (PAI)
Una de las funciones mas importantes del PAI es la validación de los datos de entrada de la pantalla antes de la utilización. Existen 2 tipos de validaciones:
Chequeo Automático realizado por el sistema
Chequeo manual programado por el comando FIELD
-------------------------------------------------------
VALIDACIÓN AUTOMATICA
El sistema realiza automáticamente una serie de chequeos de los datos de entrada, estos chequeos son;
Verificación de Formato. El sistema valida las entradas de acuerdo a los atributos de cada campo, si detecta un valor incorrecto se desplegará un mensaje de error y volverá a mostrar los campos para la nueva entrada.
Verificación de campos obligatorios. Cuando un campo es obligatorio , el sistema no continuará con el procesamiento a menos que el campo obligatorio tenga algún valor.
Verificación de claves foráneas. 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. La funcionalidad de la tecla F4 es activada.
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, ocurre lo siguiente:
1- Los valores del ámbito de valore son desplegados si el usuario presiona F4
2-El sistema verificará los valores introducidos en el campo contra el conjunto de valores del ámbito de valores del dominio.
------------------------------------------------------
VALIDACIÓN MANUAL
Además del chequeo automático, es posible realizar una validación mas extensa de los valores de entrada con las instrucciones FIELD y CHAIN-ENDCHAIN
a) FIELD - SE puede validar individualmente cada campo de forma que en caso de error, la siguiente entrada de datos solo permitirá introducir el campo erróneo sobre el que estamos utilizando la instrucción FIELD. Se pueden realizar distintas validaciones de un campo de entrada dependiendo de la fuente y estas son:
Chequeo de un campo contra una tabla BD. Si no se encuentra registros en la BD el sistema emite un mensaje de error estándar
FIELD <campo_pantalla> SELECT * FROM <tabla>
Where <condicion>
Whenever (NOT) FOUND SEND
ERRORMESSAGE /WARNING <NUMERO>
WITH <campo texto>.
Chequeo de un campo respecto a una lista de valores
FIELD <campos_pantalla> VALUES <Lista_valores>.
Si el valor introducido por el usuario no corresponde a ningún valor de la lista emite un error.
Chequeo de un campo en un módulo. Para checar un campo determinado con un módulo utilizaremos la siguiente sentencia:
FIELD <campos_pantalla> MODULE <modulo>Abap/4>.
Si el módulo resulta con error (E) o un warning (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 que se introduzcan datos.
INSTRUCCION CHAIN-ENDCHAIN
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.
Define cadena de procesamiento. Se ejecutan las sentencias field y module. Estas no se pueden anidar. Se puede especificar en el PAI y el PBO ( en este no tiene efecto alguno).
-----------------------------------------------------------------------
MENSAJES DE PANTALLA.
Los mensajes con sus comportamientos son:
1- Mensaje de Error (E)- El texto del mensaje del error (E) es desplegado en la pantalla actual, todos los campos de pantalla asignados al módulo correspondiente se vuelven disponibles para introducir información de nuevo. El sistema obliga al usuario a re-introducir datos.
2- Mensaje de Advertencia o Warning(W)- El texto del mensaje del warning (W) es desplegado en la pantalla actual, todos los campos de pantalla asignados al módulo correspondiente se vuelven disponibles para introducir información de nuevo. El usuario puede re-introducir los datos o ignorar el mensaje de advertencia con ENTER.
3- mensaje de Información (I) - El texto del mensaje de información (I) es desplegado en la pantalla actual,el proceso de la pantalla es suspendido. Después de que el usuario presione ENTER, el programa continua con su ejecución normal desde el punto donde fue suspendido,