Cobol文件状态9Â;什么意思?

Cobol文件状态9Â;什么意思?,cobol,microfocus,cobol85,cobol.net,procobol,Cobol,Microfocus,Cobol85,Cobol.net,Procobol,我的问题是当我试图在输入时打开一个大文件(6GB), 有一条信息说: cobol file status code 9Â 我编译了程序,它没有错误,但是当我试着运行它时, 我使用了一个小的(例如3GB),我的程序工作正常 有什么想法吗 变量声明: SELECT MYFILE ASSIGN MYFILE ACCESS SEQUENTIAL STATUS IS XZ-STATUS

我的问题是当我试图在输入时打开一个大文件(6GB), 有一条信息说:

cobol file status code 9Â
我编译了程序,它没有错误,但是当我试着运行它时, 我使用了一个小的(例如3GB),我的程序工作正常

有什么想法吗

变量声明:

SELECT                                                       
MYFILE ASSIGN     MYFILE
ACCESS SEQUENTIAL 
STATUS IS XZ-STATUS6.  
===
OPEN INPUT  MYFILE 
===
READ  MYFILE NEXT AT  END  MOVE  1  TO  ZFIN-F3

你可能想看看,其中包括一些可能适用于你的情况的信息。其中包括一些信息:

  • 关于文件状态
  • 如果为文件定义了文件状态数据项,则在对文件执行每次输入/输出操作(打开、关闭、读取、写入、重写、启动和删除)后,运行时系统会更新该数据项,以指示操作是如何完成的

    定义文件状态数据项是可选的。如果未声明文件状态数据项且发生严重的文件错误,COBOL运行时系统将显示错误消息并中止程序

    您应该在每次输入/输出操作后检查文件状态数据项,以查看操作是否成功完成

  • 关于文件状态数据项
  • 文件状态是一个双字节代码。如果文件状态数据项的第一个字节包含值9,则表示COBOL运行时系统错误。在这种情况下,第二个字节是包含错误代码的二进制字段

  • 示例代码(ws-file状态对应于您的XZ-STATUS6)


  • 请注意,确保您的(奇怪的)值
    将与
    二进制状态的任何列出的值相对应(在
    check mf error message
    中),但至少它将有助于了解如何正确显示您的实际文件状态代码。

    谢谢大家宝贵的反馈,问题在于我用来计算一些大数字的数组的大小,我已将数组设置为最大值,现在运行良好

    您是在32位还是64位上运行?可能有一个限制与此相关…很可能,194-文件大小太大哪个COBOL?您已经使用了所有可以找到的COBOL标记。您应该使用特定于所使用版本的版本。我不知道我应该参考哪本手册,在ISO-8859-1中是194,所以肯定是“文件太大”。
     ...
     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.