变长表是本节要讨论的重点内容。当表中数据数目不确定时,就要使用变长表。变长表中的数据数目根据程序中执行的具体情况而确定。定义变长表时,主要是通过在OCCURS语句后加上DEPENDING ON选项实现的。另外,此处的OCCURS语句后通常不再是一个具体的数字,而是一个范围大小。定义变长表最关键的语句为。
X OCCURS x1 TO x2 TIMES DEPENDING ON Y.
完整的定义方式如下。
01 VARIABLE-TABLE-ONE.
05 FIELD-ONE OCCURS 1 TO 9 TIMES
DEPENDING ON TABLE-LENGTH-ONE.
10 VARI-NUM-ONE PIC 9(5).
10 VARI-DATA-ONE PIC X(10).
05 TABLE-LENGTH-ONE PIC 9.
以上定义的变长表,表中数据条目最少为1条,最多为9条。具体的数据条目数通过整型变量TABLE-LENGTH