The iterative expression syntax for a complex array is the following:
1-dimensional array:
arrayitem
(#startnum[/endnum1[/increment1]]
1st subscript range
2-dimensional array:
arrayitem
(#startnum[/endnum1[/increment1]],
1st subscript range
#startnum[/endnum2[/increment2]]
2nd subscript range
3-dimensional array:
arrayitem
(#startnum1[/endnum1[/increment1]],
1st subscript range
#startnum2[/endnum2[/increment2]],
2nd subscript range
#startnum3[/endnum3[/increment3]])
3rd subscript range
The following rules apply:
The following SOURCE statements reference a 2 by 3 array:
SOURCE ARRAY-ITEM (1, 1) SOURCE ARRAY-ITEM (1, 2) SOURCE ARRAY-ITEM (1, 3) SOURCE ARRAY-ITEM (2, 1) SOURCE ARRAY-ITEM (2, 2) SOURCE ARRAY-ITEM (2, 3)
Can, instead, be coded as:
The following iterative expression:
Replaces the following code:
SOURCE ARRAY-ITEM (1, 1) SOURCE ARRAY-ITEM (1, 2) SOURCE ARRAY-ITEM (2, 1) SOURCE ARRAY-ITEM (2, 2) SOURCE ARRAY-ITEM (3, 1) SOURCE ARRAY-ITEM (3, 2)
The following statement produces SUM statements for each element of a three dimensional array of 3 by 2 by 3:
The following iterative expressions are examples of ranges within a one dimensional array:
SUM EXT-SALES-DOLLARS (#1/3) PIC Z,ZZ9
SUM QTR-1-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#4/6) PIC Z,ZZ9
SUM QTR-2-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#7/9) PIC Z,ZZ9
SUM QTR-3-SALES-DOLLARS PIC ZZ,ZZ9
SUM EXT-SALES-DOLLARS (#10/12) PIC Z,ZZ9
SUM QTR-4-SALES-DOLLARS PIC ZZ,ZZ9
SUM YR-SALES-DOLLARS PIC $$$$,$$$