8.4 Technique 3 - Using the DEF_ARRAY Command
Note: This technique only uses a small part of the command DEF_ARRAY's full features. Refer to the DEF_ARRAY command in the for more details and examples.
In the RDML program define the array index field (#XX) and then use the DEF_ARRAY command to overlay field CYR with array #CYA:
DEFINE FIELD(#XX) TYPE(*DEC) LENGTH(7) DECIMALS(0)
DEF_ARRAY NAME(#CYA) INDEXES(#XX) OVERLAYING(#CYR 1)
TYPE(*SIGNED) TOT_ENTRY(12) ENTRY_LEN(7)
ENTRY_DEC(2)
After defining array #CYA you can "index" field CYR like this, to calculate totals of all 12 fields:
CHANGE FIELD(#TOT) TO(0)
BEGIN_LOOP FROM(1) TO(12) USING(#XX)
CHANGE FIELD(#TOT) TO('#TOT + #CYA#XX')
END_LOOP
to increment all values in the array by 10 percent:
BEGIN_LOOP FROM(1) TO(12) USING(#XX)
CHANGE FIELD(#CYA#XX) TO('#CYA#XX * 1.1')
END_LOOP