The UNPACK procedure copies components of a packed array to an unpacked array variable. Syntax: UNPACK( z,a,i ) The parameter 'z' is a packed array. The parameter 'a' is an unpacked array variable. The parameter 'i' is the starting value of the index of 'a'. The number of components in 'a' must be greater than or equal to the number of components in 'z'. The UNPACK procedure assigns the components of 'z', starting with z[lower bound], to the array 'a', starting with a[i], until all the components in 'z' are used. In general, when specifying 'i', keep in mind that the upper bound of 'a' (that is, n) must be greater than or equal to i + v - u, where 'v' is the upper bound of 'a' and 'u' is the lower bound of 'a'. That is, ORD(n) must be greater than or equal to ORD(i) + ORD(v) - ORD(u). Normally, you cannot pass the individual components of a packed array to formal VAR parameters; you must unpack the array first.