![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP La lógica de procesamiento en el PAI y las validaciones
ABAP La lógica de procesamiento en el PAI y las validaciones
![ABAP La lógica de procesamiento en el PAI y las validaciones ABAP La lógica de procesamiento en el PAI y las validaciones](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/229.jpg)
Lógica de procesamiento en PAI: Validaciones
1.- Validación de los datos de entrada.
Una de las funcionas más importantes del PAI es la de validar los datos de entrada antes de ser utilizados. Existen dos tipos de validaciones:
· Verificación del formato, Fechas, importes,..
· Un chequeo manual programado con el comendo FIELD de la lógica de proceso de las dynpros.
2.- Validación automática.
Estos chequeos son los siguientes:
· Verificación del formato, Fechas, importes,..
· Verificación de campos obligatorios.
· 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 aun 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.
· Verificaciones del ámbito de valores. En el diccionario de datos se puede definir un ámbito de valores asociados a un dominio. Si se define un campo de pantalla con referencia a un dominio con un ámbito de valores asociado, ocurre lo siguiente:
o Los valores del ámbito de valores son desplegados si el usuario presiona F4 para ver los posibles valores para el campo de entrada.
o 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 validaciones más extensas con las instrucciones FIELD y CHAN-ENDCHAIN.
Con FIELD podemos validar individualmente cada campo.
NOTA: Dependiendo del tipo de sentencia FIELD que utilicemos, el mecanismo de chequeo se realizara en la lógica de proceso de la dynpro o en un módulo.
· Chequeo de un campo contra una base de datos. Si no se encuentran registros en la base de datos el sistema emite un mensaje de error estándar.
FIELD <campo_pantalla> SELECT FROM <tabla>
WHERE <condicion>
WHENEVER (NOT) FOUND SEND
ERRORMESSAGE / WARNING <número>
WITH <campo-texto>.
· Chequeo de un campo respecto a una lista de valores.
o FIELD <campo_pantalla> VALUES (<lista_valores>). Donde lista de valores puede ser:
§ (‘<valor>’)
§ (not ‘<valor>’)
§ (‘<valor 1>’,’<valor 2>’,…. NOT ‘<valor n>’)
§ (BETWEEN ‘<valor 1>’ AND ‘<valor 2>’)
§ (NOT BETWEEN ‘<valor 1>’ AND ‘<valor 2>’)
NOTA: 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. Se utiliza la sentencia: FIELD <campo_pantalla> MODULE <módulo_ABAP>. 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 de PBO. El texto del mensaje es mostrado y solo el campo que ocasionó el error estará disponible para introducir datos nuevamente.
PROCESS AFTER INPUT.
FIELD wa_screen_0100-dni MODULE validar_dni_0100.
La instrucción CHAIN-ENDCHAIN encierra un conjunto de instrucciones FIELD, que en caso de error en la entrada del 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.
4.- Mensajes en pantalla.
Analizamos el comportamiento de cada uno de los tipos de mensajes existentes en un programa de diálogo.
· Mensajes de error. El texto del mensaje de error “E” es desplegado en la pantalla actual.
NOTA: 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.
· Mensajes de advertencia. El texto del mensaje “W” es desplegado en la pantalla actual.
NOTA: Todos los campos de pantalla asignados al 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 ENTER.
· Mensaje de información. El texto del mensaje “I” es desplegado en la pantalla actual.
NOTA: El proceso de la pantalla actual es suspendido. Después de que el usuario presione la tecla ENTER, el programa continúa con su ejecución normal desde el punto donde fue suspendido.
· Mensaje de Éxito. El texto del mensaje “S” es desplegado en la pantalla siguiente a la actual.
· Mensaje de interrupción. El texto del mensaje “A” es desplegado en la pantalla actual.
NOTA: Luego que el usuario presione ENTER, el proceso actual es terminado y el proceso regresa a la pantalla inicial.
 
 
 
Sobre el autor
Publicación académica de Juan Hernández, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Hernández
Profesión: Programador Informático - España - Legajo: XQ15K
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: PartTime