0

我有点困惑。我知道当你开始一个 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)。

4

1 回答 1

5

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

INVALID KEY将提出一个条件FILE STATUS "23",指示no record found

根据 2002 COBOL 标准:

"14.8.37.3 一般规则

"7) 在 START 语句执行不成功后,设置文件位置指示符以指示没有建立有效的记录位置。对于索引文件,引用的键是未定义的。

于 2018-08-21T17:30:44.393 回答