✒️ABAP La lógica de procesamiento en el PAI y las validaciones
ABAP La lógica de procesamiento en el PAI y las validaciones
- LÓGICA DE PROCESAMIENTO PAI: VALIDACIONES
- VALIDACIÓN DE LOS DATOS DE ENTRADA
Validar los datos de la entrada de la pantalla antes de ser utilizados. Dos tipos:
- Chequeo automático realizado por el sistema.
- Chequeo manual programado con el comando FIELD de la lógica de procesos dynpros.
- VALIDACIÓN AUTOMÁTICA
Realizada automáticamente por el sistema antes de procesar el evento PAI. Los chequeos que hace son:
- Verificación del formato: Por ej/ detectar una letra en un campo numérico, formato incorrecto de fecha, etc.
- Verificación de campos obligatorios: El sistema no dejará continuar hasta que no lo rellenemos.
- Verificación de claves foraneas: Se procesa sólo si un campo de la pantalla se refiere a un campo del diccionario de datos para el que se ha definido un tabla de verificación (Lista de valores F4).
- Verificación de ámbito de valores: En el diccionario de datos se puede definir un ámbito de valores asociado al dominio (los valores que puede contener un campo) (Lista de valores F4).
- VALIDACIÓN MANUAL
Usaremos las instrucciones FIELD y CHAIN...ENDCHAIN.
Con FIELD validamos individualmente cada campo de modo que si hay error, la siguiente entrada de datos sólo permita introducir sobre el campo erróneo sobre el que tengamos la validación.
Podemos hacer distintas validaciones dependiendo de la fuente contra la que contrastemos los valores posibles:
- Chequeo de un campo contra una tabla de base de datos: Si no se encuentran registros en BBDD el sistema emite erro estándar. Hay versiones para enviar mensajes o warnings dependiendo de que encuentre o no registros. FIELD <campo_pantalla> SELECT * FROM <tabla> WHERE <condiciones> WHENEVER (NOT) FOUND SEND ERRORMESSAGE / WARNING <número> WITH <campo-texto>.
- Chequeo de un campo respecto de una lista de valores: FIELD <campo_pantalla> VALUES (<lista_valores>). Donde la lista de valores puede ser ('<valor>'); ('not <valor>'); ('<valor1>','<valor2>',....,NOT '<valorn>'); (BETWEEN '<valor1>' AND '<valor2>'); (NOT BETWEEN '<valor1>' AND '<valor2>')
- Chequeo de un campo en un módulo: FIELD <campo_pantalla> MODULE <módulo_ABAP/4>. Si resulta con error o warning la pantalla se desplega nuevamente pero sin procesar los módulos PBO. El texto del mensaje es mostrado y sólo el campo que ocasionó el error estará disponible para meter datos nuevamente. Ej/ FIELD wa_screen_0100-DNI MODULE validad_dni_0100.
Con CHAIN...ENDCHAIN se encierran un conjunto de instrucciones FIELD, que en caso de error de alguno de los campos con esos FIELD, todos los campos del CHAIN...ENDCHAIN se podrán modificar y los que no pertenezcan al CHAIN...ENDCHAIN estarán bloqueados. Creo que se validan todos con la sentencia MODULE al final.
CHAIN. FIELD vCampo1. FIELD vCampo2. ... FIELD vCampon. MODULE validar_campos. ENDCHAIN.
- MENSAJES EN PANTALLA
Tipos de mensajes en pantalla:
- Mensaje de Error: El campo o campos se vuelve disponible para re-introducir la información. MESSAGE E001 WITH...
- Mensaje de Advertencia: El campo se vuelve disponible, el usuario puede re-introducir dato o ignorar el mensaje pulsando enter. MESSAGE W001 WITH...
- Mensaje de información: Proceso de la pantalla actual es suspendido hasta que pulsemos enter. MESSAGE I001 WITH...
- Mensaje de exito: MESSAGE S001 WITH...
- Mensaje de interrupción: Después de pulsar enter el proceso es terminado y se regresa a la pantalla inicial. MESSAGE A001 WITH...
 
 
 
Sobre el autor
Publicación académica de Ignacio Mart?n Bolumar, en su ámbito de estudios para la Carrera Consultor ABAP.
Ignacio Mart?n Bolumar
Profesión: Ingeniero Inform?tico - Espa?a - Legajo: ZL84Z
✒️Autor de: 94 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Ignacio Mart?n