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-你是对的,我现在删除了最后一句。