IDENTIFICATION DIVISION.
PROGRAM-ID. EXAMPLE.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
SYSERR IS STANDARD-ERROR
ENVIRONMENT-NAME IS NAME-OF-LOGICAL
ENVIRONMENT-VALUE IS LOGICAL-VALUE
ARGUMENT-NUMBER IS POS-OF-COMMAND-LINE-ARGUMENT
ARGUMENT-VALUE IS COMMAND-LINE-ARGUMENT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 para-cnt PIC 9(05).
01 howmany-records PIC X(15).
01 env-dir PIC x(50).
01 file-name PIC x(50).
01 file-spec PIC x(100).
PROCEDURE DIVISION.
BEGIN.
ACCEPT para-cnt FROM POS-OF-COMMAND-LINE-ARGUMENT
ON EXCEPTION
DISPLAY "No arguments specified"
UPON STANDARD-ERROR
STOP RUN
END-ACCEPT.
DISPLAY " Parameters cnt:" para-cnt CONVERSION
ACCEPT howmany-records FROM COMMAND-LINE-ARGUMENT
ON EXCEPTION
DISPLAY "No arguments specified"
UPON STANDARD-ERROR
STOP RUN
END-ACCEPT.
DISPLAY "COBOLPATH" UPON NAME-OF-LOGICAL.
ACCEPT env-dir FROM LOGICAL-VALUE
ON EXCEPTION
DISPLAY "Logical COBOLPATH is not set"
UPON STANDARD-ERROR
NOT ON EXCEPTION
ACCEPT file-name FROM COMMAND-LINE-ARGUMENT
ON EXCEPTION
DISPLAY
"Attempt to read beyond end of command line"
UPON STANDARD-ERROR
NOT ON EXCEPTION
STRING env-dir file-name delimited BY
" " into file-spec
DISPLAY "Would have read " howmany-records
" records from " file-spec
END-ACCEPT
END-ACCEPT.
prog_end.
STOP RUN.
此博客展示了一个COBOL程序示例,包含环境配置、数据定义和过程处理。程序通过ACCEPT语句获取命令行参数,对参数数量、记录数等进行处理,同时设置了异常处理机制,在出现异常时显示错误信息并停止运行,还涉及逻辑值读取和字符串拼接。

4642

被折叠的 条评论
为什么被折叠?



