TABLE(数组)
数组是逻辑上连续的一系列元素,在 DATA DIVISION 里由OCCURS 子句定义。
每个元素具有同样(tóngyàng)的格式。
第1页/共14页
第一页,共14页。
声明(shēngmíng)TABLE(数组)
语法(yǔfǎ):
level-number data-item-1
OCCURS interger-1 TIMES |
interger-1 TO interger-2 TIMES DEPENDING ON data-item-2
[ASCEDING | DESCENDING KEY IS data-item-3]
[INDEXED BY data-item-4]
other data-description entries
第2页/共14页
第二页,共14页。
例子(lì zi):
01 TAXTOTALS.
03 CONTYTAX PIC 9(4)V9(2)
OCCURS 20 TIMES.
01 TAXTOTALS.
03 COUNTAX OCCURS 20 TIMES.
05 DETAILTAX PIC 9(4)V9(2).
05 PAYER PIC 9(6).
01 JEANSTABLE.
03 PROVINCE OCCURS 4 TIMES.
10 GENDER OCCURS 2 TIMES.
15 SALESVALUE PIC 9(8)V99.
15 NUMSOLD PIC 9(7).
第3页/共14页
第三页,共14页。
例子(lì zi):
77 IX PIC 99.
77 IX-MAX PIC 99.
01 GROUP-ITEM.
03 ITEM-A PIC X(3) OCCURS 1 TO 12 TIMES DEPENDING ON IX-MAX.
第4页/共14页
第四页,共14页。
INDEXED BY(索引(suǒyǐn))
例子(lì zi):
01 GROUP-ITEM.
03 ITEM-A OCCURS 7 TIMES INDEXED BY IX.
05 NAME PIC X(20).
05 ADDRESS1 PIC X(10).
….
PERFORM VARYING IX FROM 1 BY 1 UNTIL IX >7
MOVE SPACES TO NAME(IX)
MOVE SPACES TO ADDRESS1(IX)
END-PERFORM.
第5页/共14页
第五页,共14页。
引用(yǐnyòng)数组
下标(xià biāo)
例子
01 ANY-TABLE.
05 TABLE-ELEMENT PIC X(10)
OCCURS 3 TIMES
VALUE 'ABCDEFGHIJ'.
. . .
MOVE 'AA' TO TABLE-ELEMENT (1) (3 : 2).
索引
例子
01 SAMPLE-TABLE-FOUR.
05 TABLE-DEPTH OCCURS 3 TIMES INDEXED BY INX-A.
10 TABLE-ROW OCCURS 4 TIMES INDEXED BY INX-B.
15 TABLE-COLUMN OCCURS 8 TIMES INDEXED BY INX-C PIC X(8).
....
MOVE 'ABCDEFGH' TO TABLE-COLUMN (INX-A + 1, INX-B + 2, INX-C - 1).
MOVE 'ABCDEFGH' TO TABLE-COLUMN (INX-C - 1) of TABLE-ROW (INX-B+2) of TABLE-DEPTH(INX-A+1).
第6页/共14页
第六页,共14页。
用 VALUE 子句(zǐ jù)初始化数组
例子(lì zi)
01 TABLE-ONE VALUE ‘ABCD'.
05 TABLE-TWO OCCURS 4 TIMES PIC X.
01 T2.
05 T-OBJ PIC 9 VALUE 3.
05 T OCCURS 5 TIMES
DEPENDING ON T-OBJ.
10 X PIC XX VALUE 'AA'.
10 Y PIC 99 VALUE 19.
10 Z PIC XX VALUE 'BB'.
第7页/共14页
第七页,共14页。
KEY
例子(lì zi)
数组是逻辑上连续的一系列元素实用教案 来自淘豆网www.taodocs.com转载请标明出处.