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 través
  • Hasta
  • Realizar veces
  • Realizar diferentes

Realizar a través

Realizar a través se utiliza para ejecutar una serie de párrafo por que el primer y último párrafo los nombres en la secuencia. Después de ejecutar el último párrafo se devuelve el control.

En línea Realice

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

Sintaxis

Continuación se presenta la sintaxis de En línea:

PERFORM 
   DISPLAY 'HELLO WORLD'
END-PERFORM.

Fuera de línea Realice

En este sentido, la declaración se ejecuta en un párrafo y, a continuación, el control se transfiere a otro apartado o sección.

Sintaxis

Continuación se presenta la sintaxis de fuera de línea:

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 párrafo se ejecuta hasta que la condición sea verdadera. Con la prueba antes de que se la condición predeterminada y en él se indica que el estado se comprueba antes de la ejecución de instrucciones en un párrafo.

Sintaxis

Continuación 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 párrafo será ejecutado el número de veces especificado.

Sintaxis

Continuación 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 párrafo se ejecutará hasta el estado hasta que frase se convierte en un verdadero.

Sintaxis

Continuación 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 Declaración

IR A declaración se utiliza para cambiar el flujo de ejecución de un programa. En el cuadro de diálogo IR A declaraciones transferencia sólo va en la dirección de avance. Se utiliza para salir de un párrafo. 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 continuación, el control será trasladado al primer párrafo y si "x" es igual a 2, entonces el control se transfiere en el segundo párrafo, 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