Es gibt einige Aufgaben, die immer und immer wieder wie das Lesen jeder Datensatz einer Datei bis zum Ende durchgeführt werden müssen. Die Schleifenanweisungen verwendet in COBOL sind:
ausführen Thru wird verwendet, um eine Reihe von Absatz, indem sie den ersten und den letzten Absatz Namen in der Reihenfolge geben. Nach der Ausführung des letzten Absatzes Kontrolle zurückgekehrt wird zurück.
Statements innerhalb der PERFORM wird sein ausgeführt, bis END-PERFORM erreichte wird.
Syntax
Es folgt die Syntax der In-line durchführen:
PERFORM DISPLAY 'HELLO WORLD' END-PERFORM.
Hier ist eine Aussage in einem Absatz ausgeführt, und dann wird die Steuerung übertragen zu anderen Absatz oder Abschnitt.
Syntax
Es folgt die Syntax der Out-of-line Durchführen:
PERFORM PARAGRAPH1 THRU PARAGRAPH2
Beispiel
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 oben COBOL-Programm zu ausführen.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:
IN A-PARA IN C-PARA IN D-PARA IN E-PARA IN B-PARA
In ausführen, bis "ein Absatz wird ausgeführt, bis die gegebene Bedingung wahr wird. Mit Test vor ist die Standard-Zustand und es zeigt an, dass die Bedingung überprüft vor der Ausführung von Aussagen in einem Absatz.
Syntax
Es folgt die Syntax durchführen, bis:
PERFORM A-PARA UNTIL COUNT=5 PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5 PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5
Beispiel
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 oben COBOL-Programm zu ausführen.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:
WS-CNT : 0 WS-CNT : 1 WS-CNT : 2 WS-CNT : 3
In ausführen Zeiten" ein Absatz wird sein ausgeführt , die Anzahl der Male spezifiziert.
Syntax
Im Folgenden ist die Syntax ausführen Zeiten:
PERFORM A-PARA 5 TIMES.
Beispiel
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. PROCEDURE DIVISION. A-PARA. PERFORM B-PARA 3 TIMES. STOP RUN. B-PARA. DISPLAY 'IN B-PARA'.
JCL oben COBOL-Programm zu ausführen:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:
IN B-PARA IN B-PARA IN B-PARA
In ausführen unterschiedlichen, ein Absatz wird sein ausgeführt bis zu die Bedingung in Until phrase zukommen wahr.
Syntax
Im Folgenden ist die Syntax ausführen unterschiedlichen:
PERFORM A-PARA VARYING A FROM 1 BY 1 UNTIL A=5.
Beispiel
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 oben COBOL-Programm zu ausführen:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:
IN B-PARA 1 IN B-PARA 2 IN B-PARA 3 IN B-PARA 4
GO TO-Anweisung wird verwendet, um den Fluss der Ausführung eines Programms zu ändern. In GO TO-Anweisung Transfer geht nur in Vorwärtsrichtung. Es wird verwendet, um einen Absatz zu verlassen. Die verschiedenen Arten von GO TO-Anweisungen Verwendet , sind als folgt:
bedingungslose GO TO
GO TO para-name.
bedingt GO TO
GO TO para-1 para-2 para-3 DEPENDING ON x.
Wenn "x" gleich zu 1 ist, dann wird die Steuerung zu erster Absatz übertragen werden und wenn "x" gleich zu 2 ist, wird die Steuerung ist übertragen zu zweiter Absatz , und so weiter.
Beispiel
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 oben COBOL-Programm zu ausführen:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Wenn Sie kompilieren und führen Sie das obige Programm, es produziert das folgende Ergebnis:
IN A-PARA IN B-PARA IN D-PARA