定义索引表,除了要指明表的名称,数据条目,重复次数外,还应包含一个索引变量。这里需要特别注意的是,索引变量只用指明,而不必进行定义。下面给出定义一个索引表的基本框架,代码如下。
01 sample-indexed-table.
05 item-list OCCURS x1 TIMES
INDEXED BY data-ndx. /*此处指明索引变量*/
10 item-num PIC 9(x2).
10 item-data PIC X(x3).
这里,sample-indexed-table为该索引表的名称。item-list为表的一个列。由于表中涉及到两个相关数据item-num和item-data,因此可以用列统一进行管理。item-num为数据编号,item-data为实际数据。x1,x2,x3为任意自然数。
通过以上代码可以看到,索引表不同于其他表最大之处在于索引表包含有一个索引变量。索引变量在定义索引表时就应该指明,指明方式如下。
INDEXED BY data-ndx.
由此可见,索引表中的索引变量是通过INDEXED BY语句进行指明的。并且,该语句通常出现在OCCURS语句之后。INDEXED BY语句后面出现的变量名data-ndx即为索引变量。索引变量不用另外进行定义。