@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, выполняя основные операции ввода-вывода. Для индексированных или относительных файлов структура будет немного сложнее, требуя дополнительных указаний для управления ключами и относительными номерами записей.