精通cobol--9.15.1 定长表

  定长表简单的说就是表中数据项个数不可变的表。前面例子中用到的表都是定长表。这里对定长表进行讨论,也可以作为对前面所学知识的一个回顾。下面代码定义了一张最基本的定长表。

01  FIXED-TABLE-ONE.

05    ENTRY-ONE    OCCURS  10  TIMES.

      10   NUM-ONE    PIC 9(5).

      10   DATA-ONE   PIC X(10).

05    SUB-ONE         PIC 99  COMP.

该段代码定义了一张下标表,同时该表也是定长表。根据OCCURS语句得到该表共有10个数据条目,因此可认为该表长度为10。该表存储空间大小为10*(5+10)=150

同样,也可定义定长的索引表,定义方式如下。

01  FIXED-TABLE-TWO.

05   ENTRY-TWO    OCCURS   10   TIMES

                      INDEXED   BY  TWO-NDX.

      10   NUM-TWO      PIC 9(5).

      10   DATA-TWO     PIC X(10).

以上定义的定长索引表的长度仍然为10,同样是通过OCCURS语句后的重复次数得到的。该表既是定长表,也是索引表,这两个概念是并行的。

若要定义可用于二分查找的索引表,则还需使表中数据有序排列。若数据为升序排列,则使用ASCENDING KEY BY语句完成;降序则使用DESCENDING KEY BY语句。

升序排列的定长索引表定义方式如下。

01  FIXED-TABLE-THREE.

05   ENTRY-THREE    OCCURS   10   TIMES

                       INDEXED   BY   THREE-NDX

                       ASCENDING  KEY  NUM-THREE.

      10   NUM-THREE      PIC 9(5).

      10   DATA-THREE     PIC X(10).

降序排列的定长索引表定义方式如下。

01  FIXED-TABLE-FOUR.

05   ENTRY-FOUR     OCCURS   10   TIMES

                       INDEXED   BY   FOUR-NDX

                       DESCENDING  KEY  NUM-FOUR.

      10   NUM-FOUR      PIC 9(5).

      10   DATA-FOUR     PIC X(10).

以上列举了几种类型的定长表,同时也是对前面两节中关于表的定义的一个简单回顾。实际上,定长表最根本的特征就是定义表语句OCCURS后的重复次数是一个确定的数字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值