The DIMACROSS attribute specifies a DIMENSION attribute on a structure, but one which will be removed from the structure and propogated to its members.
The DIMACROSS attribute has the same syntax as the DIMENSION attribute except that the DIMACROSS keyword is, of course, not optional.
The DIMACROSS attribute is valid only on structures, and it is invalid if any of the immediate children already have the dimension attribute.
Unlike a variable declared with the DIMENSION attribute, a variable declared with the DIMACROSS attribute is not an array. The children of the variable are arrays. However, the variable might be used as an array in a BY DIMACROSS assignment or as an argument to the LBOUNDACROSS or HBOUNDACROSS built-in functions.
As an example, the declare
Dcl
1 a(10) dimacross,
2 b,
2 c,
3 d,
3 e;
is equivalent to
Dcl
1 a,
2 b(10),
2 c(10),
3 d,
3 e;