The target variables can be element, array, or structure variables; or pseudovariables.
For array assignments, each target variable must be an array of scalars or structures. The source must be a scalar or an expression with the same number of dimensions and the same bounds for all dimensions as for the target.
Union assignments are not allowed.
In BY NAME structure assignments, each target variable must be a structure. The right-hand side must be a structure reference.
In structure assignments not using BY NAME or BY DIMACROSS, each target variable must be a structure. The right-hand side must be a scalar or a structure expression with the same structuring as the target structure:
In BY DIMACROSS structure assignments, the target variable must be a structure. The DIMACROSS index expression is applied to all structures that are declared with the DIMACROSS attribute and used in the assignment either as the target or as part of the source. The following restrictions apply to these assignments:
In structure assignments not using the BY NAME and BY DIMACROSS options, the source might be the null bit string ( ''b ) even if the target structure contains non-computational data. In this case, the assignment is performed as if all of the following conditions are true: