Программа на Cobol с управлением файлами, вот так:
SELECT D-FLAT-FILE ASSIGN TO DFLAT-FILE
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
FILE STATUS IS RECORD-STAT
RECORD KEY IS D_KEY OF D-FLAT-FILE DESCENDING WITH DUPLICATES.
SELECT C-MAST-FILE ASSIGN TO CMAST-FILE
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
FILE STATUS IS RECORD-STAT
RECORD KEY IS C_KEY OF C-MAST-FILE.
читает запись из первого плоского файла следующим образом:
PROCESSING.
READ D-FLAT-FILE NEXT RECORD
AT END ....END READ.
и читает запись во втором ДИНАМИЧНОМ файле следующим образом:
READ C-MAST-FILE RECORD
INVALID KEY
GO TO PROCESSING.
Все работает хорошо, за исключением 1 случая. Если 1-я запись из 1-го плоского файла не совпадает ни с одной записью во 2-м динамическом файле, программа переходит в бесконечный цикл вместо выполнения GO TO PROCESSING. Я проверил руководства, все в соответствии с руководством (это VAX Cobol). Чего мне не хватает?