Existem algumas tarefas que precisam ser feitas e mais uma vez como ler cada registro de um arquivo até o final. O loop declarações utilizadas em COBOL são os seguintes:
Execute Thru é usado para executar uma série de parágrafo, dando o primeiro e último parágrafo os nomes em sequência. Após a execução do último parágrafo controle é devolvido.
As declarações dentro do EXECUTE será executado até FINAL DE EXECUTAR é atingido.
Sintaxe
Sintaxe é a seguinte de linha faça o seguinte:
PERFORM DISPLAY 'HELLO WORLD' END-PERFORM.
Aqui, um comando é executado em um ponto e, em seguida, o controle é transferido para outro parágrafo ou seção.
Sintaxe
Sintaxe é a seguinte de fora-de-linha executar:
PERFORM PARAGRAPH1 THRU PARAGRAPH2
Exemplo
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 executar o programa em COBOL.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Quando você compilar e executar o programa acima referido, que produz o seguinte resultado:
IN A-PARA IN C-PARA IN D-PARA IN E-PARA IN B-PARA
A execute até', um parágrafo é executado até que a condição se torne verdadeira. Com o teste antes é a condição padrão e indica que a condição é verificada antes da execução de comandos em um parágrafo.
Sintaxe
Sintaxe é a seguinte de executar até:
PERFORM A-PARA UNTIL COUNT=5 PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5 PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5
Exemplo
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 executar o programa em COBOL.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Quando você compilar e executar o programa acima referido, que produz o seguinte resultado:
WS-CNT : 0 WS-CNT : 1 WS-CNT : 2 WS-CNT : 3
Em 'executar vezes', um parágrafo será executado o número de vezes especificado.
Sintaxe
Sintaxe é a seguinte para executar vezes:
PERFORM A-PARA 5 TIMES.
Exemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. PROCEDURE DIVISION. A-PARA. PERFORM B-PARA 3 TIMES. STOP RUN. B-PARA. DISPLAY 'IN B-PARA'.
JCL para executar o programa em COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Quando você compilar e executar o programa acima referido, que produz o seguinte resultado:
IN B-PARA IN B-PARA IN B-PARA
Em executar diferentes, um ponto será executado até que o estado até frase se torna verdadeiro.
Sintaxe
Sintaxe é a seguinte para executar diferentes:
PERFORM A-PARA VARYING A FROM 1 BY 1 UNTIL A=5.
Exemplo
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 executar o programa em COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Quando você compilar e executar o programa acima referido, que produz o seguinte resultado:
IN B-PARA 1 IN B-PARA 2 IN B-PARA 3 IN B-PARA 4
VÁ PARA A declaração é usado para alterar o fluxo de execução de um programa. Em declarações transferência vai apenas no sentido do avanço. Ele é usado para sair de um ponto. Os diferentes tipos de IR PARA as declarações utilizadas são as seguintes:
Incondicional IR PARA
GO TO para-name.
Subordinada IR PARA
GO TO para-1 para-2 para-3 DEPENDING ON x.
Se 'x' é igual a 1, então o controle será transferido para o primeiro parágrafo e se 'x' é igual a 2, então o controle será transferido para o segundo parágrafo, e assim por diante.
Exemplo
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 executar o programa em COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Quando você compilar e executar o programa acima referido, que produz o seguinte resultado:
IN A-PARA IN B-PARA IN D-PARA