У меня есть следующий код для обработки индексированного файла, но я получаю ошибку времени выполнения, «индексированная файловая система недоступна» при запуске программы. Однако я не уверен, как закодировать индексный файл и файл данных. Правильно ли я выполняю инициализацию? Что я делаю неправильно?Индексированная обработка файлов в ошибке Cobol?
IDENTIFICATION DIVISION.
PROGRAM-ID. INDEXFILE.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT VENDOR-FILE ASSIGN TO DISK
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS VENDOR-NUMBER.
DATA DIVISION.
FILE SECTION.
FD VENDOR-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "input.txt"
DATA RECORD IS VENDOR-RECORD.
01 VENDOR-RECORD.
05 VENDOR-NUMBER PIC 9(5).
05 VENDOR-NAME PIC X(30).
WORKING-STORAGE SECTION.
01 VNAME PIC X.
PROCEDURE DIVISION.
PARA1.
OPEN INPUT VENDOR-FILE.
DISPLAY 'ENTER VENDOR NO: '.
ACCEPT VENDOR-NUMBER.
DISPLAY VENDOR-NUMBER.
READ VENDOR-FILE
INVALID KEY DISPLAY 'NO SUCH RECORD'.
CLOSE VENDOR-FILE.
STOP RUN.
Пожалуйста, сообщите нам, какой компилятор вы используете, и предоставите полный текст сообщения об ошибке, которое вы получаете. Сообщение об ошибке должно содержать номер (ы) линии, к которому он применяется. – cschneid
Я использую DSBOX как свой компилятор. Я редактировал код, и ошибка показывает ошибку времени выполнения, индексированная файловая система недоступна. – user3211403
Что такое DSBOX? У вас есть подробности об этом? Вы должны использовать FILE STATUS для всех файлов (при условии, что он вам доступен) и проверить хороший статус после каждого доступа к файлу. Когда вы получаете ненулевое значение для OPEN, например, фактический код STALUS FILE может предоставить вам больше информации. Вы уверены, что файл, который вы выделяете, является индексированным файлом? Является ли ваш .txt-файл индексированным файлом? Если это так, я бы дал ему другой тип файла, чтобы сохранить путаницу. –