
La logica de procesamiento en el PAI y las validaciones.
Validación de datos de entrada en DIMPRO.
- Se explicó la importancia de validar los datos de entrada en una DIMPRO antes de ser utilizados.
- Existen dos tipos principales de validaciones: automáticas (realizadas por el sistema) y manuales (programadas en la lógica de proceso del PAI con la sentencia Fill).
Validaciones automáticas
- El sistema valida automáticamente el formato de los campos según sus atributos, mostrando mensajes de error si se ingresa un valor incorrecto.
- Si un campo es obligatorio y no se completa, el sistema no permite continuar.
- La validación del ámbito de valores se gestiona a través del diccionario de datos y los dominios asociados a los campos; solo se permiten los valores definidos en el dominio y el sistema despliega posibles valores con F4.
- Ejemplos ilustran los mensajes de error al introducir valores inválidos o dejar campos obligatorios vacíos.
Validaciones manuales con Fill y Chain
- La sentencia Fill permite validar manualmente campos específicos y, en caso de error, solo esos campos quedan habilitados para su corrección.
- Se puede crear un modul para validar uno o varios campos utilizando Fill, mostrando mensajes de error personalizados al usuario.
- Si todos los campos quedan bloqueados tras un error, se recomienda utilizar la sentencia CHAIN EN CHAIN para agrupar varios campos, de modo que solo estos permanezcan editables ante errores.
- Ejemplos muestran cómo modularizar estas validaciones y el efecto práctico en la pantalla de entrada de datos.
Tipos de mensajes en pantalla
- Se describieron los diferentes tipos de mensajes que pueden mostrarse en programas de diálogo:
- Mensaje de error: obliga al usuario a corregir los datos y volver a ingresarlos.
- Mensaje de advertencia: permite corregir o ignorar el mensaje presionando Enter.
- Mensaje de información: se muestra en una ventana de diálogo, suspende el proceso hasta que el usuario presione Enter.
- Mensaje de éxito: informa que alguna acción se realizó correctamente.
- Mensaje de interrupción: despliega una ventana de diálogo y termina el proceso actual al finalizar.
- En todos los casos se mostraron ejemplos prácticos de los mensajes y su efecto en la interacción del usuario.
Cadenas de procesamiento DIMPRO
Definición y uso de cadenas de procesamiento
- Las cadenas de procesamiento en una DIMPRO se definen utilizando la sentencia "chain ... endchain".
- Dentro de una cadena se ejecutan de manera secuencial las sentencias "field" y "module".
- Todas las sentencias comprendidas entre "chain" y "endchain" forman una única cadena de procesamiento.
- No está permitido anidar una cadena de procesamiento dentro de otra (no se puede colocar un "chain ... endchain" dentro de otro).
Consideraciones en PAI y PBO
- La sentencia "chain ... endchain" puede especificarse tanto en PAI como en PBO.
- Su uso en PBO no tiene efecto alguno, sólo es relevante en PAI.
Validaciones en Programas de Diálogo
Resumen de validaciones en PAI
- Se repasó el funcionamiento del evento PAI en programas de diálogo, que ocurre después de interactuar con la pantalla, como hacer clic en un botón o presionar Enter.
- Existen dos maneras de hacer validaciones en un programa de diálogo: automáticas (realizadas por el sistema) y manuales (programadas por el usuario).
- Se mostró cómo ejecutar un programa de diálogo y analizar ambos tipos de validaciones.
Validaciones manuales y automáticas
- Se ejemplificó el uso de validaciones automáticas a través de la definición de campos, como el campo DNI, que solo acepta números.
- Las validaciones manuales se implementan con módulos específicos, como validar_DNI_0100, que verifica si el DNI ingresado existe en la base de datos.
- Si el DNI no existe, se muestra un mensaje de error personalizado.
Módulos de validación para múltiples campos
- Para pantallas con varios campos, se puede usar un único módulo de validación que revise todos los campos relevantes (DNI, nombre, apellido, estado, dirección, código postal, fecha de nacimiento, estado civil).
- Se detalló cómo si ocurre un error en uno de los campos, se muestra un mensaje de error y cómo la sentencia chain end chain permite reingresar datos sin bloquear la pantalla.
- Si no se utiliza chain end chain, tras un error todos los campos quedan bloqueados y no se puede continuar.
- Se remarcó la importancia de usar siempre chain end chain en pantallas con campos de entrada y salida.
Mensajes de error, información e interrupción
- Se mostraron las diferencias entre los mensajes de error, de información y de interrupción.
- Los mensajes de información aparecen en una ventana sobre la pantalla actual, no bloquean el proceso y pueden ser salteados con Enter.
- Los mensajes de interrupción combinan el bloqueo de la lógica con una ventana independiente y sacan al usuario de la transacción si ocurren.
Sugerencias prácticas
- Se aconseja utilizar siempre chain end chain tras validaciones para evitar el bloqueo completo de la pantalla.
- Se demostró la importancia de distinguir entre tipos de mensajes dependiendo de la severidad del error.
- Revisar y asegurar que todos los módulos de validación implementen correctamente la sentencia chain end chain.
- Validar que los mensajes de información y error estén bien diferenciados y aplicados según corresponda.
- Comprobar la existencia de todos los campos necesarios para validación en las pantallas múltiples.