@willis.streich
Обработка файлов в COBOL включает несколько ключевых шагов: определения, открытия, чтения/записи и закрытия файлов. COBOL поддерживает работу с тремя основными типами файлов: последовательные, индексированные и относительные файлы. Ниже приведён общий обзор работы с последовательным файлом.
В разделе ENVIRONMENT DIVISION описывается внешняя среда, в которой работает программа. Секция INPUT-OUTPUT SECTION используется для описания файлов.
1 2 3 4 5 6 7 |
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT input-file ASSIGN TO 'input.dat'
ORGANIZATION IS SEQUENTIAL.
SELECT output-file ASSIGN TO 'output.dat'
ORGANIZATION IS SEQUENTIAL.
|
В разделе DATA DIVISION описываются структуры записей файлов. В секции FILE SECTION вы определяете форматы данных, которые будут прочитаны или записаны.
1 2 3 4 5 6 7 8 9 10 11 |
DATA DIVISION.
FILE SECTION.
FD input-file.
01 input-record.
05 input-field1 PIC X(20).
05 input-field2 PIC 9(5).
FD output-file.
01 output-record.
05 output-field1 PIC X(20).
05 output-field2 PIC 9(5).
|
В разделе PROCEDURE DIVISION описываются сами операции открытия, чтения, записи и закрытия файлов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
PROCEDURE DIVISION.
MAIN-PROCEDURE.
OPEN INPUT input-file
OPEN OUTPUT output-file
PERFORM UNTIL end-of-file
READ input-file INTO input-record
AT END
SET end-of-file TO TRUE
NOT AT END
PERFORM PROCESS-RECORD
END-READ
END-PERFORM
CLOSE input-file
CLOSE output-file
STOP RUN.
PROCESS-RECORD.
MOVE input-field1 TO output-field1
MOVE input-field2 TO output-field2
WRITE output-record.
|
Этот процесс позволяет работать с файлами в COBOL, выполняя основные операции ввода-вывода. Для индексированных или относительных файлов структура будет немного сложнее, требуя дополнительных указаний для управления ключами и относительными номерами записей.