Los programas cobol se dividen en partes llamadas "DIVISION" que a su vez se separan en secciones llamadas "SECTION". Vamos a ver el esquema básico que todo programa cobol debe tener:
IDENTIFICATION DIVISION.
PROGRAM-ID. PRUEBA1. Nombre del programa. Debe coincidir con el nombre externo del programa.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA. Nosotros usamos los puntos como separadores de miles y la coma como el separador de decimales.
INPUT-OUTPUT SECTION.
FILE-CONTROL. En esta parte se definen los ficheros en caso de que los haya.
SELECT FICHERO1 Nombre de fichero.
ACCES MODE IS SEQUENTIAL Tipo de acceso: SEQUENTIAL para los planos, INDEXED para los indexados.
FILE STATUS IS FS-FICHERO1 Variable donde guardará el file-status (código de control de errores de acceso a ficheros).
DATA DIVISION.
FILE SECTION.
FD FICHERO1 RECORDING MODE IS F Fichero con longitud fija. Si fuese de longitud variable pondríamos V.
BLOCK CONTAINS 0 RECORDS
RECORD CONTAINS 129 CHARACTERS. Longitud del fichero.
01 REG-FICHERO1 PIC X(129). Donde guardaremos la información.
WORKING-STORAGE SECTION. En ella definimos las variables que usaremos en el programa.
01 WX-VARIABLE PIC X. Definición de variables lo veremos más adelante.
LINKAGE SECTION. Área de comunicación con otros programas
01 AREA-LINKAGE PIC X.
PROCEDURE DIVISION. / PROCEDURE DIVISION USING AREA-LINKAGE. Si hay un área definida en la linkage debemos incluir el USING en la procedure.
Aquí es donde va el programa en sí. La estructura general será:
0000-PRINCIPAL.
PERFORM 1000-INICIO
PERFORM 2000-PROCESO
UNTIL CUMPLE-CONDICION
PERFORM 3000-FINAL
.La numeración de párrafos suele ser esa, pero cada empresa puede tener su propia nomenclatura estándar.
El proceso en un programa se suele repetir n veces, hasta que se cumple la condición indicada en el UNTIL.
En el párrafo de final se incluye la instrucción de finalización de ejecución:
STOP RUN para programas principales.
GOBACK para rutinas.
Se pueden definir tantos párrafos como queramos, pero la estructura de todos ellos será la siguiente:
1000-INICIO.
código con instrucciones a realizar
.Es decir, todos los párrafos terminan con un punto "." que indica el final de párrafo.
A tener en cuenta:
En cobol no podemos empezar a escribir donde queramos, pues cada cosa tiene su sitio^^
Un programa cobol mide de ancho 80 posiciones, aunque sólo escribiremos hasta la 72.
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
01 WX-CAMPOS.
05 WX-CAMPO1 PIC X.
05 WX-LITERAL PIC X(40) VALUE 'LITERAL TAN GRANDE QUE NO CABE '
- 'EN UNA LINEA Y LO TENEMOS QUE PARTIR'.
*
PROCEDURE DIVISION.
******************************************************************
00000-PRINCIPAL.
*
PERFORM 10000-INICIO.
*
De la posición 1 a la 6: no se codifica nada.
*
Posición 7: se escribirá un * si queremos comentar la línea. En caso de que un texto no nos quepa en una línea, se escribirá en esta posición un guión "-" para continuarlo.
*
De la posición 8 a la 11: se denomina área A. Aquí escribiremos las "divisiones" y "secciones", los niveles 01 y los descriptores de ficheros "FD".
*
De la 12 a la 72: se denomina área B. Aquí se escribirán el resto de instrucciones del programa, y los niveles de variables subordinadas (02 en adelante).
*
De la 73 a la 80: no se codifica nada.
Esto que acabamos de ver es algo muuuuy general, pero iremos viéndolo mejor con ejemplos.
Y hasta aquí la primera lección. En el siguiente artículo veremos la WORKING-STORAGE, donde se definen las varibles que vamos a usar a lo largo del programa. Veremos los diferentes tipos de variables, el cálculo de longitudes y como se visualizan en un fichero.