VSAM START命令时的指针位置

时间:2018-08-21 16:02:14

标签: cobol vsam

我有点困惑。我知道当您启动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 个答案:

答案 0 :(得分:5)

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

将以INVALID KEY FILE STATUS引发"23"条件,指示no record found

根据2002 COBOL标准:

  

“ 14.8.37.3一般规则

     

“ 7)执行START语句失败后,   文件位置指示器设置为指示没有有效记录   职位已经建立。对于索引文件,引用的关键   未定义。”