miércoles, 19 de abril de 2017

PROCEDURE DIVISION: proceso del programa.

Actualizado: incluimos EVALUATE
La PROCEDURE DIVISION es la parte del programa donde se codifica el proceso en sí. Es decir, aquí escribiremos las sentencias cobol para llevar a cabo la función del programa.

INFORMANDO VARIABLES

En cobol lo que se hace es "mover" la información de una variable a otra utilizando la sentencia MOVE.
A la hora de mover información tendremos que tener en cuenta 2 cosas:
  • Formato(PIC) de ambas variables
  • Longitud de ambas variables

Ejemplo 1.
01 WX-TELEFONO   PIC X(9) VALUE '666111333'.
01 WX-TELEFONO-2 PIC X(9).

lunes, 20 de febrero de 2017

Arquitectura Altamira - Lo que falta .. :)

Altamira tiene las siguientes versiones, tal vez alguno de nosotros hemos utilizado alguna de ellas, sin saberlo, es  por ello que es importante hacer la distinción entre las mismas. Estas son algunas de las versiones que aun se manejan de Altamira.

Versiones de Altamira

Muchas de estas versiones se manejan en un sector bancario, debido a la importancia que se tiene en el manejo de clientes, manejo de cuentas fijas así como en el manejo de transacciones. Se muestran a continuación las mas relevantes aunque por experiencia propia te puedo hablar del uso de Alnova. Esta es muy amigable por lo cual no es difícil su uso sin embargo si debes de tener un poco de practica si quieres dominar el sistema ;)
  1. ·         Altamira
  2. ·         Altair
  3. ·         Alnova
  4. ·         Asta

Cobertura Funcional

Se muestran los rubros funcionales de Altamira, así como sus objetivos dentro de esta área, para ayudarnos a entender como funcionan y también lo que abarca.

Contabilidad
Esto se debe a las grandes cantidades de dinero que se manejan, es por ello 

•Definición y control centralizado del catálogo de cuentas, centros de costos y tratamiento contable.
•Contabilización de centros origen- centros destino  ( centros en los cuales viaja el dinero normalmente de un centro origen a un centro destino)
•Control de la afectación contable por medias dificultades.
•Consultas en línea de saldo se encuentra por centro de costo.
•Consolidación de saldos a nivel entidad en moneda nacional, divisas y divisas contra valoradas.
•Ejecución de cierres contables preliminar, parcial y definitivo.
•Procesos automáticos de regularización.
•Generación de documentación interna y oficial a petición del usuario.


Clientes

•Portafolio de productos contratados por cliente.
•Información económica del cliente, clasificada en saldos promedios, comisiones e intereses.
•Información estadística del cliente, como número de operaciones e importes en debe y haber.
•Información reservada protegida, como su solvencia, ingresos, etc.
•Información de relaciones entre clientes, grupos de clientes, industriales y familiares.
•Centralizacióndelainformacióndelosclientesenunabasededatosúnica.
•Localización de clientes en la base de datos con criterios de búsqueda flexibles.
•Registro de beneficiarios.
•Domicilios alternativos.

Captación

•Cuentas de cheques en Moneda Nacional y divisas.
•Cuentas de ahorro en Moneda Nacional y divisas.
•Inversiones a plazo en Moneda Nacional y UDIS.
•Fondos de Inversión.
•Crédito en Cuenta Corriente en Moneda Nacional y Divisas asociado a chequeras.
•Cheques de Caja.
•Cheques Certificados.
•Giros.
•Ordenes de Pago.
•Control de chequeras y cheques.
•Líneas de sobregiro autorizado.
•Cuentas asociadas.
•Transferencia entre cuentas.
•Pago de servicios.
•Estados de cuenta.
•Domiciliaciones.
•Tratamiento de archivos de abono.
•Depósitos referenciados.


lunes, 9 de enero de 2017

Arquitectura Altamira


El día de hoy nos enfocaremos en un tema que no muchos conocen, debido a que no hay muchos libros que hablen al respecto, claro yo también estoy en la misma situación, pero si podemos aprender a la par, seria genial.

Primero que nada definiremos a Altamira, que consiste en un sistema básicamente online,  encargado de proveer funciones comunes para distintos módulos aplicativos, simplificando la lógica de los mismos, facilitando su desarrollo y mantenimiento.

Sus características son las siguientes

q  Lógica de programación repetitiva, absorbida por la arquitectura  (con esto se minimiza el esfuerzo del desarrollo) :

          Emisión / Recepción de mensajes de terminal (en el caso de los cajeros automáticos)
          Gestión de condiciones de excepción (errores, avisos, ABENDS).

q  Seguridad contra accesos no autorizados.
q  Aislamiento del programa de aplicación de la mayor parte de los accesos al monitor comunicaciones (CICS).
q  Estandarización.
q  Soporta todas las transacciones de un teleproceso bancario, independientemente del tipo de terminal conectado.
q  Facilita la incorporación de nuevas aplicaciones.
q  Parametrización.
q  Facilita el mantenimiento de aplicaciones.
q  Las principales características del módulo de Arquitectura son :

          Protege la inversión en equipamiento y en lógica aplicativa.
          Realiza diversas funciones comunes del sistema.


Si alguna vez te has dedicado a desarrollar en cobol, bajo el módulo de medios de pago, puedes entender de lo que hablo, debido a que esta área te da una mayor perspectiva de lo que se maneja bajo Altamira, esto debido a las terminales que se manejan, como cajeros automáticos, terminales de punto de venta.

jueves, 22 de diciembre de 2016

Felices Fiestas!!!


Desde el Consultorio Cobol queremos desearos unas felices fiestas y próspero año nuevo.

Nos vemos a la vuelta de vacaciones! :-)

lunes, 28 de noviembre de 2016

¿Tipos de Archivos Secuenciales? Bah!

¡¡Hola coboleros!! Ya vimos en un artículo anterior la diferencia entre los archivos secuenciales y VSAM, pero en este artículo nos ocuparemos de distinguir los distintos tipos de organización de estos archivos secuenciales.
Primero debemos de indicar qué entendemos por “organización del archivo”. Esto indica como los registros se organizan en un archivo, y cuya finalidad es aumentar su eficiencia de acceso a los registros.

Se muestra a continuación los tipos de “organización” que existen:

  • Organización del archivo secuencial
  • Organización del archivo secuencial indexado
  • Organización de archivo relativa

Empezando…. Organización del Archivo Secuencial…


Un archivo secuencial consta de registros almacenados en el archivo y cuyo acceso a ellos es meramente secuencial. Esto quiere decir que el primero que entra es el último en salir y que no se puede acceder a un registro que está en medio del archivo, si no se recorre esa primera mitad del archivo.
Muchas de las características que se requieren saber sobre los archivos secuenciales se mencionaron en el artículo Ficheros Secuenciales vs Ficheros VSAM ¿Cuál es el mejor?”, sin embargo vamos a rememorar algunas de las principales características que se tienen de los archivos secuenciales.

·         Se pueden leer los archivos en orden secuencial, esto quiere decir que si tienes un registro en medio del archivo, tienes que leer los archivos anteriores a este para que puedas leer el registro que te interesa.
·        Los registros se escriben en orden secuencial, el último registro en ser insertado, es el primer registro en ser leído.
·        Después de insertar un registro en un archivo secuencial, no es posible eliminar, reducir o alargar un registro.
·        Orden de los registros, una vez insertados, no se puede cambiar.
·        Actualización de registro es posible. El registro se puede sobrescribir, si la nueva longitud de registro es el mismo que el de longitud de registro.


Dentro del programa siempre se podrá especificar la sintaxis de la organización del archivo secuencial:
       FILE-CONTROL                                           
       SELECT ENTRADA ASSIGN TO ENTRADA                
                       ORGANIZATION IS SEQUENTIAL       
                       ACCESS MODE  IS SEQUENTIAL       
                       FILE STATUS IS WS-FS-ENTRADA.
  

Donde

