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.