✒️ABAP La lógica de procesamiento en el PAI y las validaciones
ABAP La lógica de procesamiento en el PAI y las validaciones
VALIDACION DE LOS DATOS DE ENTRADA
Una de las funciones más importantes del PAI es la de validad datos de entrada de la pantalla antes de ser utilizados. Existen dos tipos de validaciones
CHEQUEO AUTOMATICO REALIZADO POR EL SISTEMA
El sistema realiza automáticamente una serie de chequeos de los datos antes de procesa un evento PAI:
· Verificación del formato: según atributos del campo
· Verificación de campos obligatorios
· Verificación de claves foráneas: se refiere a un campo del diccionario dedatos para el cual se ha definido una tabla de verificación.
· Verificación del ámbito de valores: En el diccionario de datos se puede definir una ámbito de valores asociado a un domino. El sistema verificará los valores introducidos en el campo contra el conjunto de valores del dominio.
CHEQUEO MANUAL PROGRAMADO CON LA SENTENCIA FIELD (de la lógica de procesos dynpro)
Mediante las sentencias FIELD y CHAIN-ENDCHAIN podemos hacer validaciones mas extensas.
FIELD: podemos validar individualmente cada campo de forma que en caso de error la siguiente entrada dedatos solo permite introducir el campo erróneo sobre el que estamos utilizando la instrucción FILED.
Nota: Dependiendo del tipo de sentencia FILED que utilicemos, el mecanismo de chequeo se realizará en la lógica de proceso de la dynpro o en un módulo.
Podemos realizar validaciones de un campo de entrada contra una table de base de datos, una lista de valores o en un módulo.
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.
FIELD <campo_pantalla> SELECT * FROM <tabla> WHERE <condición> WHENEVER (NOT) FOUND SEND ERRORMESSAGE / WARNING <numero> WITH <campo-texto>.
CHEQUEO DE UN CAMPO RESPECTO DE UNA LISTA DE VALORES
FIELD <campo_pantalla> VALUES (<lista_valores>).
Donde una lista de valores puede ser:
(‘<valor>’)
(not’<valor>’)
(‘<valor1>’,’<valor2>’,…NOT’<valor n>’)
(BETWEEN ‘<valor1>’ AND ‘<valor2>’)
(NOT BETWEEN ‘<valor1>’ AND ‘<valor2>’)
NOTA: si el valor introducido por el usuario no corresponde a ningún valor de la lista el sistema emite un mensaje de error.
CHEQUE DE UN CAMPO EN UN MODULO
FIELD <campo_pantalla> MODULE <modulo_ABAP>.
Si el modulo resulta E (mensaje de error) o W (mensaje de advertencia) la pantalla se despliega nuevamente pero sin procesar los modulos del PBO. Se muestra el texto del mensay y solo el campo que provoco el error estará disponible para introducir datos.
CHAIN-ENDCHAIN: encierra un conjunto de instrucciones FIELD. Todos los campos del CAHIN-ENDCHAIN se podrán modificar, mientras que los que pertenecen al conjunto estarán bloqueados para la entrada de datos
Ejemplo:
CHAIN.
FIELD st_usuarios-dni.
FIELD st_usuarios-nombre_ape.
FIELD st_usuarios-dirección.
MODULE validar_campos.
ENDCHAIN.
NOTA: no se pueden anidar CHAIN-ENDCHAIN, se puede utilizar tanto en el PBO como en el PAI, pero en el PBO no tiene mucho sentido.
MENSAJES EN PANTALLA
Mensaje de ERROR
Se despliega el texto de un mensaje de error (E) 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.
Mensaje de Advertencia
Se despliega el texto de un mensaje de error (W) 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 ignrar pulsando ENTER.
Mensaje de Información
Se despliega el texto de un mensaje de error (I) en la pantalla actual
El proceso de la pantalla actual es supendido.
Después de que se presione ENTER el programa continua con su ejecución normal desde el punto donde fue suspendido.
Mensaje de Éxito
Se despliega el texto de un mensaje de error (S) en la pantalla actual
Mensaje de Interrupción
Se despliega el texto de un mensaje de error (A) en la pantalla actual
Después de que el usuario pulse ENTER el proceso actual se termina y regresa a la pantalla inicial.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor ABAP.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial