Desarrollando en Cobol y Natural sobre Plataforma Mainframe

jueves, 2 de octubre de 2014

Estructura básica de un programa Cobol (1)

Hoy vamos a tratar un tema muy básico de nuestro lenguaje pero para el que, sin embargo, hemos recibido varias cuestiones de lectores principiantes en el mundo Cobol. Se trata de identificar cuáles son todos los apartados que debe incorporar un programa Cobol estándar.

Al principio, si no estamos acostumbrados a trabajar con Cobol, nos puede parecer un poco rígida la forma en que se estructuran los programas en este lenguaje. Sin embargo, una vez vayamos ampliando nuestra experiencia, nos daremos cuenta de que la cosa es tan sencilla como pueda serlo en cualquier otro lenguaje de programación.



Un programa Cobol está estructurado en una serie de Divisiones, Secciones y Párrafos en los que hay que ir declarando la información que corresponda a cada una de ellas. La estructura general sería la siguiente:

IDENTIFICATION DIVISION
   PROGRAM-ID
   AUTHOR
   INSTALLATION
   DATE-WRITTEN
   DATE-COMPILED
   SECURITY

ENVIRONMENT DIVISION

   CONFIGURATION SECTION
      SOURCE-COMPUTER
      OBJECT-COMPUTER
      SPECIAL-NAMES

   INPUT-OUTPUT SECTION
      FILE CONTROL
      I-O-CONTROL

DATA DIVISION

   FILE SECTION
      ...
      FICHERO
         REGISTRO
      ...

   WORKING-STORATE SECTION
      ...
      VARIABLE
      ...

   LINKAGE SECTION
      ...
      PARAMETRO
      ...

PROCEDURE DIVISION
   ...
   SECCION
      PARRAFO
         SENTENCIA
   ...

A continuación, comentamos un poco más en detalle en qué consiste cada una de las Divisiones y Secciones enumeradas anteriormente.

1º) IDENTIFICATION DIVISION

Esta División se utiliza para declarar una serie de variables globales asociadas al programa, tales como el nombre del objeto (PROGRAM-ID), el nombre del autor del objeto (AUTHOR), la instalación (INSTALLATION), las fechas de codificación y de compilación (DATE-WRITTEN y DATE- COMPILED) y la seguridad (SECURITY). En general, se trata de datos informativos que no tienen mayor impacto en la codificación posterior del programa.

IDENTIFICATION DIVISION
   PROGRAM-ID
   AUTHOR
   INSTALLATION
   DATE-WRITTEN
   DATE-COMPILED
   SECURITY 

2º) ENVIRONMENT DIVISION

Esta División se compone de dos importantes secciones, CONFIGURATION SECTION e INPUT-OUTPUT-SECTION, cuyo contenido pasamos a detallar a continuación.

ENVIRONMENT DIVISION

A) CONFIGURATION SECTION

Aquí se especifica información relevante para el programa. Por un lado, se debe indicar el nombre de la máquina empleada para la codificación (SOURCE-COMPUTER y OBJECT-COMPUTER). Por otro lado, en el apartado SPECIAL-NAMES hay que detallar las configuraciones especiales que vaya a tener nuestro programa.

Este último apartado tiene su importancia. En general, en Europa se emplea para hacer la declaración DECIMAL POINT IS COMMA, que le indica al compilador que, en nuestro programa, la parte decimal de un número va a ir precedida de una coma (,) y no de un punto (.) como ocurre en EEUU.

   CONFIGURATION SECTION
      SOURCE-COMPUTER
      OBJECT-COMPUTER
      SPECIAL-NAMES 

B) INPUT-OUTPUT SECTION

En esta sección, en el apartado FILE CONTROL hay que especificar el nombre de los ficheros que se tratarán en nuestro fuente. Se indicará la equivalencia entre el nombre lógico que va a tener un determinado fichero en el programa Cobol y el nombre externo que tendrá en el JCL que lo invoque. Este apartado sólo se rellenará si nuestro objeto va a estar insertado en un proceso batch (por contra, no se usará si se va a tratar de un programa CICS on-line).

Adicionalmente, en esta sección aparece también el apartado I-O-CONTROL, que se usará para indicar el área de memoria que va a ser compartida por los ficheros utilizados en el programa. Este segundo apartado es opcional.

   INPUT-OUTPUT SECTION
      FILE CONTROL
      I-O-CONTROL

El próximo día continuaremos revisando las dos últimas Divisiones del programa Cobol, junto con todas las secciones contenidas en ellas. Os adelantamos que hablaremos de la "Data Division" y de la "Procedure Division", aunque ya las revisaremos en detalle en el siguiente post.

Y eso es todo. Ya sólo nos queda emplazaros a la segunda parte para que podamos completar la revisión de todas las Divisiones y secciones de la estructura básica de un programa Cobol.

Saludos.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...