COBOL - Bucle Declaraciones



Hay algunas tareas que se deben realizar una y otra vez como la lectura cada uno de los registros de un archivo hasta el final. El bucle declaraciones utilizadas en COBOL son:

  • Realizar a travs
  • Hasta
  • Realizar veces
  • Realizar diferentes

Realizar a travs

Realizar a travs se utiliza para ejecutar una serie de prrafo por que el primer y ltimo prrafo los nombres en la secuencia. Despus de ejecutar el ltimo prrafo se devuelve el control.

En lnea Realice

Las declaraciones dentro de la REALICE se llevar a cabo hasta fines de realizar.

Sintaxis

Continuacin se presenta la sintaxis de En lnea:

PERFORM 
   DISPLAY 'HELLO WORLD'
END-PERFORM.

Fuera de lnea Realice

En este sentido, la declaracin se ejecuta en un prrafo y, a continuacin, el control se transfiere a otro apartado o seccin.

Sintaxis

Continuacin se presenta la sintaxis de fuera de lnea:

PERFORM PARAGRAPH1 THRU PARAGRAPH2

Ejemplo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

PROCEDURE DIVISION.
   A-PARA.
   PERFORM DISPLAY 'IN A-PARA'
   END-PERFORM.
   PERFORM C-PARA THRU E-PARA.
   
   B-PARA.
   DISPLAY 'IN B-PARA'.
   STOP RUN.
   
   C-PARA.
   DISPLAY 'IN C-PARA'.
   
   D-PARA.
   DISPLAY 'IN D-PARA'.
   
   E-PARA.
   DISPLAY 'IN E-PARA'.

JCL para ejecutar el programa COBOL.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:

IN A-PARA
IN C-PARA
IN D-PARA
IN E-PARA
IN B-PARA

Hasta

En realizar hasta', un prrafo se ejecuta hasta que la condicin sea verdadera. Con la prueba antes de que se la condicin predeterminada y en l se indica que el estado se comprueba antes de la ejecucin de instrucciones en un prrafo.

Sintaxis

Continuacin se presenta la sintaxis de realizar hasta que:

PERFORM A-PARA UNTIL COUNT=5

PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5

PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5

Ejemplo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-CNT PIC 9(1) VALUE 0. 

PROCEDURE DIVISION.
   A-PARA.
   PERFORM B-PARA WITH TEST AFTER UNTIL WS-CNT>3.
   STOP RUN.
   
   B-PARA.
   DISPLAY 'WS-CNT : 'WS-CNT.
   ADD 1 TO WS-CNT.

JCL para ejecutar el programa COBOL.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:

WS-CNT : 0
WS-CNT : 1
WS-CNT : 2
WS-CNT : 3

Realizar veces

En 'realizar times', un prrafo ser ejecutado el nmero de veces especificado.

Sintaxis

Continuacin se presenta la sintaxis de realizar:

PERFORM A-PARA 5 TIMES.

Ejemplo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

PROCEDURE DIVISION.
   A-PARA.
   PERFORM B-PARA 3 TIMES.
   STOP RUN.
   
   B-PARA.
   DISPLAY 'IN B-PARA'.

JCL para ejecutar el programa COBOL:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:

IN B-PARA
IN B-PARA
IN B-PARA

Realizar diferentes

En realizar diferentes, en un prrafo se ejecutar hasta el estado hasta que frase se convierte en un verdadero.

Sintaxis

Continuacin se presenta la sintaxis de realizar diferentes:

PERFORM A-PARA VARYING A FROM 1 BY 1 UNTIL A=5.

Ejemplo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-A PIC 9 VALUE 0.

PROCEDURE DIVISION.
   A-PARA.
   PERFORM B-PARA VARYING WS-A FROM 1 BY 1 UNTIL WS-A=5
   STOP RUN.
   
   B-PARA.
   DISPLAY 'IN B-PARA ' WS-A.

JCL para ejecutar el programa COBOL:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:

IN B-PARA 1
IN B-PARA 2
IN B-PARA 3
IN B-PARA 4

IR A Declaracin

IR A declaracin se utiliza para cambiar el flujo de ejecucin de un programa. En el cuadro de dilogo IR A declaraciones transferencia slo va en la direccin de avance. Se utiliza para salir de un prrafo. Los diferentes tipos de IR A instrucciones que se utilizan son los siguientes:

IR A Incondicional

GO TO para-name.

IR A condicional

GO TO para-1 para-2 para-3 DEPENDING ON x.

Si "x" es igual a 1, a continuacin, el control ser trasladado al primer prrafo y si "x" es igual a 2, entonces el control se transfiere en el segundo prrafo, y as sucesivamente.

Ejemplo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-A PIC 9 VALUE 2.
   
PROCEDURE DIVISION.
   A-PARA.
   DISPLAY 'IN A-PARA'
   GO TO B-PARA.
   
   B-PARA.
   DISPLAY 'IN B-PARA '.
   GO TO C-PARA D-PARA DEPENDING ON WS-A.
   
   C-PARA.
   DISPLAY 'IN C-PARA '.
   
   D-PARA.
   DISPLAY 'IN D-PARA '.
   STOP RUN.

JCL para ejecutar el programa COBOL:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:

IN A-PARA
IN B-PARA 
IN D-PARA 
Advertisements