2.- Empezando
Vamos a ver todos éstos pasos, creando nuestra primera aplicación a la que llamaremos "AGENDA". Si bien el programa lo voy a realizar utilizando sintaxis que sean comunes a todos los compiladores, en el uso de ventanas voy a utilizar las de RM, pero si queréis aplicar otro formato, solo tenéis que ver como se hace con Acucobol, en la sección de Ventanas dentro de Temáticos.

Debéis de tener en cuenta que el programa fuente que yo vaya representando aquí, no tiene los espacios precisos y algunos caracteres no se representan correctamente. Pero al final, pero abajo podéis encontrar un enlace al programa .cbl, dispuesto para que lo bajéis y lo compiléis.

Siempre que vaya ampliando la sección, el programa estará preparado con lo que haya sin errores y listo para probar.

Al estar dividido por capítulos, las modificaciones y ampliaciones las iré haciendo en cada uno de ellos, es decir que si al principio declaro unas variables y luego me van haciendo falta mas, estás aparecerán en el capítulo correspondiente. Solo espero que os aclaréis y lo podáis seguir con suficiente claridad.

Las frases en éste color son comentarios.

»» INICIO Antes de nada, identificamos nuestro programa.
IDENTIFICATION DIVISION.
PROGRAM-ID. PRUEBA.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
OBJECT-COMPUTER. RMCOBOL-85
PROGRAM COLLATING SEQUENCE IS MAYUS-MINUS.
SPECIAL-NAMES.
Aqui hacemos que el valor de las mayúsculas y minúsculas sea el mismo y además signamos el punto decimal como una coma.
      ALPHABET MAYUS-MINUS IS
      1 THRU 65, 'A' ALSO 'a', 'B' ALSO 'b', 'C' ALSO 'c',
            'D' ALSO 'd', 'E' ALSO 'e', 'F' ALSO 'f',
            'G' ALSO 'g', 'H' ALSO 'h', 'I' ALSO 'i',
            'J' ALSO 'j', 'K' ALSO 'k', 'L' ALSO 'l',
            'M' ALSO 'm', 'N' ALSO 'n', 'O' ALSO 'o',
            'P' ALSO 'p', 'Q' ALSO 'q', 'R' ALSO 'r',
            'S' ALSO 's', 'T' ALSO 't', 'U' ALSO 'u',
            'V' ALSO 'v', 'W' ALSO 'w', 'X' ALSO 'x',
            'Y' ALSO 'y', 'Z' ALSO 'z',
      92 THRU 97, 124 THRU 128
      DECIMAL-POINT IS COMMA.
»» ARCHIVOS Ahora definimos el registro de los archivos que vamos a utilizar. Una buena estructura podría ser: Código, Nombre, Dirección, Código Postal, Población, Provincia, Teléfono, Móviles, Correo electrónico y Página Web. Tendremos dos claves, una principal y otra alternativa con el nombre. Así iría quedando nuestro programa.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
definimos los archivos con los que vamos a trabajar, su organización, su acceso y sus claves.
      SELECT AGENDA ASSIGN TO RANDOM "AGENDA.DAT"
      ORGANIZATION INDEXED ACCESS DYNAMIC
      RECORD KEY KEYAGE ALTERNATE RECORD KEY KEYAGE1
      FILE STATUS STAAGE.
      SELECT IMPRESORA ASSIGN TO PRINT "PRINTER1".

DATA DIVISION.
FILE SECTION.
aqui describimos la estructura del registro, con sus campos y el tamaño de cada uno. Vamos a darle una clave alternada para tener los datos ordenador por código y por nombre.
FD AGENDA LABEL RECORD STANDARD.
01 REGAGE.
      02 KEYAGE.
            03 AGECOD PIC 9(4).
      02 AGENOM PIC X(30).
      02 AGEDOM PIC X(30).
      02 AGEPOS PIC 99999.
      02 AGEPOB PIC X(20).
      02 AGEPRO PIC X(15).
      02 AGETEL PIC X(20).
      02 AGEMOV PIC X(20).
      02 AGEMAI PIC X(30).
      02 AGEWEB PIC X(40).
      02 KEYAGE1.
            03 AGENOM1 PIC X(30).
            03 AGECOD1 PIC 9(4).
lo mismo hacemos para el archivo de impresora.
FD IMPRESORA LABEL RECORD OMITTED.
01 LINEA PIC X(132).

Decir que esto será invariable, pero a partir de aquí, la Working-Storage Section y la Procedure Division, puede ir variando en cada uno de los capítulos.



Este artículo proviene de Cobol en español
http://www.escobol.com

La dirección de esta noticia es:
http://www.escobol.com/modules.php?name=Sections&op=viewarticle&artid=71