When substituting field_names in control statements, MFX checks the context in which each field_name appears and determines which field specification is appropriate: p,l,f or only p,l. A field_name substitution results in position and length (p,l) under the following conditions:
-
There is a separate FORMAT=parameter present in the control statement.
-
A format is explicitly specified for the field; that is, the field_name is followed by a format specification.
-
The field_name appears in HEADERn/TRAILERn (where n=1, 2, or 3) in an OUTFIL statement but outside a TOTAL, TOT, SUBTOTAL, SUB, MIN, SUBMIN, MAX, SUBMAX, AVG, SUBAVG subparameter.
-
The field_name appears in an INREC/OUTREC statement or in the OUTREC parameter of an OUTFIL statement, with the following exceptions:
-
The field_name is followed by an EDIT mask (Mnn), EDIT=parameter, SIGNS=parameter, or LENGTH=parameter.
-
The field_name is enclosed in parentheses.
-
The field_name is an operand of an arithmetic operation (ADD/SUB/MUL/DIV/ MOD/MIN/MAX).
-
The field_name is a Y2x or Y4x field and it is not followed by H, F, D, HEX, or a CHANGE=parameter.
-
The field_name is followed by ZDC, ZDF, PDC or PDF.
-
The field_name is followed by the TO=subparameter. (See INREC, OUTREC, OUTFIL TO Subparameter.)