CL1=,CL2=,CL3=,CL4= parameter for procedures

The CL1=,CL2=,CL3=,CL4= parameter in procedures is a required positional parameter that specifies four three-digit decimal numbers indicating which classes of messages are to be processed by this message region. The maximum value for a class is 999. The CL1=,CL2=,CL3=,CL4= parameter for procedures is a required positional parameter that specifies four three-digit decimal numbers indicating which classes of messages are to be processed by this message region. The maximum value for a class is 999.

For example, if classes 1, 2, and 3 are to be processed by this region, the PARM field must be specified as PARM='MSG,001002003000'.

The sequence of specifying the classes determines relative class priority within the message region. In the example, all class 1 messages are selected for scheduling before any class 2 messages are considered. Class numbers cannot be greater than the maximum number of classes that are specified during system definition.

The sequence in which classes are specified determines relative class priority within the message processing region (MPR). In addition, class numbers cannot be greater than the maximum number of classes that are specified during system definition, and the maximum value allowed for each class specification is 999.

Important: In general, classes should be specified in either only the PARM=() string or only the DFSOPT stream, not both. If classes are specified in both places, the DFSOPT input is ignored.

Specifying classes in the PARM=() string

If included in the PARM=() string, the value MSG plus four three-digit decimal numbers, with no commas or spaces between the number values, must be specified. Leading zeroes are required, and unused class values must be specified as 000.

For example, if classes 1, 2, and 3 are to be processed by a region, in that order, with no fourth class specified, the PARM field should be configured as follows:

PARM='MSG,001002003000'.

Specifying classes using DFSOPT

Instead of specifying custom MPR classes in the PARM=() string, you can specify them in the DFSOPT DD statement in IMS-supplied procedures using CLn= for each class value to be specified, where n indicates the class number.

But since the DFSMPR procedure included with IMS assigns a default value to each class, and the PARM=() string overrides what is specified in the DFSOPT stream, there are several factors to consider and address if necessary when using DFSOPT to specify MPR classes:

  • The DFSMPR procedure must be modified to not assign default values to the four MPR classes. To do this, in the DFSMPR procedure, change:

    CL1=001,CL2=000,CL3=000,CL4=000,

    to:

    CL1=,CL2=,CL3=,CL4=,

  • When specified in the PARM=() string, values for all four classes must be specified, with no commas or spaces between the number values, and each value must include three digits, including leading zeroes if necessary, even for unused classes with a value of 0 (zero).
  • When specified in the DFSOPT stream, however, only classes with non-zero values need to be specified, each class specification must be separated or followed by a comma, leading zeroes are not required, and any class not specified will be set to 0 (zero).

Examples of possible valid class specifications in the DFSOPT stream:

CL1=1,CL2=2,CL3=3,CL4=4, (for an MPR with four classes to be processed)

CL1=1,CL2=2, (for an MPR with only two classes to be processed)

CL1=1, (for an MPR with only one class to be processed)

Restriction: Whether you define MPR classes in the PARM=() string or the DFSOPT stream, at least one class value must be set. If all classes are set to zero, IMS issues message DFS650I message (INVALID CLASS SPECIFIED IN PARM FIELD) and abends with an abend code of 650. Whether no class values are set in the PARM=() string, or there is no DFSOPT input, the same error message and abend code are issued.

For more information, see DFSOPT DD in DD statements for IMS procedures.