Cobol打开输入文件错误消息

Cobol打开输入文件错误消息,cobol,microfocus,Cobol,Microfocus,打开输入行顺序文件的错误处理命令是什么 我试过了 OPEN INPUT CUSTOMER-FILE INVALID KEY/ON ERROR DISPLAY "NO FILE FOUND". 但无法让它工作 谢谢。在“文件控制”中,在“为您的文件选择”中添加一个“文件状态”子句,并在“过程”部分中,在每次文件交互后根据记录的值检查您指定的文件状态变量的值。我同意使用文件状态,它更灵活,您可以在一个解决方案中处理所有错误。以下是您需要的大部分代码: FILE-CONTROL.

打开输入行顺序文件的错误处理命令是什么

我试过了

OPEN INPUT CUSTOMER-FILE
INVALID KEY/ON ERROR
DISPLAY "NO FILE FOUND".
但无法让它工作


谢谢。

在“文件控制”中,在“为您的文件选择”中添加一个“文件状态”子句,并在“过程”部分中,在每次文件交互后根据记录的值检查您指定的文件状态变量的值。

我同意使用文件状态,它更灵活,您可以在一个解决方案中处理所有错误。以下是您需要的大部分代码:

FILE-CONTROL.                                                
    SELECT  FILENAME  ASSIGN  TO  FILENAME                 
                        FILE STATUS IS WS-FS-FILENAME.       
*I  used WS-FS-FILENAME so I know it's declared in Working Storage and connected to File *Section.

DATA DIVISION.                                               
FILE SECTION.                                                

FD  FILENAME            RECORDING  ....                         
                        BLOCK      ...                        
                        RECORD     ....                       
                        LABEL      RECORD    ....        
                        DATA       RECORD    ...
                        .....  

01  FILENAME-REC         PIC X(N).




WORKING-STORAGE SECTION.                                       
01  WS-FS-FILENAME   PIC XX.   

==================================================


OPEN OUTPUT FILENAME.                        
IF WS-FS-FILENAME NOT = '00' THEN            
   DISPLAY 'ERROR OPENING FILENAME'          
   DISPLAY 'ERROR CODE IS : ', WS-FS-FILENAME
   PERFORM EXIT-WITH-ERROR                        
END-IF.                                     

WRITE FILENAME-REC.                                   
IF WS-FS-FILENAME NOT = '00'                          
   DISPLAY 'WRITE ERROR ON FILENAME. ' 
   DISPLAY 'STATUS :' WS-FS-FILENAME                  
   PERFORM EXIT-WITH-ERROR                                
END-IF. 
等等,阅读它,关闭它


您也可以在Cobol文档中找到特定的错误代码

似乎就在昨天,我才对此发表了评论:-)我个人更喜欢文件状态,而不是声明或命令。打开(或关闭)时没有命令可用。@BillWoodger有例子吗?我真的不明白。你的程序中有一个SELECT,它将你的文件从内部绑定到外部。选择的一部分是文件状态(在COBOL中是可选的,但对我来说是强制性的)。这将命名您在工作存储器中定义的两字节字段。在每个IO语句之后,该字段将被设置为表示操作结果的值。00好。10读一个输入文件就是文件的结尾,诸如此类。这些都记录在Micro Focus手册中。看看这里,例如:@BillWoodger-你是对的,我现在删除了最后一句。