✒️ABAP La lógica de procesamiento en el PAI y las validaciones
ABAP La lógica de procesamiento en el PAI y las validaciones
Unidad 2: La programación de diálogo
Lección 5: La lógica de procesamiento en el PAI y las validaciones
Validación de los datos de entrada:
Una de las funciones más importantes del PAI, es la de validar los datos de ent. antes de ser usados. Existen dos formas:
- Chequeo automático, hecho por el sist.
- Chequeo manual programado con el comando FIELD de la lógica de proceso de las dynpros.
Veremos cada una:
VALIDACIÓN AUTOMÁTICA:
El sist. hace chequeos de los datos de entrada antes de procesar el evento PAI. Estos son:
- Verificación del formato: el sist. valida las entradas de acuerdo a los atributos de cada campo. Si se detecta un valor incorrecto, se muestra un msj de error y se verán nuevamente los campos para volver a llenar.
- Verificación de campos obligatorios: si el campo no se completa, el sist. no continua con el procesamiento, a menos que se llene.
- Verificación de claves foráneas: es procesada si solo un campo de la pantalla se refiere a un campo del DICC para el cual se ha definido una tabla de verificación.
A la vez, la funcionalidad de F4 es activada, lo que significa que las posibles ent. para un campo son desplegadas. - Verificación del ámbito de valores: en el DICC 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 sig:
Los valores del ámbito son desplegados si el usuario presiona F4 para ver los posibles valores para el campo.
El sist. verifica los valores introducidos en el campo contra el conjunto de valores del ámbito de valores del dominio correspondiente.
VALIDACIÓN MANUAL:
Esta validación es más extensa y se hace con las instrucciones FIELD y CHAIN-ENDCHAIN.
El FIELD valida individualmente los campos, es decir, si hay un error, no tendremos que completar todo de 0, solo el campo que está mal.
Dependiendo del tipo de sentencia FIELD que se use, el mecanismo de chequeo se hace en la lógica de proceso de la dynpro o en un módulo.
Hay diferentes validaciones de un campo de ent. dependiendo de la fuente con la que contrastamos los valores posibles. Así podemos chequear el contenido de un campo, comparándolo con una TBD, con lista de valores o haciendo la validación el el módulo del Module Pool.
Estas opciones son:
- Chequeo de un campo contra una TBD: si no se encuentran registros en la BD el sist. emite un msj de error. Existe una versión ampliada de la instrucción anterior que merite enviar msjs o advertencias en caso de que se encuentre o no registros:
- Chequeo de un campo respecto a una lista de valores:
Donde la lista de valores puede ser:
- Chequeo de un campo en un módulo: para chequear un campo determinado con un mód. usamos la sentencia:
Si el mód. resulta con un error (E) o msj de advertencia (W), la pantalla es desplegada nuevamente pero sin procesar los mód. del PBO. El texto del msj es mostrado y solo el campo que produjo el error esta disponible para completar.
Instrucción CHAIN-ENDCHAIN:
Encierra un conjunto de instrucciones FIELD, en caso de error en la ent. de alguno de ellos, todos los campos del CHAIN-ENDCHAIN se podrán modificar, mientras que los que no pertenezcan a esta instrucción, estarán bloqueados para la entrada de datos.
Además, dentro de esta instrucción se ejecuta la sentencia MODULE.
Los CHAIN-ENDCHAIN no pueden anidarse, es decir, no puede haber un CHAIN-ENDCHAIN dentro de otro.
Ej:
Mensajes en pantalla:
Comportamiento de cada tipo de msj existente en un programa de diálogo:
- Msj de error (E): los campos de pantalla asignados a la instrucción FIELD, se vuelven disponibles para introducirles info nuevamente. El sist. obliga al usuario a re-introducir los datos.
- Msj de advertencia (W): los campos de pantalla asignados al mód. correspondiente (FIELD), se vuelven disponibles para introducir info de nuevo, pero el usuario puede cargar todo de nuevo o ignorar el msj con ENTER.
- Msj de información (I): el proceso de la pantalla actual se suspende. Luegode que el usuario presione ENTER, el programa continúa con la ejecución normal.
- Msj de éxito (S).
- Msj de interrupción (A): luego que el usuario presione ENTER, el proceso actual se termina y regresa a la pantalla inicial.
 
 
 
Sobre el autor
Publicación académica de Candela Estefan?a Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefan?a Calzada
Profesión: T?cnica Electr?nica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingenier?a en sistemas de informaci?n. poseo amplia experiencia en edici?n de videos. tengo bases entorno a la programaci?n que quiero continuar consolidando.
Certificación Académica de Candela Calzada