//标识部
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. PGMNAME. //指定本程序名。此段是必须的,并且必须排在标识部的最前头。
//环境部
000003 ENVIRONMENT DIVISION.
//配置节
000004 CONFIGURATION SECTION.
000005 SOURCE-COMPUTER. IBM-PC WITH DEBUGGING MODE. //WITH从句指定启用调试代码。
000006 OBJECT-COMPUTER. IBM-PC.
000007 SPECIAL-NAMES.
000008 CURRENCY-SIGN IS $. //指定货币符号为"$"。
000009 DECIMAL-POINT IS COMMA. //在PIC字符串或数字字面值中交换逗号","和小数点"."的功能。
//输入输出节
000010 INPUT-OUTPUT SECTION.
000011 FILE-CONTROL. //命名程序所用文件,并将其与外部文件相关联。
000012 SELECT INPUT-FILE ASSIGN TO "IN.DAT".
//数据部
000013 DATA DIVISION.
//文件节
000014 FILE SECTION. //定义数据文件的结构。
000015 FD INPUT-FILE. //File Description.后面的文件名必须与前面SELECT语句中的一致。
000016 01 INPUT-RECORD-1 PIC X(100). //描述文件属性及与其关联的数据记录(可以是多个)。
000017 01 INPUT-RECORD-2 //同一存储区域的另一种定义。重定义INPUT-RECORD-1。
000018 03 ITEM-1 PIC X(20).
000019 03 ITEM-2 PIC X(80).
//工作存储节,描述程序处理过程中所涉及的不属于文件的数据记录。
//此存储区在运行单元开始时被分配,在运行单元结束时被销毁,在此过程中将保持其最后使用值。
000020 WORKING-STORAGE SECTION.
000021 01 WORK-FIELD PIC X(20).
//连接节,用于被调用程序,描述从调用程序传递过来的数据。
000022 LINKAGE SECTION.
000023 01 LNK-FIELD PIC X(10).
//过程部,被调用程序可以包含USING从句用于接收调用程序传递的参数数据,主调程序不需要。
//BY REFERENCE是默认值,可以省略。
000024 PROCEDURE DIVISION USING BY REFERENCE LNK-FIELD.
//过程部处理逻辑的细分。
000025 PGMNAME-START SECTION.
000026 PERFORM P-PROC-1-RTN.
000027 PERFORM P-PROC-2-RTN.
000028 EXIT PROGRAM. //返回调用程序(同GOBACK)。
000029 P-PROC-1-RTN SECTION.
000030 P-PROC-1.
000031 DISPLAY "first program:".
000032 P-PROC-1-EXT.
000033 EXIT.
//相当于CONTINUE,其后的任何语句都会被执行。
000034 P-PROC-2-RTN SECTION.
000035 P-PROC-2.
000036 DISPLAY "HELLO, WORLD!".
000037 P-PROC-2-EXT.
000038 EXIT.