Существует ряд задач, которые необходимо выполнить еще и еще раз хотел бы чтение каждой записи в файл до конца. цикла в COBOL, являются:
Выполните процедуру Thru используется для выполнения серии пункта, первый и последний пункт имена в последовательности. После выполнения последнего пункта управление возвращается обратно.
С заявлениями выступили внутри выполнить будет выполняться до конца выполнить.
Синтаксис
В синтаксисе в линию:
PERFORM DISPLAY 'HELLO WORLD' END-PERFORM.
Здесь, заявление выполняется в один пункт и затем управление передается на другой пункт или раздела.
Синтаксис
Ниже приводится синтаксис out-of-line выполнить:
PERFORM PARAGRAPH1 THRU PARAGRAPH2
Пример
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 для выполнения выше COBOL программы.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
При компиляции и выполнения этой программы, она производит следующие результаты:
IN A-PARA IN C-PARA IN D-PARA IN E-PARA IN B-PARA
В выполнить до", пункте выполняется до тех пор пока в условие. С помощью проверки перед условие по умолчанию и это указывает на то, что состояние проверяется перед исполнением заявления в пункте.
Синтаксис
Ниже синтаксис выполнять до:
PERFORM A-PARA UNTIL COUNT=5 PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5 PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5
Пример
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 для выполнения выше COBOL программы.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
При компиляции и выполнения этой программы, она производит следующие результаты:
WS-CNT : 0 WS-CNT : 1 WS-CNT : 2 WS-CNT : 3
В поле "Выполнить", а пункт будет казнен необходимое число раз.
Синтаксис
В синтаксисе выполнить:
PERFORM A-PARA 5 TIMES.
Пример
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. PROCEDURE DIVISION. A-PARA. PERFORM B-PARA 3 TIMES. STOP RUN. B-PARA. DISPLAY 'IN B-PARA'.
JCL для выполнения выше COBOL программы:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
При компиляции и выполнения этой программы, она производит следующие результаты:
IN B-PARA IN B-PARA IN B-PARA
В выполнение той или иной пункт, будут выполняться до состояния, в до фразы.
Синтаксис
Ниже синтаксис выполнять различные:
PERFORM A-PARA VARYING A FROM 1 BY 1 UNTIL A=5.
Пример
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 для выполнения выше COBOL программы:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
При компиляции и выполнения этой программы, она производит следующие результаты:
IN B-PARA 1 IN B-PARA 2 IN B-PARA 3 IN B-PARA 4
ПЕРЕЙДИТЕ К используется для изменения потока исполнения программы. В ПЕРЕЙТИ К заявления передача выходит только в направлении вперед. Он используется для выхода из пункта. Различные типы ПЕРЕЙТИ К ведомости используются следующим образом:
Безусловное перейти к
GO TO para-name.
Условный перейти к
GO TO para-1 para-2 para-3 DEPENDING ON x.
Если 'x' равен 1, то Управление будет передано на первом пункте и, если 'x' равен 2, то Управление будет передано на второй пункт, и т.д.
Пример
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 для выполнения выше COBOL программы:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
При компиляции и выполнения этой программы, она производит следующие результаты:
IN A-PARA IN B-PARA IN D-PARA