Estructura de un programa COBOL - Curso de COBOL y PowerCOBOL desde cero - Capítulo 5

Empecemos viendo la estructura de un programa COBOL, es algo muy importante, ya que el orden es fundamental para programar en COBOL. Los programas medianamente complejos fácilmente pueden llegar a tener unas cuantas miles de líneas de código.

Jerarquía en la estructura de un programa COBOL

Aquí tienes el orden jerárquico de un programa COBOL. Tenemos el programa que engloba al resto de elementos.

Código COBOL

PROGRAMA

	DIVISIONES

		SECCIONES

			PÁRRAFOS

				FRASES

					DECLARACIONES

Veamos un programa de ejemplo, no importa que lo entiendas, ahora nos vamos a dedicar a ver cada apartado, más adelante explicaré todas las palabras del código.

Código COBOL

       IDENTIFICATION DIVISION.
       PROGRAM-ID. Test1.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
              SELECT OPTIONAL EMPLEADOS-ARCHIVO
              ASSIGN TO "g:\cobol\empleados.dat"
              ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       WORKING-STORAGE SECTION.

       PROCEDURE DIVISION.
       STOP RUN.
       END PROGRAM Test1.

Divisiones COBOL

Dentro de un programa tenemos las divisiones. Son un total de cuatro y deben estar incluidas en todo programa COBOL. Las divisiones son las partes principales en las que se divide cualquier programa COBOL, las veremos en detalle muy pronto.

  • IDENTIFICATION DIVISION - Línea 1
  • ENVIRONMENT DIVISION - Línea 4
  • DATA DIVISION - Línea 11
  • PROCEDURE DIVISION - Línea 15

Secciones COBOL

Las secciones son conjuntos de uno o más párrafos. Son secciones o divisiones de las propias divisiones, es decir, partes que forman cada una de las cuatro divisiones del programa.

Dentro de cada división tenemos una o varias secciones. Por ejemplo, en la ENVIRONMENT DIVISION puedes ver una sección INPUT-OUTPUT SECTION (línea 5) y dos más en la DATA DIVISION, FILE SECTION y WORKING-STORAGE SECTION (líneas 12 y 13).

Tanto las divisiones como las secciones empiezan escribiendo su nombre y terminan cuando empieza una nueva sección o división.

No tienes que comprender todo esto estrictamente, solo quiero que te vayas creando una idea general de todo esto.

Tenemos dos clases de secciones predefinidas en el lenguaje, las opcionales, las cuales no ocurrirá nada si no se especifican y las obligatorias.

También están las secciones creadas por quién crea el programa, no solo las predefinidas en el lenguaje COBOL.

Tanto las divisiones como las secciones son fácilmente identificables, las divisiones siempre llevan su nombre seguido de la palabra DIVISION y las secciones SECTION. Finalizan ambas con un punto.

Aquí tienes tres ejemplos, los dos primeros son secciones predefinidas propias del lenguaje y la tercera es una creada por mí.

Código COBOL

       WORKING-STORAGE SECTION.
       FILE SECTION.
       PROGRAMACION-FACIL SECTION.

Párrafos, frases y declaraciones COBOL

En las secciones podemos escribir párrafos. Dentro de esos párrafos, frases y finalmente en esas frases encontramos el eslabón inferior en esta jerarquía, las declaraciones.

Cómo puedes ver, esta jerarquía toma parte del lenguaje natural que hablamos las personas, párrafos y frases por ejemplo.

Los párrafos son un conjunto de frases.

El párrafo empieza con su nombre y termina donde empieza el siguiente párrafo o termina el programa. En tres de las cuatro divisiones nos encontramos párrafos predefinidos por el lenguaje COBOL. Solo en una de ellas (la división de procedimientos PROCEDURE DIVISION que veremos pronto) podemos escribir párrafos que creemos nosotros mismos.

Un ejemplo de párrafo es FILE-CONTROL. Se trata de un párrafo predefinido en el lenguaje COBOL.

Código COBOL

       IDENTIFICATION DIVISION.
       PROGRAM-ID. Test1.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
              SELECT OPTIONAL EMPLEADOS-ARCHIVO
              ASSIGN TO "g:\cobol\empleados.dat"
              ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       WORKING-STORAGE SECTION.

       PROCEDURE DIVISION.
       STOP RUN.
       END PROGRAM Test1.

Si creamos párrafos propios, les podremos dar el nombre que queramos y los incluiremos en la PROCEDURE DIVISION.

Aquí unos ejemplos:

Código COBOL

       CONTINUAR.
              MOVE "S" TO ENTRADA.
              IF  EMPLEADOS-NOMBRE = SPACE
              MOVE "N" TO ENTRADA.

       ESCRIBIR-REGISTRO.
              WRITE EMPLEADOS-REGISTRO.

       REINICIAR.
              DISPLAY "¿Desea almacenar otro registro en la base de datos?".
              ACCEPT SI-NO.
              IF SI-NO = "s"
              MOVE "S" TO SI-NO.
              IF SI-NO NOT = "S"
              MOVE "N" TO SI-NO.

Las frases u oraciones son una o varias declaraciones terminadas con un punto.

En COBOL, las declaraciones de lenguaje se denominan verbos. Una declaración comienza con el nombre del verbo y sigue por la actuación de este.

Los verbos/palabras en COBOL son las palabras del lenguaje.

Seguramente tengas que volver cuando sepas un poco más a revisar esta información, pero no te preocupes demasiado por entenderlo todo, ya iré explicando cada sección de los programas que vayamos escribiendo.

En el siguiente capítulo empezamos a ver las divisiones de COBOL más detalladamente.