Cobol语言基础(4)

2020-05-05 15:57

03 do something ] 04 WHEN condition 05 do something.

说明:02行表示读入到TABLE结束时将进行的操作。 04行表示搜索条件。

九.使用ALTERNATE KEY 操作数据文件

1.ALTERNATE KEY的说明:

拥有primary key的indexed文件还可以拥有多个ALTERNATE KEY,这个KEY不具有唯一性,但程序可以根据它进行相应的数据操作。包括排序,分类,搜索等。 2.建立带有ALTERNATE KEY的索引文件。

例如: 000400 SELECT VENDOR-FILE

000500 ASSIGN TO \

000600 ORGANIZATION IS INDEXED

000700 RECORD KEY IS VENDOR-NUMBER 000800 ALTERNATE KEY

000900 IS VENDOR-NAME WITH DUPLICATES 001000 ACCESS MODE IS DYNAMIC.

说明:000700行定义了记录文件的主健为VENDOR-NUMBER,它具有唯一性,不可重复。 000800—000900行定义了记录文件的ALTERNATE KEY,他不具有唯一性。 注意:带有ALTERNATE KEY的索引文件必须以OUTPUT方式打开建立。 例如:OPEN OUTPUT VENDOR-FILE. 3.设置索引文件的记录排列顺序:

例如: 020000 MOVE SPACE TO KEY-NAME.

020100 START FILE-NAME

020200 KEY NOT < KEY-NAME 020300 INVALID KEY

020400 MOVE \

说明:020000行设置主键值为空,即设置KEY值的参照量为0。

020100—020200行对文件中相应KEY值不小于空的记录按照由小到大的顺序排列。 注意: 1。被设置为KEY的域必须为PRIMARY-KEY或者是ALTERNATE-KEY,其他不可。 2.如果KEY的相应域设置为数值型,则排列顺序按照数值大小排列。

如果KEY的相应域设置为字符型,则排列顺序按照首字符的ASCII码排列。

3.该方法将会直接修改数据文件的存放格式。

16

4.有限改变文件结构:

语法:①START file name

KEY NOT < key name [ INVALID KEY do something ]

②START file name KEY > key name [ INVALID KEY do something ]

③START file name

KEY EQUALS key name [ INVALID KEY do something ]

④START file name

KEY GREATER THAN OR EQUAL TO key name [ INVALID KEY do something ]

说明:方法①-④只有在COBOL-85以上的环境中才可以使用,使用方法同3。 5.习题:

1 将第六章习题2中做成的文件读入,将读入的记录以产品编号为主键,销售总量和销售总额为副键建立新的INDEX文件,按照销售总量为新的INDEX文件排序。

十.使用CALL命令调用子程序

1.配置说明:

(1)在原有COBOL程序的"COBOL Source Files"目录下建立COBOL子程序的源程序文

件,不选择其MAIN属性。

(2)子程序的写法与主程序基本一致,唯一不同之处在于子程序结束时的退出语句为: 000010 PROGRAM-EXIT. 000020 EXIT PROGRAM.

说明:EXIT语句提供了一组过程的公共出口,即指出了被调用过程的逻辑终点。子程序被调

用结束后通过EXIT语句返回主程序。 2.调用带参数的子程序:

COBOL子程序可以拥有的多个参数供主程序调用时使用。 例如: 000010 IDENTIFICATION DIVISION. 000020 PROGRAM-ID. hello.

17

000030

000040 ENVIRONMENT DIVISION. 000050

000060 DATA DIVISION

000070 LINKAGE SECTION. 000080 01 TEMP PIC 999. 000081 01 ACCP PIC XXX. 000090

000100 PROCEDURE DIVISION USING TEMP ACCP. 000110 PROGRAM-BEGIN. 000120 DISPLAY \ 000130 DISPLAY TEMP. 000140 DISPLAY ACCP. 000150 PROGRAM-EXIT. 000160 EXIT PROGRAM.

说明:1.000020行定义了子程序的PROGRAM-ID,这就是主程序调用他的唯一标识。 2.000070-000081行定义了子程序的参数类型和参数个数。

3.000100行表示参数传递的顺序,多个参数之间以空格或者逗号隔开。 3.子程序的返回值:

(1)在子程序结束时利用MOVE语句为“RETURN-CODE”变量赋值,该变量是一个系统认定的全局变量,默认为带符号的9位长的数值性变量,所以不用另外定义。 (2)在调用程序中可以直接得到“RETURN-CODE”变量的值。 4.习题:

1.将第九章习题中关于运算处理的部分抽出为子程序,在主程序中使用call命令调用其完成运算处理. 注意:(1)需要作运算的变量以参数的方式传入子程序,计算完成的值使用RETURN-CODE

返回。 (2).可以建立多个子程序以满足需要。

十一.COBOL到 .NET的移植:

1. 环境的配置:

(1)首先需要安装“Visual Studio .NET 2003”,然后安装“NetCOBOL for .NET V2.1”。

(2)运行Visual Studio .NET 2003,新建project时选择COBOL Projects,再选择需要使用的

COBOL Projects类型,就可以建立新的cobol程序了。

18


Cobol语言基础(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018-2024年中国马饲养行业市场运营态势研究报告(目录) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: