Because SCLM macros are S/370 Assembler macros, all rules pertaining
to Assembler macros apply to them. You can find more information on
Assembler macros in the HLASM Language Reference.
These additional SCLM guidelines apply to the use of SCLM macros:
- Assembler does not support blanks in macro parameters. If a blank
is used in a parameter that is delimited by parentheses, everything
on the line after the blank will be ignored. If you use single quotes
to delimit parameters, be careful when continuing to a new line. All
blanks between the first single quote and the continuation character
are considered part of the parameter. This can result in exceeding
the maximum parameter length. If you need more than 71 characters
for a line of code, you must put a continuation character in column
72 and begin the remaining lines in column 16.
- The maximum length of a parameter is 255 characters. (This is
the maximum length of an Assembler macro call operand.)
- If any commas are omitted from the parameter list for any of the
macros, the project definition might assemble correctly, but SCLM
might use different defaults than expected, resulting in errors. All
parameters except the last must be followed by a comma.
- If an optional parameter is specified without a value or the parameter
is not specified, the default value is used; for example, PARM2A=
or not specifying PARM2A on the macro statement causes PARM2A to default
to Y. If the parameter does not have a default value then no value
(null) is specified for the parameter.
- SCLM handles invalid values for required and optional parameters
differently. If you specify an invalid value for a required parameter,
SCLM might issue an error message and the project definition assembly
ends with a return code of 8. If you specify an invalid value for
an optional parameter, SCLM issues a warning message, uses the default
value for the parameter, and returns a return code of 4. Limited verification
of the parameters is done during the assembly of the project definition.
In many cases, the error does not occur until run time. An MNOTE is
added to the assembly listing to indicate the invalid parameter specifications.
- SCLM performs validation of data set names when the data sets
are opened. SCLM performs validation of VSAM versioning data set names
when they are required for use by SCLM.
- The messages you receive when the project definition is assembled
are issued from the SCLM macros and the assembler. SCLM messages are
identified as MNOTEs. For more information, refer to "SCLM macro
messages (MNOTEs)" in z/OS ISPF Messages and Codes.
For explanations of other messages, refer to the HLASM Programmer's Guide.
The SCLM MNOTEs appear in one of two places within the listing:
- Directly after the SCLM macro statement that contains incorrect
parameter values
- Near the end of the listing where SCLM cross-checks the values
of the various SCLM macro statements. Assembler error messages usually
occur inline where the syntax error was made.