天庸

导航

 

完整得COBOL程序都是由四个部分组成的!

1、标志部

  由IDENTIFICATION DIVISION关键字标识,主要用来描述与程序本身相关的信息。

  关键字段

  PROGRAM-ID:指明程序名,是必须具备的字段。

  AUTHOR: 开发者名

  INSTALLATION:设计该程序的公司和部门

  DATE-WRITTEN:指明程序编写或修改的日期

  DATE-COMPLED:指明程序编译的日期

  SECURITY:列出具有访问权限的用户

2、环境部

  通过ENVIRONMENT DIVISION标识字段开始,用于指出该程序与外部环境之间的对应关系。

   a、配置节

    都是可以省略的字段

    SOURCE-COMPUTER:编译程序的计算机

    OBJECT-COMPUTER:描述运行程序的计算机

    SPECIAL-NAMES:制定护臂符号选择小数点、提供开关名和字母定义。

  b、输入/输出节

    数据的输入和输出通常是以文件为对象的。输入/输出节主要是将程序的逻辑文件同环境中的物理文件对应起来。

    FILE-CONTROL:用于指定文件的对应关系,主要字段

    I-O-CONTROL:用于指定程序返回点,不同文件共享的内存区,以及文件卷中的文件

    例:  SELECT CUSTOMER-FILE ASSIGN TO S-SYSIN.

    将CUSTOMER-FILE文件同S-SYSIN文件进行对应。

    SUSTOMER-FILE属于逻辑文件。

    S-SYSIN文件属于物理文件。

3.数据部

  使用DATA DIVISION标识,程序中使用的各项数据在数据部中定义。

  分为3个节。

  a、文件节

    由FILE-SECTION所标识,用于对程序中用到的文件中的数据进行定义。

    文件名必须和环境部定义的输入/输出文件名一致。

    通过FD语句对实现文件的定义。File Descriptor缩写,文件描述的意思。

      用来描述与文件记录相关的物理信息。如:实际格式、长度等。

      通过句点标识结束。

      例:FD  PRINT-FILE

            RECORDING MODE IS F

            LABEL RECORDS ARE OMITTED

            RECORDING CONTAINS 132 CHARACTERS

            DATA RECORD IS PRINT-LINE.

         RECORDING MODE IS F:指明文件记录的格式,F表示长记录。

        LABEL RECORDS ARE OMITTED:表示忽略文件记录的标号。OMITTED为手动指定,STANDARD为默认指定

        RECORDING CONTAINS 132 CHARACTERS:表明每条文件记录包含132个字符

        DATA RECORD IS PRINT-LINE.:指出该文件包含的记录名。

    通过PIC语句依次定义文件中每条记录所包含的数据项。

        数据定义中的层。

        在COBOL中,01属于最高层,需要顶格写。最多支持49层,49层是最低层。

        特殊的层:

          66层:为特殊项目保留,使用较少

          77层:用于某个数据项,如临时变量等。

          88层:用于判断条件中。

      例:01  CUST-RECORD.

            05  ACCOUNT-NO  PIC  9(10).

            05  CLIENT-NAME  PIC  X(20).

            05  PRI-FINANCE.

                10  F-SALARY  PIC  9(5).

                10  F-STOCK  PIC  9(7).

                10  F-FUND  PIC  9(7).

          其中,CUST-RECORD和PRI-FINANCE属于数据组。

          后有PIC的为单元数据项,没有的为数据组。

          "X"表示任意字符,"9"表示只能为数字。括号中的数字表示相应数据的长度。

    b、工作存储节

      由WORKING-STORAGE SECTION标识。用于定义本程序中所用到的各种数据。

      例:

      WORKING-STORAGE  SECTION.

      01  HEADING-LINE.

          05  FILLER  PIC  X(12)

                    VALUE  SPACES.

          05  FILLER  PIC  X(20)

                    VALUE  'CLIENT NAME LIST'.

        01  DETAIL-LINE.

            05  FILLER  PIC  X(10)

                        VALUE SPACES.

        01  EOF-FLAG  PIC  X  VALUE  'N'.

        HEADING-LINE.:用于打印标题,在生成报表的程序中经常用到。

        DETAIL-LINE:该数据可用于提取输出文件记录中的CLIENT-NAME信息,并复制到输出文件记录中。

        EOF-FLAG:用于指示文件是否处理结束。

  4.过程部

  过程部由PROCEDURE DIVISION标识,编写所有逻辑部分。

  将实现特定功能的多个语句段进行调用。

  注意:句点不能省略的情况

    语句段名之后必须有句点。

    标识同一条件下的处理范围时。

 

 

 

        

    

 

     

  

 

posted on 2017-09-13 13:39  天庸  阅读(1028)  评论(0编辑  收藏  举报