Procedure Division
(2025 palabras totales en este texto) (112971 Lecturas) 
Bien, hemos llegado a la última división que existe un los
programas Cobol, en ella encontramos todos los procesos necesarios para que el programa
funcione, que haga para la que fue concebido.
Todo ésto se realiza con instrucciones (ordenes, verbos, comandos, etc..), que se explican en otros capítulos
del manual. Cada uno de ellos con un formato y una solución que
resolver.
A continuación vamos a explicar su
formato y algunas consideraciones generales aparte de las propias instrucciones:
PROCEDURE DIVISION (USING
Variable, Variable ...).
DECLARATIVES.
Nombre-seccionSECTION.
USE AFTER ERROR PROCEDURE ON tipo.
Nombre-parrafo.
Sentencias.
.....
END DECLARATIVES.
Nombre-seccion SECTION.
Nombre-parrafo.
Sentencias.
.....
Este sería a groso modo el formato
general de una Procedure, pero incluso se puede omitir si en un programa no vamos a
realizar ningún proceso (es obvio que siempre lo realizaremos, pero se podría omitir).
Vamos a explicar un poco su formato:
PROCEDURE DIVISION (USING Variable,
Variable ...).
Cuando especificamos USING en la linea de PROCEDURE DIVISION
, después deberemos de dar los nombres de variables que hayamos definido
en la LINKAGE SECTION, para compartir en el programa, lo que nos indicará que éste ha sido
llamado por otro programa y que esas variables traerán un valor procedente del programa llamador, que a su vez
utilizó la instrucción CALL con las mismas variables.
DECLARATIVES, es una sección dentro de la PROCEDURE que nos va a servir para controlar los posibles errores en cuanto al
manejo de ficheros se refiere. La linea de DECLARATIVES, (si se
va a utilizar) deberá de ir siempre a continuación de la linea de PROCEDURE DIVISION
. Despues de subdiviría en tantas secciones como opciones de
error tengamos, éstas pueden ser definidas por archivo o bien forma de apertura, es decir
podremos controlar los errores que nos lleguen de un fichero en concreto o de todos
aquellos que hayan sido abiertos de de igual forma, ésto se especifica en la linea
USER AFTER ERROR PROCEDURE ON tipo, pudiendo ser tipo, el
nombre del archivo o su modo de apertura (INPUT, OUTPUT, I-O
, EXTEND. A continuación irían los párrafos con sus respectivas instrucciones a realizar en caso de
error.
Se pondrían tantos párrafos y secciones como quisieramos controlar, siempre teniendo en
cuenta que ésta se acaba cuando se indique END DECLARATIVES.
Si no quisieramos utilizar ésta sección, podriamos de igual manera controlar los errores
en nuestro programa preguntando siempre por la variable de error de cada fichero que se
definió como FILE STATUS en la FILE-CONTROL.
Nombre-seccion SECTION, a partir de aqui incluiremos todas las
instucciones necesarias para la correcta ejecución del programa.
Ya sabemos que Cobol es un lenguaje estructurado, pues bien no pensemos que la Procedure va a ser un
caos de instrucciones escritas secuencialmente, no, en ella podremos definir tantas
Secciones (SECTION) y Párrafos como queramos para organizar mejor las instrucciones
y para delimitar acciones concretas, eso si siempre se ejecutarán secuencialmente,
excepto cuando encuentre algún verbo de bifurcación como GO, PERFORM que
haciendo referencia a esos nombres de párrafo harán que se rompa la secuencia lógica de
ejecución.
En las
comparaciones que hagamos podremos utilizar los siguientes formatos:
|
|
MAYOR
QUE |
|
|
|
[ |
(NOT) GREATER |
] |
|
|
[ |
(NOT) > |
] |
|
|
|
MENOR QUE |
|
|
|
[ |
(NOT) LESS |
] |
|
|
[ |
(NOT) < |
] |
|
|
|
IGUAL QUE |
|
|
Literal |
[ |
(NOT) EQUAL |
] |
Literal |
Variable |
[ |
(NOT) = |
] |
Variable |
|
|
MAYOR O IGUAL QUE |
|
|
|
[ |
GREATER OR EQUAL |
] |
|
|
[ |
= |
] |
|
|
|
MENOR O IGUAL QUE |
|
|
|
[ |
LESS OR EQUAL |
] |
|
|
[ |
<= |
] |
|
Si se especifica (NOT
) se da a entender lo contrario de la comparación, con lo que no mayor
que puede ser igual que menor o igual que.
Tambien podemos utilizar para las condiciones complejas los operandos lógicos, AND, OR y NOT
según se requieran, todas las condicionea que incluyan AND han de ser correctas para que pase la condición,
si se utiliza OR solo alguna de ellas ha de ser correcta, cuando
se utilice NOT no podrá ser correcta para que la condición sea
válida.
| |
|