Channel auto-definition exit program

The channel auto-definition exit can be called on all platforms except z/OS when a request is received to start a receiver or server-connection channel but no channel definition exists. You can use it to modify the supplied default definition for an automatically defined receiver or server-connection channel, SYSTEM.AUTO.RECEIVER or SYSTEM.AUTO.SVRCON. See Auto-definition of receiver and server-connection channels for a description of how channel definitions can be created automatically.

The channel auto-definition exit can also be called when a request is received to start a cluster-sender channel. It can be called for cluster-sender and cluster-receiver channels to allow definition modification for this instance of the channel. In this case, the exit also applies to WebSphere MQ for z/OS. A common use of the channel auto-definition exit is to change the name of the security exit (SCYEXIT) because exit names have different formats on different platforms. If no channel auto-definition exit is specified, the default behavior on z/OS(R) is to examine a distributed exit name of the form [path]/libraryname(function) and take up to 8 chars of function, if present, or libraryname, . For more information about this, see WebSphere MQ Queue Manager Clusters.

As with other channel exits, the parameter list is:

MQ_CHANNEL_AUTO_DEF_EXIT (ChannelExitParms, ChannelDefinition)

ChannelExitParms are described in MQCXP - Channel exit parameter. ChannelDefinition is described in MQCD - Channel definition.

MQCD contains the values that are used in the default channel definition if they are not altered by the exit. The exit may modify only a subset of the fields; see MQ_CHANNEL_AUTO_DEF_EXIT - Channel auto-definition exit. However, attempting to change other fields does not cause an error.

The channel auto-definition exit returns a response of either MQXCC_OK or MQXCC_SUPPRESS_FUNCTION. If neither of these is returned, the MCA continues processing as though MQXCC_SUPPRESS_FUNCTION were returned. That is, the auto-definition is abandoned, no new channel definition is created and the channel cannot start.