Несколько вещей, которые вы должны сделать, чтобы сделать вашу программу более "безопасной" в отношении файловых операций:
1) Проверять и реагировать на FILE-STATUS
для каждой файловой операции, OPEN,ЧИТАЙТЕ, ПИШИТЕ и ЗАКРЫТЬ.
2) Обеспечить охват всех непредвиденных ситуаций.Вы
проверяете только «нормальные» условия и условия конца файла.Много других вещей может быть указано также.См. эту ссылку .
Похоже, вы пытаетесь читать и записывать в один и тот же физический файл.Все операции ввода / вывода (OPEN / READ / WRITE) относятся к одному и тому же файлу.Вы пытаетесь открыть файл для последовательного доступа и после достижения конца файла переключиться на IO, а затем добавить новую запись?
Было бы очень полезно, если бы вы также показали абзац FILE-CONTROL
.Это покажет, как вы пытаетесь получить доступ к файлу.Я думаю, что могут быть проблемы с режимом доступа, указанным в FILE-CONTROL
и OPEN / CLOSE / READ и WRITE в PROCEDURE DIVISION
.Например, я не вижу, где вы указываете ключ записи для операции записи I-O
.
Укажите параграф FILE-CONTROL
и расскажите нам немного больше о том, что делает эта программа.Кроме того, дайте нам значение FILE-STATUS
, которое мы могли бы предложить больше помощи на этом этапе.