✒️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 en PAI: 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:
- Chequeo automàtico realizado por el sistema
- Un chequeo manual programado con el comando FIELD de la lògica de proceso de las dynpros.
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.- 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.
- Verificaciòn de campos obligatorios.- 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.
- 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.
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 de àmbito de valores son desplegados si el usuario presiona F4, para ver los posibles valores.
- El sistema verificarà los valores introducidos contra el conjunto de valores del àmbito de valores del dominio correspondiente.
3.- Validaciòn manual
Se puede realizar una validaciòn màs extensa 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".
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òdule Pool.
- Chequeo de un campo contra una taba base de datos
Si no se encuentran registros en la base de datos, el sistema emite un mensaje de error estàndar. Existe un aversiòn ampliada de la instrucciòn anterior que permite enviar mensajes o warnings en caso de que encuentre o nò registros.
FIELD campo:pantalla SELECT * FROM tabla
WHERE condition
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, valor3, ...NOT valor_n)
(BETWEEN valor1 AND valor2)
(NOT BETWEEN valor1 AND valor2)
"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.
Utilizamos la siguiente 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 del PBO. El texto del mensaje es mostrado y solo el campo que ocasionò el error estarà disponible para introducir datos nuevamente.
PROCESSS AFTER INPUT.
FIELD wa_screeen_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 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.
CHAIN
FIELD st_usuatios-dni.
FIELD st_usuarios_nombre-ape.
FIELD st_usuarios-direccion.
FIELD st_usuarios-codigo_postal.
ENDCHAIN.
Las sentencias CHAIN-ENDCHAIN en la lògica del programaciòn, defien una cadenas de procesamiento, dentro se ejecutan las sentencias FIELD y MODULE, las cadenas de procesamiento no se pueden anidar.
Las sentencias CHAIN-ENDCHAIN, pueden se especificadas en el PBO o el PAI, sin embargo en le PBO no tiene efecto.
4.- Mensajes en pantalla.
- mensajes de error.- El texto es un mensaje de error (E), es desplegado en la pantalla actual.
"Todos los campos de pantalla asignados al mòdulo correspondiente(FIELD), se vuelven disponibles para introducir informaciòn de nuevo. El sistema obliga al usuario a re-introducir datos".
- Mensaje de advertencia.- (W) es desplegado en la pantalla actual.
"Todos los campos de pantalla asignados al mòdulo correspondiente(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".
- 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 continùa con su ejecuciòn normal desde el punto donde fue suspendido".
- Mensaje de Èxito.- (S) es desplegado en la pantalla siguiente a la actual.
- Mensaje de interrupciòn.- (A) es desplegado en la pantalla actual
"Luego que el usuario presione la tecla ENTER, el proceso actual es terminado y el proceso regresa a la pantalla inicial".
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta