COBOL

17/4/08

COBOL es un lenguaje estructurado muy utilizado en banca, tanto porque permite la inserción de módulos que utilicen otros lenguajes, como por su parecido con la legua hablada.

Hay muchos tutoriales en la red que pueden ser muy útiles a la hora de emprender un nuevo estudio sobre un lenguaje que se consideraba extinto, el siguiente link es un buen tutorial que he encontrado, y que además está en castellano http://www.escobol.com/modules.php?name=Sections&op=listarticles&secid=3.

De forma resumida comentar que en cobol se programan cuatro divisiones:

- En primer lugar está la división de identificación (Identification division): que contiene el nombre del programa, el nombre del autor, la fecha de codificación y la fecha de compilación (esta última se deja en blanco pues la rellena el compilador).

- Después toca la división de desarrollo (Enviroment division): el primer punto que se declara es el tipo de ordenador que ha codificado el programa y el tipo de ordenador que lo ejecutará, si se usa notación europea a la hora de los numerales, hay que usar special-names y decimal-point is comma (esto se verá más adelante), después hay que indicar el nombre interno del fichero en relación con el nombre externo del fichero, y describir del modo que está estructurado.

- En tercer lugar surge la división de datos (Data division): en la cual se declaran las estructuras internas de los ficheros (longitud de los registros, principalmente); una vez realizado esto se declararan las variables, constantes, flags... (Todo aquello que nos sea necesario en el programa), en una subdivisión denominada "working-storage-area", la cual se encarga de reservar el espacio requerido en memoria.

El orden de declaración más adecuado es el siguiente:
- Record layout (Campos de los registros asignados a cada fichero)
Esta declaración se utilizará como variables en las cuales se almacenaran los datos del registro actual leído.

-Report lines & headings (Líneas de detalle y líneas de cabeceras)
Declararemos las diferentes líneas de salida que se podrán usar para los distintos registros de salida.

-Flags & switches (Banderas y conmutadores)
Las diversas variables que se utilizan para determinar el camino que seguirá el programa.

-Contants & literals
Las diversas constantes numéricas y alfanuméricas.

-Scratch & save area
Variables en general(Variables save son aquellas que utilizaremos en el programa para guardar cambios en los valores de campos que se utilicen en listados , por ejemplo, al cambiar de asignatura o al cambiar de matrícula.

Estas son las principales, luego también se pueden declarar tablas, variables que hacen de puente con otros módulos, etc.

-Y por ultimo la división de proceso (Procedure division): en la cual se realizarán los diversos movimientos para transformar los datos en informacion útil.

Os recomiendo que miréis en el link que os he adjuntado para ver ejemplos y una explicación mas amplia y detallada.