您可能想查看此链接,其中包含一些可能适用于您的情况的信息。那里包含的一些信息:
- 关于文件状态
如果您为文件定义了文件状态数据项,那么在对文件进行每次输入/输出操作(OPEN、CLOSE、READ、WRITE、REWRITE、START 和 DELETE)之后,运行时系统都会更新它以指示操作完成。
定义文件状态数据项是可选的。如果未声明文件状态数据项并且发生严重的文件错误,COBOL 运行时系统将显示错误消息并中止您的程序。
您应该在每次输入/输出操作后检查文件状态数据项,以查看操作是否成功完成。
- 关于文件状态数据项
文件状态是一个两字节代码。如果文件状态数据项的第一个字节包含值 9,则表示 COBOL 运行时系统错误。在这种情况下,第二个字节是一个包含错误代码的二进制字段。
示例代码(ws-file-status 对应于您的 XZ-STATUS6)
...
working-storage section.
01 ws-file-status.
05 status-key-1 pic x.
05 status-key-2 pic x.
05 binary-status redefines status-key-2 pic 99 comp-x.
...
...
procedure division.
...
perform check-status.
...
check-status.
evaluate status-key-1
when "0" next sentence
when "1" display "end of file reached"
...
when "9" display "run-time-system error"
perform check-mf-error-message
end-evaluate.
...
check-mf-error-message.
evaluate binary-status
when 002 display "file not open"
when 007 display "disk space exhausted"
when 013 display "file not found"
when 024 display "disk error "
when 065 display "file locked "
when 068 display "record locked "
when 039 display "record inconsistent"
when 146 display "no current record "
when 180 display "file malformed "
when 208 display "network error "
when 213 display "too many locks "
when other display "not error status "
display binary-status
end-evaluate.
请注意,确定您的(奇异)值Â
是否与binary-status
(within check-mf-error-message
) 列出的任何值相对应,但至少它应该有助于了解如何正确显示您的实际文件状态代码。