✒️ABAP La lógica de procesamiento en el PAI y las validaciones
ABAP La lógica de procesamiento en el PAI y las validaciones
1.Validación de los datos de entrada
La función más importante del PAI es la validación de los datos de entrada de la pantalla antes de ser utilizados. Existen dos tipos.
- Un chequeo automático realizado por le sistema.
- Un chequeo manual programado con el comando FIELD de la logia del proceso de las dynpros.
2-Validación automática
EL sistema lo realiza de manera automática hace un serie de chequeos de los datos de entrada antes de procesar el evento PAI. Los siguientes chequeos que realiza
- Verificación del formato.
Valida las entradas de acuerdo a los atributos de los campos si detecta alguna valor incorrecto, se desplegara un mensaje de error y volverán a mostrar los campos para su nueva entrada.
- Verificación de campos obligatorios
Cuando un campo de la pantalla se le asigna el atributo obligatorio , el sistema no continuará con el procesamiento a menos que el campo tenga algún valor.
- Verificación de claves foráneas
La verificación foránea es procesada solo si un campo de la la pantalla se refiere a un campo de diccionario de datos, para la cual ya se ha definido en la tabla de verificación. La cual la funcionalidad de la tecla F4 es activada, significa que las entradas posibles para un campo son desplegadas.
- Verificación 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 asociado a un dominio con un ámbito de valores asociados, ocurren dos cosas:
- Los valores del ámbitos de valores son desplegados si el usuario presiona F4 para ver los valores posibles para el campo de entrada.
- El sistema verificara los valores introducidos en el campo contra el conjunto de valores del ámbito de valores del dominio correspondiente.
3-Validacion Manual
Se utiliza las instrucciones FIELD y CHAIN-ENDCHAIN.
FIELD podemos validar individualmente cada campo de forma que en caso de croe la siguiente entrada de datos solo permita introducir el campo erróneo sobre el que estamos utilizando la instrucción FIELD.
Dependiendo el tipo de sentencia FIELD el mecanismo de chequeo se realizará en la lógica del proceso de la dynpro o de un módulo.
Es posible realizar distintas calidades de un campo de entrada dependiendo de la fuente con la que contrastamos los valores posibles. podemos chequear el campo compararlo con una tabla base de datos con una lista de valores o realizando la validación en un modulo del Module Pool.
- Chequeo de un campo contra una tabla base de datos: si no se encuentra el registro en la base de datos el sistema da un mensaje de error estándar, también en la instrucción anterior permite enviar un mensaje o warnings en caso que encuentre o no el registros.
FIELD <campo_pantalla> SELECT * FROM <tabla>
WHERE <condicion>
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>).
('<valor>')
(not'<valor>')
('<valor1>','<valor2>'.....NOT'<valorn>')
(BETWEEN '<valor1>' AND '<valor2>')
(NOT BETWEEN '<valor1>' AND '<valor2>')
Si el valor introducido por el usuario no corresponde con ningún valor de la lista el sistema emite un mensaje de error.
- Chequeo de un campo en un módulo: chequear un campo determinado con un módulo utilizaremos las siguientes sentencias:
FIELD <campo_pantalla> MODULE <módulo_ABAP/4>.
si el módulo resulta con un error (E) o un mensaje de advertencia (w) la pantalla se despliega nuevamente pero sin procesar los lóbulos PBO. El mensaje solo es mostrado y solo en el campo que ocasiono el error estará disponible para introducir nuevamente.
PROCESS AFTER INPUT.
FIELD wa_screen_0100-dni MODULE validar_dni_0100.
La instrucción CHAIN-ENDCHAIN
Encierra un conjunto de FIELD en caso de error en la entrada de alguno de ellos todos los campos se podrán modificar mientras no pertenezcan al CHAIN-ENDCHAIN estarán bloqueados para la entrada de datos.
CHAIN.
FIELD st_usuario-dni.
FIELD st_usuarios-nombre_ape.
.......
MODULE validar_campos.
ENDCHAIN.
Las sentencias CHAIN-ENDCHAIN de la lógica de procesamiento de una dynpro definen cadenas de procesamientos dentro de las misma se ejecuta la sentencia FIELD y MODULE. Las cadendas que están entre CHAIN-ENDCHAIN formar una cadena de procesamiento no se pueden anidar, no se pueden colocar un CHAIN_ENDCHAIN dentro de otro. Estas pueden ser especificadas en el PAI y PBO( en este no tiene efecto alguno).
4-Mensajes en pantalla
Aquí vamos a analizar el comportamiento tipos de mensajes existente en un programa de dialogo:
Mensaje de error
El texto de un mensaje de error, es desplegado 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 reintroducir datos.
Mensaje de advertencia
El texto del mensaje de advertencia, es desplegado 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 reintroducir los datos o ignorar el mensaje de advertencia presionando la tecla Enter.
Mensaje de información
El texto de un 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
Un mensaje de texto de existo (S), es desplegado en la pantalla siguiente a la actual.
Mensaje de interrupción
El texto de un mensaje de interrupción (A), es desplegado en la pantalla actual. Después de 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 Ninoska Marquez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ninoska Marquez
Profesión: Ing. de Sistema - Honduras - Legajo: FU90M
✒️Autor de: 99 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Me llamo ninoska marquez tengo 44 anos, tengo varios años de trabajar para una empresa donde me desempeño con el cargo de programador junior, soy perseverante, amable, tranquila
Certificación Académica de Ninoska Marquez