ASSIGN TO: Asigna el archivo de entrada “ENTRADA” al nombre de la tarjeta del sistema también llamado “ENTRADA”
ORGANIZATION: Se especifica que su organización es secuencial
ACCESS MODE: Tipo de acceso, el cual se especifica que es secuencial
FILE STATUS: El estatus del archivo el cual deberá de comenzar con 00.

Mientras que en el JCL nosotros podemos encontrarlo como se muestra en el ejemplo de a continuación:

//ENTRADA  DD  DSN=MOVDELL.R08.I1OUP10.SORTINYU,
//             DISP=(OLD,KEEP,KEEP)                

ENTRADA: Archivo que se va a mandar a llamar para entrada del proceso.


Organización del archivo secuencial indexado


Un archivo secuencial indexado consiste de registros que pueden tener acceso a los datos de forma secuencial. Consta de dos partes:

  • Archivo de Datos contiene registros en orden secuencial.
  • Archivo de índice contiene la clave principal y su dirección en el archivo de datos.

Por Archivo de datos nos referimos a los registros escritos en orden secuencial, del tamaño que requiera la información, y también de la estructura que requiera la información.

Por Archivo de Índice nos referimos a la clave principal que rige a cada uno de los registros, y su dirección pero de memoria dentro del archivo de datos. Esta dirección de memoria por lo general suele ser hexadecimal.

A continuación se muestran las ventajas y desventajas más importantes que tienen estos archivos:

Ventaja:

·         Es rápida si se cuenta con los datos llave con los que se quiere encontrar un dato.
·         Permite el acceso secuencial
·         Permite el acceso directo de los registros
·         Se pueden actualizar los registros en el mismo fichero sin necesidad de crear un fichero nuevo de copia en el proceso de actualización

Desventaja:

·         Requiere implementar índices que ocupan recursos como espacio en disco y algoritmos diversos para optimizar búsquedas (aunque de eso ya se ocupan los manejadores de bases de datos)
·         Ocupa más espacio en el disco que los ficheros secuenciales, debido al uso del área de índices
·         Tiene tendencia a que aumente el tiempo medio de acceso a los registros, cuando se producen muchas altas nuevas con claves que hay que intercalar entre las existentes.

Se mencionan algunas de las principales características que tienen este tipo de archivos:

·         El índice nos proporciona una capacidad de búsqueda para llegar rápidamente al registro deseado
·         El “archivo de datos”  es similar al archivo secuencial, pero está integrado de forma que los registros se ubiquen siguiendo un puntero o dirección de memoria desde su registro predecesor.
·         Cuando se añade un nuevo registro, al archivo principal que sigue al nuevo registro y  según la secuencia lógica, se actualiza con el puntero del registro nuevo en el archivo de datos.
·         El diseño del registro tiene que tener un campo o combinación de campos, que permita identificar cada registro de forma única. Este campo que hará esa distinción será campo clave, y es el que va a servir de índice.
·          Un mismo fichero puede tener más de un campo clave, pero al menos uno de ellos no admitirá valores duplicados y se les llama clave primaria.
·        Se pueden leer los registros en orden secuencial, como en organización de archivos secuenciales.
·        Los registros se pueden acceder aleatoriamente si la clave principal es conocida.
·        El archivo índice se utiliza para obtener la dirección de un registro (hexadecimal) y, a continuación, se obtiene el registro del archivo de datos, ya con la dirección de memoria.


Sintaxis

FILE-CONTROL.                                                 
    SELECT ARCH-VSAMDIR   ASSIGN TO VSAMDIR                   
                          ORGANIZATION IS INDEXED             
                          ACCESS IS DYNAMIC                   
                          RECORD KEY IS KEY-VSAMDIR           
                          FILE STATUS IS FS-VSAMDIR.          
Donde

ASSIGN TO: Se le asigna ARCH-VSAMDIR a VSAMDIR
ORGANIZACIÓN IS De tipo indexada
ACCESS IS El acceso es dinámico
RECORD KEY IS El archivo se está recorriendo por la llave KEY-VSAMDIR
FILE STATUS IS El estatus del archivo, al inicio el cual deberá de ser 00.

Espero que el articulo te haya gustado y te haya sido de utilidad. :-)