Положение указателя во время команды VSAM START
Я немного смущен. Я знаю, когда вы запускаете файл VSAM, указатель устанавливается на конкретную запись, которая будет прочитана последующей командой READ.
Давайте предположим, что VSAM имеет записи:
100
200
300
400
500
Когда вы пишете:
START filename
KEY IS GREATER THAN 400
Он установит указатель на 500. Но если вы скажете
START filename
KEY IS GREATER THAN 600
где будет указатель?
Будет ли он на 500 или это будет ошибка.
Кроме того, я понимаю, что START никогда не даст конец файла (КОД ВОЗВРАТА 10).
1 ответ
Указатель не будет помещен ни в одну запись.
INVALID KEY
условие будет повышено с FILE STATUS
"23"
с указанием no record found
,
От стандарта COBOL 2002 года:
"14.8.37.3 Общие правила
"7) После неудачного выполнения оператора START индикатор положения файла устанавливается так, чтобы указывать, что действительная позиция записи не была установлена. Для индексированных файлов ключ ссылки не определен".