Qualifying Data Structure Names
Qualifying Data Structure Names
The keyword QUALIFIED indicates that subfields of
the data structure are referenced using qualified notation. This permits
access by specifying the data structure name followed by a period
and the subfield name, for example DS1.FLD1. If the QUALIFIED
keyword is not used, the subfield name remains unqualified, for example FLD1.
If QUALIFIED is used the subfield name can be specified by one of
the following:
- A “Simple Qualified Name” is a name of the form “A.B”.
Simple qualified names are allowed as arguments to keywords on File
and Definition Specifications; in the Field-Name entries on Input
and Output Specifications; and in the Factor 1, Factor 2, and Result-Field
entries on fixed-form calculation specifications, i.e.
dsname.subf. While spaces are permitted between elements of a fully-qualified name, they are not permitted in simple qualified names. - A “Fully Qualified Name” is a name with qualification and indexing to an arbitrary number of levels, for example, “A(X).B.C(Z+17)”. Fully qualified names are allowed in most free-form calculation specifications, or in any Extended-Factor-2 entry. This includes operation codes CLEAR and DSPLY coded in free-form calculations.
In addition, arbitrary levels of indexing and qualification are
allowed. For example, a programmer could code:ds(x).subf1.s2.s3(y+1).s4 as
an operand within an expression. Please see QUALIFIED for
further information on the use of the QUALIFIED keyword.
Fully qualified names may be specified as the Result-Field operand for operation codes CLEAR and DSPLY when coded in free-form calc specs. Expressions are allowed as Factor 1 and Factor 2 operands for operation code DSPLY (coded in free-form calculation specifications), however, if the operand is more complex than a fully qualified name, the expression must be enclosed in parentheses.
The QUALIFIED keyword is not used for a nested data structure definition. Nested data structures are automatically qualified. See Nested data structure subfield.