Cobol打开输入文件错误消息

时间:2014-08-08 10:38:27

标签: cobol microfocus

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

我试过了,

OPEN INPUT CUSTOMER-FILE
INVALID KEY/ON ERROR
DISPLAY "NO FILE FOUND".

但无法让它发挥作用。

感谢。

2 个答案:

答案 0 :(得分:3)

在FILE-CONTROL中,将FILE STATUS子句添加到文件的SELECT中,并在PROCEDURE DIVISION中检查在每次文件交互后根据记录的值指定的文件状态变量的值。

答案 1 :(得分:0)

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

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文档中找到特定的错误代码。