The following rules apply to MFX control statements.
Specifying Control Statements
-
Control statements can be in any order, except for the END control statement which, if specified, must be last.
-
Each control statement, except for JOINKEYS and OUTFIL, can be specified only once for a particular application.
-
The control statement can begin in column 2 through column 69. If labels are used, the control statement must be separated from the label by at least one blank.
-
The control statement name must be the first field (or the first field after a label) of the first card image of the control statement. It cannot be continued on a continuation card image.
-
The last operand of each control statement must be followed by at least one blank.
Specifying Parameters
-
Parameters can take three forms:
-
Parameter
-
Parameter=value
Parameter=(value)
Parameter(value)
-
Parameter=(value1,value2,...,valuen)
Parameter(value1,value2,...,valuen)
-
Note that multiple values must be enclosed in parentheses.
-
Parameters can be in any order, but if parameters are present, the first parameter must begin on the first card image of a control statement.
-
Parameters must be separated from each other by commas.
-
The parameter(s) must be preceded and followed by at least one blank. A blank separates the parameter(s) from the control statement name and also indicates the end of the control statement.
-
If the parameter(s) end in column 71, column 72 must contain a blank to signal the end of the control statement.
-
With the exception of literal strings and constants, a parameter value cannot exceed 28 alphanumeric characters. Parameter values cannot include commas, equal signs, or parentheses.
-
With the exception of literal strings specified as parameter values, blanks are not permitted within parameters.
Specifying Field Positions, Lengths, and Formats
-
Control statements reference fields by position p and length l.
-
The first byte of every fixed-length record is position 1, the second byte position 2, and so on.
-
Bytes 1 through 4 of variable-length records are reserved for the Record Descriptor Word (RDW). For these records, the first byte of the data portion is position 5.
-
Some control statements support bit-level processing. This means a binary control field can begin and end on any bit of any byte. The 8 bits in each byte are numbered 0 through 7. For example, a position value of 7.4 designates a field beginning on the fifth bit of the seventh byte. A length value of 7.4 designates a field 7 bytes, 4 bits long.
-
Make sure the position value takes into account any record reformatting and data conversion that may have resulted from MFX data utility processing or exit programs. Refer to the figure Data Utility Processing Sequence and The Flow of the Sort.
-
When proper processing depends on data format, the format of the field must be specified.
-
The format of the field must be appropriate to the task. For example, only numeric fields can be SUMmed.
-
When all the fields have the same format, the format value can be specified just once through the FORMAT=f subparameter. The FORMAT=f subparameter cannot be used when the INCLUDE/OMIT parameter is specified on the OUTFIL control statement.
Specifying Comments
-
Identify a comment card image by placing an asterisk (*) in column 1. Comments can extend through column 80.
-
To add a comment to a control statement card image, leave one or more blanks after the last parameter or comma on the image and follow with the comment, which can extend through column 71.
-
Continue a comment that follows a control statement by coding an asterisk (*) in column 1 of the next card image or, if the control statement had ended, by placing a continuation character in column 72.
-
Comment lines can be inserted between a control statement and its continuation by coding an asterisk (*) in column one.
Specifying Continuation Card Images
Control statements cannot extend beyond column 71, but they can be continued. To continue a control statement:
-
Break after a parameter-comma or parameter-colon combination before column 72. Begin the continuation of the next card image anywhere between columns 2 and 71 if there is no label on the continuation card. If there is a label, begin the continuation card in any column from 3-71. No continuation character is required.
--or--
-
When the control statement extends through column 71 and cannot be broken at a parameter-comma or parameter-colon combination:
-
If the control statement does not contain a literal string that would extend beyond column 71, place a continuation character in column 72 and continue the control statement on the next card image anywhere between columns 2 and 71.
-
If the control statement does contain a literal string that would extend beyond column 71, place a continuation character in column 72 and begin the continuation of the literal string in column 16 of the next card image.
-
In this example, a continuation character is necessary because the literal string in the HEADER2 specification would extend beyond column 71. The 'X' in column 72 is the continuation character. The literal string is continued in column 16 of the next card image.
Specifying Labels
Labels are permitted on all SYSIN control statements, including continuation card images, but not on the control statements passed by an invoking program or the $ORTPARM DD statement.
Labels must begin in column 1 with an alphabetic character.
Labels can be any length, provided the other rules which apply to control statements are followed.
At least one blank must separate the label from the control statement name or parameter that follows it.
Notational Conventions Used in the MFX for z/OS Programmer’s Guide
-
Braces { } indicate that a choice must be made from the alternatives listed.
-
Brackets [ ] indicate an optional item. Two or more vertically listed items in brackets are mutually exclusive options; only one can be chosen for a particular application.
-
Defaults are underlined.
-
Upper-case letters, numbers, commas, equal signs, and parentheses ( ) must be entered exactly as indicated. Lower-case letters represent variables which must be replaced by actual values.
-
Subscripts show position in a series, and three dots indicate an ellipsis.
For example, a1,a2,...,a5 is equivalent to a1,a2,a3,a4,a5 and represents five a items (variables which will be replaced with actual values).
-
Examples that are to be entered exactly as shown are presented in the Courier typeface, for instance:
Figure 3. Sample Examples in Courier Typeface