我有点困惑.我知道当您启动VSAM文件时,指针被设置为特定记录,后续READ命令将读取该记录.
我们假设VSAM有记录:
100
200
300
400
500Run Code Online (Sandbox Code Playgroud)
当你写:
START filename
KEY IS GREATER THAN 400Run Code Online (Sandbox Code Playgroud)
它将指针放在500.但如果你说
START filename
KEY IS GREATER THAN 600Run Code Online (Sandbox Code Playgroud)
指针放在哪里?
是500还是错误.
另外,我的理解是START永远不会给文件结束(返回代码10).
指针不会定位到任何记录.
INVALID KEY将FILE STATUS "23"指出一个条件no record found.
从2002年的COBOL标准:
"14.8.37.3一般规则
"7)在执行START语句失败后,文件位置指示器被设置为表示没有建立有效的记录位置.对于索引文件,引用的键是未定义的."