VSAM START命令时的指针位置

Viv*_*086 0 cobol vsam

我有点困惑.我知道当您启动VSAM文件时,指针被设置为特定记录,后续READ命令将读取该记录.

我们假设VSAM有记录:

当你写:

START filename
 KEY IS GREATER THAN 400
Run Code Online (Sandbox Code Playgroud)

它将指针放在500.但如果你说

START filename
 KEY IS GREATER THAN 600
Run Code Online (Sandbox Code Playgroud)

指针放在哪里?

是500还是错误.

另外,我的理解是START永远不会给文件结束(返回代码10).

Ric*_*ith 5

指针不会定位到任何记录.

INVALID KEYFILE STATUS "23"指出一个条件no record found.

从2002年的COBOL标准:

"14.8.37.3一般规则

"7)在执行START语句失败后,文件位置指示器被设置为表示没有建立有效的记录位置.对于索引文件,引用的键是未定义的."