Specifies a union type or a named structure.
DEFINE STRUCTURE 1 struct-type-name [UNION] {minor-struct-name [attribute][...]};
Abbreviation: STRUCT
PL/I defaults supply missing data attributes. A variable declared as a typed structure does not propagate any of the following attributes to the members of the typed structure. These attributes are propagated only when the variable is declared as an untyped structure:
Variables declared with DEFINE STRUCTURE can only be assigned to variables (or parameters) having the same structure type.
A DEFINE STRUCTURE statement that names a structure without specifying any of its members defines an unspecified structure, which can be useful when a structure definition contains a handle to a second structure that also contains a handle to the first structure. An unspecified structure:
Unsupported type functions include BIND, CAST, NEW, RESPEC, SIZE and VALUE.