Consider the following declaration:
declare List fixed decimal(3) dimension(8);
List is declared as a one-dimensional array of eight elements, each one a fixed-point decimal element of three digits. The one dimension of List has bounds of 1 and 8, and its extent is 8.
In the example:
declare Table (4,2) fixed dec (3);
Table is declared as a two-dimensional array of eight fixed-point decimal elements. The two dimensions of Table have bounds of 1 and 4 and 1 and 2, and the extents are 4 and 2.
Other examples are:
declare List_A dimension(4:11); declare List_B (-4:3);
In the first example, the bounds are 4 and 11; in the second they are -4 and 3. The extents are the same for each, 8 integers from the lower bound through the upper bound.
In the manipulation of array data (discussed in Array expressions) involving more than one array, the bounds--not merely the extents--must be identical. Although List, List_A, and List_B all have the same extent, the bounds are not identical.