INTRODUCCION Capitulo V Interfase y Programación El presente capitulo muestra los aspectos más importantes sobre la base de datos DB2 y el lenguaje de programación Magic 9.3, utilizados en el desarrollo de la nueva aplicación de Seguros de Vida de la Caja Mutual de los Empleados del Ministerio de Educación. Así mismo, se da a conocer la filosofía de programación en Magic 9.3 y los aspectos técnicos más importantes de la Base de Datos DB2, las ventajas sobre otras bases de datos como SQL Server y Oracle. Además, se muestra la interfase del usuario del nuevo Sistema de Seguros de Vida y los principales procesos cubiertos por el mismo, por otro lado se muestran las diferentes operaciones que realiza el usuario final en la atención de los afiliados de la Caja Mutual de los Empleados del Ministerio de Educación. 71 CAPITULO V INTERFASE Y PROGRAMACION A.- LENGUAJE DE PROGRAMACION. Magic es un lenguaje de programación con una filosofía diferente a otros lenguajes y herramientas de desarrollo. Estas diferencias permiten a Magic ser extremadamente rápido en el desarrollo de aplicaciones y en el mantenimiento de las mismas. Magic transforma lo que los programadores conocen como programación, en cuanto a los términos de algoritmos procedimentales y la gran cantidad de líneas de código que se ejecutan instrucción por instrucción. Para poder aprender a programar en Magic se hace necesario dejar de pensar en líneas de código procedimentales y de grandes listados de código. 1.- Lenguajes de Programación Tradicionales. Para aprender a programar en Magic es necesario entender la filosofía de funcionamiento del mismo. Magic nace de la frustración de crear grandes aplicaciones de misión crítica en lenguajes de programación tradicionales. Muchos lenguajes de programación consisten de una lista secuencial de comandos. Los programas ejecutan los comandos en el mismo orden en que fueron ingresadas las líneas de código. Además este orden es crítico para que el programa trabaje. En los lenguajes tradicionales cada acción necesita una o más instrucciones. Los lenguajes de programación tradicionales requieren cientos de líneas de código los cuáles son almacenados en archivos de texto en forma estructurada. Esto hace muy dificultoso encontrar los errores de programación y aplicar las modificaciones requeridas. En muchos ambientes de negocio los programas requieren constantemente de cambios. 72 2.- Diferencia de Magic versus los Lenguajes de Programación Tradicional. • Magic es un Lenguaje no procedimental. Muchos lenguajes de programación son altamente procedimentales, lo que significa una larga lista de comandos ordenados para que funcionen los programas. En Magic en cambio todas sus operaciones no son procedimentales. Una operación en Magic es una parte de una regla que los programas deberán seguir y no son comandos que un programa deba ejecutar. En muchos casos el orden de las operaciones no genera ningún efecto en la ejecución del programa. • Reducido numero de Instrucciones. Un lenguaje típico procedimental contiene cientos de comandos específicos para la codificación de programas. Magic consta de solo 13 operaciones de alto nivel de ejecución. Una operación de Magic puede ejecutar diferentes acciones dependiendo como se use esta. Además Magic ofrece una ventaja debido a que es mas fácil aprender los comandos de programación debido a que son muy pocos. • Para la Ejecución se requiere de menos programación. En un lenguaje de programación tradicional cada aspecto de la aplicación es construida usando código. En Magic muchos aspectos de la aplicación son preconstruidos debido a que se usa el ‘Runtime Engine’ es una base de datos con aplicaciones terminadas y que provee automáticamente una interfase de usuario, ingreso completo a las entradas/salidas del disco duro, opciones de seguridad integradas y muchas otras características. No se necesita código para construir estas características pues son instantáneas y pueden ser modificadas por las 13 operaciones antes mencionadas. 73 • Programación Visual. Muchas de las funciones que requieren código en los lenguajes de programación tradicional son expresadas visualmente en Magic. Por ejemplo Magic no tiene comandos para desplegar campos en una forma. Instantáneamente se simplifica el diseño de una forma en Magic usando en el editor solamente el Mouse. No existe código oculto en la forma, ni tampoco se genera. • Los programas son almacenados en tablas y no en archivos de texto. La diferencia más importante entre Magic y otros lenguajes de programación es que nunca usa un editor de texto para escribir programas. Por que Magic no se basa en archivos de texto y las instrucciones no se guardan en simples archivos de texto. Cualquier programa que pueda crear en un lenguaje procedimental, también puede ser creado en Magic, usando las 13 operaciones, en una fracción de tiempo. ¿Cuál es la estructura de un programa creado en Magic? Magic fue creado con la meta de eliminar la codificación de programas. Magic logra esta meta gracias al alto rendimiento de sus “Tareas” (TASK) de abrir y cerrar archivos, de la aceptación de entradas del usuario final, de sus niveles de seguridad, etc, las cuales normalmente requieren de la escritura de código. ¿Que es una TASK? La esencia de la construcción de aplicaciones en bloque son las TASK (tareas). Una tarea es un lazo con un juego de instrucciones o comandos, los cuales se repiten muchas veces. Las Task se dividen en dos: Online Task y Batch Task. 74 Online Task. En una tarea online, el usuario controla la lectura de los registros usando el teclado. El usuario es libre de usar las teclas de movimiento para moverse a través de los registros. Cada ves que el usuario se mueve, Magic guarda la información del registro previo, leyendo el nuevo registro y mostrándolo en la pantalla. Cualquier programa que interactué con el usuario (mensajes a la pantalla, consultas, entradas de datos, etc) son tareas online. Batch Task . En una tarea batch, Magic automáticamente recorre todos registros de un archivo principal. Este simplemente inicia con el primer registro de un archivo los lee uno por uno hasta que lee el ultimo registro del Archivo. Cada vez que magic lee un nuevo registro este ejecuta una acción (impresiones, actualizaciones y elimina). Cualquier programa que ejecute procedimientos automáticos como reportes, actualizaciones, exportación/importación de archivos de texto son tareas Batch. B.- OPERACIONES DE MAGIC. Magic es un lenguaje de programación de post cuarta generación que consiste de 13 operaciones básicas. A continuación se detalla el funcionamiento de cada una de las operaciones: Tabla de Operación de Magic. 1. Select 2. Verify Exp Con esta operación Magic hace uso de los de los diferentes campos de las diferentes tablas de Datos. Esta operación es utilizada para desplegar mensajes de error y para validar ingresos de datos. 3. Link Estable una relación uno a uno con otros archivos 4. End Link Es utilizada en conjunto con la operación Link. 5. Block Agrupa un conjunto de instrucciones dentro de un 75 bloque lógico para la implementación de condiciones lógicas sobre este. 6. End Block Es utilizada en conjunto con la operación Link. Call es una subrutina, usada para establecer relaciones 7. Call de uno a muchos, para invocar programas externos y para ejecutar rutinas programadas en otros lenguajes de programación. Es una acción especializada que se implementa como 8. Evaluate Exp una función en Magic. Esta operación es utilizada par invocar funciones. 9. Update 10. Output Form 11. Input Form 12. Browse on Exp Esta operación se utiliza para actualizar cualquier campo o variable. Envía cualquier texto o dato a un dispositivo de salida o archivo de texto. Importa datos de Archivos de texto en formato ASCII. Permite al usuario visualizar o editar un archivo de texto. Esta operación permite la salida temporal del ambiente 13. Exit on Exp de Magic con el objetivo de ejecutar un comando del sistema operativo. Es necesario mencionar que cualquier programa creado en un lenguaje procedimental, podrá ser creado en Magic. Mayor información sobre el propósito, uso y parámetros de las operaciones de Magic, Ver anexo “H” e “I”. C.- BASE DE DATOS DB2. La base de datos DB2 es uno de los principales software de Base de Datos Relacional líder a nivel mundial. La familia DB2 se expande a través de una gran variedad de plataformas como son: Linux, Unix, Windows y la serie de servidores IBM OS/400, OS/390, Z/OS, etc. Con fuerza e innovación 76 tecnológica, la DB2 provee grandes valores a las empresas de todos los tamaños. La automatización de las características y el bajo precio son razones importantes para los consumidores. Así mismo DB2 es un Sistema de Base de Datos Relacional (RDBMS) que habilita al usuario a crear, actualizar y controlar los datos, usando el lenguaje SQL (Structure Query Lenguaje). Diseñada para reunir información necesaria para pequeñas y grandes empresas. DB2 es altamente escalable, extensible, fácil de usar y de manejar, lo que permite administrar aplicaciones de base de datos criticas. A continuación se detalla las principales características de las base de datos DB2: 1.- Escalabilidad. La base de datos DB2 puede ejecutarse en equipos portátiles como también en equipos que contienen sistemas con Procesadores Paralelos Masivos (MPP) con millones de datos y cientos de usuarios. Esta capacidad de escalabilidad funciona de la misma manera en todos los sistemas, lo cual minimiza el costo y maximiza el uso de los datos a los usuarios. 2.- Capacidad de Multimedia. DB2 permite extender la capacidad de recolección de datos requeridos por las organizaciones, las cuales invocan aplicaciones avanzadas en ambiente multimedia, requiriendo el almacenamiento de imágenes, audio y video. Las aplicaciones multimedia son soportadas por las capacidades extendidas de la base de datos DB2, las que permiten utilizar la nuevas tecnologías de XML (eXtensible Markup Language), que se fundamentan en las habilidades de búsquedas rápidas y de la utilización de objetos relacionados para el Lenguaje SQL. 77 3.- Habilitada para uso de tecnología WEB. DB2 tiene integrada la tecnología WEB la cual permite el acceso a los datos a través de la Internet o intranet proveyendo un ambiente muy seguro a las aplicaciones. Esta característica permite construir aplicaciones e-Business o aplicaciones para Internet que permiten obtener ventajas competitivas, se brindan mejores servicios y se reducen costos. 4.- Fácil uso y manejo. La base de datos es fácil de configurar, usar y operar. Esto incluye una suite completa de herramientas de administración que permite hacer fácilmente su instalación, administración y operación remota. Esta cuenta también con herramientas de programación amigables que permiten la creación de aplicaciones rápidamente. 5.- Acceso Universal. La base de Datos DB2 puede ser accesada desde cualquier cliente conectado a una red LAN o WAN. Tiene la capacidad de construir transacciones de replicación y distribución de los datos, a través de cualquier red, lo cual provee servicios de calidad y productividad. 6.- Soporte Multiplataformas. DB2 es una base de datos abierta. Esta puede ejecutarse en las más populares plataformas Unix e Intel. Soportando la mayor cantidad de estándar de distribución de datos, los cuales pueden ser accesados por cientos de lenguajes de programación, como también por aplicaciones desarrolladas, que se ejecutan en red. Principales Objetos de la Base de Datos. La base de Datos DB2 utiliza una serie de objetos en su funcionamiento. A continuación se detallan los más comunes: 78 • Sistemas. El objeto en el nivel más alto de la jerarquía de DB2 es un sistema. Un sistema representa una instalación de DB2. Un sistema puede tener una o varias instancias de DB2, cada una de las cuales puede gestionar una o varias bases de datos. Las bases de datos pueden particionarse y sus espacios de tabla residir en los grupos de particiones de base de datos. Los espacios de tabla, a su vez, almacenan los datos de tabla. El Centro de control mantiene una lista de sistemas: registra la información necesaria para comunicarse con cada sistema (por ejemplo, su dirección de red, el sistema operativo y el protocolo de comunicación). Puede: • Añadir un sistema utilizando el Asistente de configuración • Añadir un sistema al Centro de control • Eliminar un sistema utilizando el Asistente de configuración • Eliminar un sistema del Centro de control • Instancias. Una instancia es un entorno de gestor de bases de datos lógico donde puede catalogar bases de datos y establecer parámetros de configuración. Puede crear múltiples instancias en el mismo servidor físico proporcionando un entorno de servidor de bases de datos exclusivo para cada instancia. Con múltiples instancias, puede: • Utilizar una instancia para un entorno de desarrollo y otra instancia para un entorno de producción. • Ajustar una instancia para un entorno en particular. • Restringir el acceso a la información importante. • Controlar la asignación de las autorizaciones SYSADM, SYSCTRL y SYSMAINT para cada instancia. 79 • Optimizar la configuración del gestor de bases de datos para cada instancia. • Limitar el impacto de una anomalía de instancia. En el caso de una anomalía de instancia, sólo esa instancia se ve afectada. Las demás instancias pueden continuar funcionando normalmente. Múltiples instancias requieren: • Recursos del sistema adicionales (memoria virtual y espacio en Disco) para cada instancia. • Más administración • En el sistema operativo Windows, asegúrese de que ningún nombre de instancia sea igual a un nombre de servicio. Puede: • Añadir una instancia utilizando el Centro de control o el Asistente de Configuración • Eliminar una instancia utilizando el Centro de control o el Asistente de configuración. • Configurar una instancia utilizando el Centro de control o el Asistente de configuración • Bases de datos. Una base de datos relacional presenta los datos como una colección de tablas.Una tabla consiste en un conjunto definido de columnas y cualquier número de filas. Los datos de cada tabla están relacionados de forma lógica y pueden definirse relaciones entre tablas. Los datos pueden verse y manipularse basándose en principios matemáticos y operaciones llamadas relaciones (por ejemplo, INSERT, SELECT y UPDATE). 80 Una base de datos se describe a sí misma ya que contiene, además de los datos, una descripción de su propia estructura. Incluye un conjunto de tablas de catálogos del sistema, que describen la estructura lógica y física de los datos; un archivo de configuración, que contiene los valores de los parámetros asociados a la base de datos; y una anotación cronológica de recuperación, que registra las transacciones en curso y las transacciones que pueden archivarse. Las bases de datos pueden ser locales o remotas. Una base de datos local está localizada físicamente en la estación de trabajo en uso, mientras que una base de datos de otra máquina se considera remota. Puede: • Crear una base de datos utilizando el Centro de control • Añadir una base de datos utilizando el Centro de control o el Asistente de configuración. • Eliminar una base de datos desde el Centro de control • Realizar una copia de seguridad utilizando el Centro de control • Restaurar una base de datos utilizando el Centro de control • Configurar una base de datos utilizando el Centro de control • Conectar a una base de datos utilizando el Centro de control • Supervisar una base de datos con el supervisor de sucesos. • Supervisar la salud de la base de datos con el Centro de salud • Espacios de tabla. El espacio físico de una base de datos se organiza en una colección de Espacios de tabla. Cada espacio de tabla consiste en una colección de Contenedores, cada uno de los cuales es una asignación de almacenamiento físico (por ejemplo, un directorio de una máquina, un archivo físico o un dispositivo, como una unidad de disco duro). El 81 sistema intenta distribuir los datos por los contenedores de sus espacios de tabla. Cada tabla se asigna a un espacio de tabla. Para mejorar el rendimiento para hacer copias de seguridad de espacios de tabla, puede almacenar los índices de la tabla en un segundo espacio de tabla y los objetos grandes de la tabla en un tercer espacio de tabla. Puede asignarse más de una tabla al mismo espacio de tabla. En un entorno de base de datos particionada, los espacios de tabla residen en grupos de particiones de base de datos. La asignación de tablas a espacios de tabla y la correlación de espacios de tabla con almacenamiento físico le proporciona el control sobre el rendimiento de la base de datos. Por ejemplo, puede utilizar dispositivos de almacenamiento más rápidos para las tablas utilizadas con más frecuencia y almacenar los datos utilizados con menos frecuencia en dispositivos más lentos. Hay dos tipos de espacios de tabla: • Los espacios de tabla del espacio gestionado por el sistema (SMS), en el que el gestor del sistema de archivos del sistema operativo asigna y gestiona el espacio en el que se almacena una tabla. El usuario decide la ubicación de los archivos, DB2 controla sus nombres y el sistema de archivos es responsable de gestionarlos. El tamaño de contenedor es dinámico y lo determina el espacio disponible en el dispositivo. 82 • Los espacios de tabla del espacio gestionado por la base de datos (DMS), en los que el gestor de bases de datos controla el espacio de almacenamiento. • Este modelo de almacenamiento consta de una cantidad limitada de dispositivos cuyo espacio lo gestiona DB2. El administrador de base de datos decide los dispositivos que deben utilizarse y DB2 gestiona el espacio en esos dispositivos. El administrador también especifica la cantidad de espacio que puede asignarse y DB2 no excederá de ese límite. Puede utilizar el Centro de control para: • Crear un espacio de tabla • Eliminar un espacio de tabla • Gestor de bases de datos. El gestor de bases de datos incluye el motor de bases de datos y los recursos de acceso a los datos como, por ejemplo, el procesador de línea de mandatos y las interfaces de aplicación. El motor de bases de datos gestiona los datos, controla todos los accesos a los datos, genera paquetes, genera vías de acceso optimizadas, proporciona gestión de transacciones, garantiza la integridad y seguridad de los datos y proporciona control de simultaneidad. Una instancia de DB2 es un entorno de gestor de bases de datos lógico donde pueden catalogarse las bases de datos y establecerse los parámetros de configuración. Pueden crearse múltiples instancias del gestor de bases de datos en un único servidor y puede utilizarse para 83 diferentes propósitos como, por ejemplo, para entornos de prueba y producción separados. Los archivos de programa de DB2 se almacenan físicamente en una ubicación de un sistema en particular. Cada instancia del gestor de bases de datos que se crea comparte estos archivos para que los archivos de programa no deban duplicarse para cada instancia que se crea. Puede utilizar el Asistente de configuración y el Centro de control para ver, actualizar y restaurar los parámetros de configuración del gestor de bases de datos. • Catálogos. Los catálogos son tablas especiales que contienen información acerca de todos los objetos de una base de datos. Esto incluye objetos como, por ejemplo, tablas, vistas e índices y controles de seguridad como por ejemplo, restricciones y autorizaciones específicas de la base de datos. Estas tablas de catálogos del sistema se crean al crear la base de datos. Cuando se crea, modifica o elimina un objeto, DB2 inserta, actualiza o elimina las filas del catálogo que describen el objeto y la forma en que ese objeto se relaciona con otros objetos. Por ejemplo, cuando se utiliza el Centro de control para crear una tabla, DB2 añade filas a las tablas de catálogos del sistema. Los catálogos son principalmente de sólo lectura porque DB2 los mantiene. Sus datos están disponibles mediante los recursos de consulta de SQL normal. Sin embargo, hay un conjunto especial de vistas de catálogo que se pueden actualizar. Este conjunto de vistas se define en los catálogos que se utilizan para actualizar las estadísticas de base de datos. La actualización manual de estas vistas proporciona un medio para influir en 84 el optimizador del sistema o realizar experimentos en bases de datos de prueba. Puede: • Utilizar el Centro de control para actualizar las estadísticas de catálogos del sistema de los datos de una tabla y sus índices. • Utilizar Visual Explain para examinar los resultados de actualizaciones manuales sobre experimentos de optimización • Paquetes. Un paquete es un objeto producido durante la preparación del programa que contiene todas las sentencias de SQL compiladas y controlar las estructuras de control utilizadas en tiempo de ejecución en un solo archivo fuente. Un paquete está compuesto de secciones. Una sección contiene la forma compilada de una sentencia de SQL. Aunque cada sección corresponde a una sentencia, no cada sentencia tiene una sección. Las secciones creadas para el SQL estático son comparables la forma vinculada, u operativa, de sentencias de SQL. Las secciones creadas para SQL dinámico son comparables a las estructuras de control del área de control utilizadas en tiempo de ejecución. Puede utilizar el Centro de control para otorgar o revocar privilegios sobre un paquete. • Alias. Un alias es un nombre alternativo para una base de datos, tabla, vista o incluso otro alias. • Alias de base de datos. Los nombres alias de base de datos son sinónimos locales que se dan a las bases de datos locales y remotas. No puede crear una base de datos 85 en un servidor DB2 si el nombre de base de datos ya existe en el servidor. Sin embargo, un cliente DB2, puede tener conexiones con dos bases de datos diferentes con el mismo nombre, pero en distintos servidores, si cada uno tiene su propio alias. Los nombres alias deben ser exclusivos en directorio de bases de datos del sistema donde se almacenan todos los alias para la instancia individual del gestor de bases de datos. Al crear una nueva base de datos, el alias toma por omisión el nombre de la base de datos si no especifica ninguno. Puede crear un alias para una base de datos al añadir una base de datos utilizando el Asistente de configuración o el Centro de control. • Alias relacionados con la tabla. Los alias relacionados con la tabla son diferentes de los alias de base de datos. La asignación de un alias a una base de datos puede evitar problemas de conexión de posibles clientes en entornos en los que diferentes servidores pueden tener bases de datos con el mismo nombre. La utilización de un alias de tabla o vista permite hacer referencia a un objeto indirectamente, de modo que una sentencia de SQL puede ser independiente del nombre real de ese objeto. La utilización de un alias en una sentencia de SQL es equivalente a utilizar el nombre del objeto. La ventaja de utilizar un alias en lugar del nombre del objeto es la facilidad con la que se puede cambiar el objeto al que se aplica el alias. Los programas que utilizan alias pueden redirigirse fácilmente de un objeto a otro sin ningún cambio en su código. Puede: 86 • Crear un alias para una tabla o una vista utilizando el Centro de control • Eliminar un alias para una tabla o una vista utilizando el Centro de control • Mostrar las relaciones de los alias para las tablas y vistas utilizando el Centro de control • Autorizaciones. Las autorizaciones proporcionan una forma de agrupar privilegios y de controlar las operaciones de mantenimiento y de programa de utilidad para las instancias, las bases de datos y los objetos de base de datos. Los usuarios pueden tener autorizaciones administrativas que proporcionan los privilegios completos sobre un conjunto de objetos de base de datos o pueden tener autorizaciones del sistema que dan los privilegios completos sobre la gestión de sistemas pero no permiten acceder a los datos. SYSADM (System Admin) es el nivel más alto de autorización administrativa. Incluye todos los privilegios sobre todas las bases de datos de la instancia de DB2 así como la autorización de otorgar y revocar todas las demás autorizaciones y privilegios. DBADM proporciona la autorización administrativa para una base de datos específica. Permite al usuario acceder y modificar todos los objetos de esa base de datos. Un usuario con autorización DBADM puede otorgar y revocar privilegios sobre la base de datos pero no puede otorgar ni revocar la autorización DBADM (Database Admin). 87 SYSCTRL (System Control) es la autorización para controlar los recursos utilizados por el gestor de bases de datos (por ejemplo, crear y suprimir bases de datos), pero no permite acceder a los datos de la base de datos. SYSMAINT (System Maintenance) es la autorización para realizar operaciones de mantenimiento como, por ejemplo, iniciar y detener el servidor DB2 y hacer copia de seguridad y restaurar bases de datos. No permite acceder a los datos de las bases de datos. La autorización LOAD en el nivel de base de datos, combinada con el privilegio INSERT de una Tabla, permite al usuario cargar datos en esa tabla. Las autorizaciones específicas de base de datos se almacenan en los catálogos de bases de datos; las autorizaciones del sistema se almacenan en el archivo de configuración del gestor de bases de datos para la instancia. Puede utilizar el Centro de control para otorgar revocar autorizaciones de bases de datos. Mayor información sobre la ampliación de la Base de Datos, Ver anexo “J”. y 88 D.- INTERFASE DEL SISTEMA. 1.- Pantalla Principal. El Sistema de Seguros de Vida consta de una pantalla general que contiene tres botones de control de los principales procesos. El primero de los cuales lleva al usuario a la pantalla de administración de afiliados, donde se siguen los siguientes procesos: la de creación de nuevos usuarios, la renovación de sus beneficiarios, la administración de la entrega de pólizas, la impresión de las solicitudes de afiliación, la impresión de las autorizaciones descuento, etc. A continuación se presentan las pantallas antes descritas. 89 2.- Pantalla de Datos Generales. La pantalla anterior pertenece al proceso de afiliación de nuevos asegurados, los datos que se capturan son los datos generales del afiliado y los datos laborales. Esta información general es almacenada en la Tabla Afiliados, cual es una tabla principal del sistema y sus principales llaves son el código del afiliado, el nombre completo, el NIP (Numero de identidad personal asignado por el Ministerio de Educación a los maestros) y la Matricula (Numero asignado por el INPEP a los maestros jubilados). La Tabla de Afiliados se enlaza con las Tablas de Seguros, de Transacciones, de Beneficiarios, de Control de Pólizas, de Fallecidos y de Comisiones. 90 3.- Pantalla de Seguros de Vida. En esta pantalla se administran toda la información concerniente a los seguros de vida. Así mismo se lleva control del estatus del afiliado, del monto, del periodo de vigencia, etc. Esta información es colectada en la Tabla de Seguros, la cual tiene como principal finalidad llevar el registro de los diferentes seguros adquiridos por cada uno de sus afiliados. Así mismo sus llaves principales son el código del afiliado+el tipo seguro, la fecha de vigencia, la fecha afiliación. En esta pantalla se administra la información específica de cada seguro tomado o adquirido por los afiliados, entre los datos más importantes esta la fecha de afiliación, la edad del afiliado, el monto del seguro, la prima anual y la cuota mensual. 91 4.- Pantalla de Registro de Transacciones. En esta parte de la pantalla se administra las transacciones realizadas por cada uno de los afiliados, se controla la fecha de aplicación, la fecha de la remesa, la fecha de vencimiento, el concepto de la transacción, el monto de la transacción y el tipo de transacción. Esta información se almacena en la Tabla de Transacciones donde las llaves principales son una llave compuesta por el código+tipo de seguro+transacción, la fecha de aplicación y el tipo de transacción. Esta información permite generar estados transacciones, reportes para cuadratura de unidad financiera. de cuentas, reportes por con la unidad contable y el la 92 5.- Pantalla de Registro de Beneficiarios. En esta pantalla se administra cada uno de los beneficiarios asignados por el afiliado, el registro tiene datos importantes como son: el nombre de los beneficiarios, el parentesco, el porcentaje y el monto a pagar. Esta información es colectada por la Tabla de Beneficiarios la cual registra los beneficiarios de los diferentes seguros de vida que maneja el Sistema de Seguros de Vida. Así mismo las llaves principales del sistema son: la llave compuesta del código+seguro+beneficiarios, nombre del beneficiario y el parentesco. 93 6.- Pantalla de Registro de Pólizas. El registro de pólizas tiene como finalidad el control y la administración de las pólizas impresas y entregadas a cada afiliado, este control permite saber cuantas veces se ha impreso la póliza, quien la recibió, que cambios sufrió y en que estatus esta. La Tabla donde se registra esta información es la Tabla de Control _ pólizas la cual esta enlazada con la tabla de afiliados y con la tabla de seguros. Debido a que cada afiliado puede tener varios seguros por tanto también tiene varias pólizas. Las llaves principales de esta tabla son: una llave compuesta por el Código+Seguro+NoCorrelativo como llave única y principal, y como llaves no únicas están: El numero de la póliza, el estatus de la póliza y la fecha de entrega. 94 7.- Pantalla de Registro de Cambios de Monto. El registro de Cambio de Monto tiene como finalidad principal llevar el control de las veces que un afiliado ha incrementado o decrementado el monto de los seguros de vida. Con eso se puede determinar los afiliados que forman parte de un mercado potencial, se determina la estadística de cuantas personas que tomaron un seguros de vida han incrementado o disminuido el mismo, como también determinar cuanto es la rentabilidad producida por los incrementos o decrementos en los montos de los seguros de vida. La Tabla Cambio de Montos registra los diferentes cambios de montos de los afiliados en los diferentes seguros. La llave principal es compuesta por los siguientes segmentos: Código+Seguro+Correlativo, la cual es única. Como llaves no únicas cuenta con las siguientes: fecha actual, fecha anterior y codigo del afiliado. 95 8.- Pantalla de Registro de Fallecidos. En la pantalla anterior se registra la información de los afiliados fallecidos, que sus beneficiarios han ingresado la solicitud y toda la documentación requerida para el pago del seguro de vida. La información requerida la fecha de solicitud o reclamo del seguro, la partida de defunción del fallecido, la causa de muerte, etc. La Tabla que colecta la información es la de fallecidos, la cual se enlaza con las tablas de afiliados y seguros. Sus laves principales son: el código del afiliado, el número de defunción, fecha de muerte. 96 9.- Pantalla de Reportes. En la pantalla anterior se muestran la parametrizacion de las diferentes opciones para hacer impresión de la información de la tabla de transacciones, la cual permite obtener información filtrada por afiliado, por fecha de la transacción, por el tipo de movimiento y por el tipo de transacción. Así mismo existe diferentes reportes que son parametrizados para las tablas de seguros, afiliados, beneficiarios, etc. Los resultados de los diferentes son información que se consulta con el objetivo de obtener garantías de las diferentes operaciones. Ejemplo de reportes se muestran a continuación: 97 Esta información permite visualizar las aplicaciones de pago realizadas por un afiliado, para el caso el Código 66215, que pertenece al Seguro de Vida Dota, el que inicio en 11/10/2004 a pagar un seguro con un monto de $5,714.29 y que actualmente tiene 23 mes de pago. Ejemplos de Reportes Especializados son: 98 1. Solicitud de Afiliación. 2. Autorización de Descuentos. 99 3. Aceptación de Vigencia. 4. Póliza de Seguro. 100 10.- Pantalla de Control de Comisiones. La pantalla anterior muestra el Control de Comisiones, registro que permite obtener la comisión que se le pagara a un vendedor, la renta a descontar y las reglas del negocio a aplicar como son: si es inicial es una comisión del 100% de la primera cuota en el Seguro de Vida Dotal, si es inicial de Seguro por Sepelio se paga un dólar y si es inicial del Seguro de Vida Opcional el 100%. Las tablas enlazas en esta pantalla son vendedores, comisiones, transacciones y afiliados. Donde la llave principal es el vendedor y las llaves secundarias son la fecha de aplicación, el mes y el número de transacción. Así mismo esto nos permite obtener reportes de comisiones por vendedor.