Change, Copy, and Create Channel

The Change Channel command changes existing channel definitions. The Copy and Create Channel commands create new channel definitions - the Copy command uses attribute values of an existing channel definition.

The Change Channel (MQCMD_CHANGE_CHANNEL) command changes the specified attributes in a channel definition. For any optional parameters that are omitted, the value does not change.

The Copy Channel (MQCMD_COPY_CHANNEL) command creates new channel definition using, for attributes not specified in the command, the attribute values of an existing channel definition.

The Create Channel (MQCMD_CREATE_CHANNEL) command creates an IBM MQ channel definition. Any attributes that are not defined explicitly are set to the default values on the destination queue manager. If a system default channel exists for the type of channel being created, the default values are taken from there.

The following table shows the parameters that are applicable to each type of channel.

Parameter Sender Server Receiver Requester Client conn Server conn Cluster sender Cluster receiver AMQP
AMQPKeepAlive                
BatchHeartBeat          
BatchInterval          
BatchDataLimit          
BatchSize      
CertificateLabel    
ChannelDesc
ChannelMonitoring    
ChannelStatistics      
ChannelName (see footnote 1)
ChannelType (see footnote 3)
ClientChannelWeight                
ClusterName              
ClusterNameList              
CLWLChannelPriority              
CLWLChannelRank              
CLWLChannelWeight              
CommandScope  
ConnectionAffinity                
ConnectionName      
DataConversion      
DefaultChannelDisposition    
DefReconnect                
DiscInterval        
FromChannelName (see footnote 2)  
HeaderCompression  
HeartBeatInterval  
KeepAliveInterval  
LocalAddress    
LongRetryCount          
LongRetryInterval          
MaxInstances              
MaxInstancesPerClient                
MaxMsgLength
MCAName          
MCAType        
MCAUserIdentifier        
MessageCompression  
ModeName      
MsgExit      
MsgRetryCount            
MsgRetryExit            
MsgRetryInterval            
MsgRetryUserData            
MsgUserData      
NetworkPriority                
NonPersistentMsgSpeed      
Password        
Port                
PropertyControl          
PutAuthority       4    
QMgrName                
QSGDisposition  
ReceiveExit  
ReceiveUserData  
Replace  
SecurityExit  
SecurityUserData  
SendExit  
SendUserData  
SeqNumberWrap      
SharingConversations              
ShortRetryCount          
ShortRetryInterval          
SPLProtection          
SSLCipherSpec
SSLClientAuth      
SSLPeerName
ToChannelName (see footnote 2)  
TpName    
TpRoot                
TransportType  
UseCltId                
UseDLQ      
UserIdentifier        
XmitQName              
Note:
  1. Required parameter on Change and Create Channel commands.
  2. Required parameter on Copy Channel command.
  3. Required parameter on Change, Create, and Copy Channel commands.
  4. PUTAUT is valid for a channel type of SVRCONN on z/OS only.
  5. Required parameter on Create Channel command if TrpType is TCP.
  6. Required parameter on Create Channel command for a channel type of MQTT.


Required parameters (Change, Create Channel)

    ChannelName (MQCFST)
    Channel name (parameter identifier: MQCACH_CHANNEL_NAME).

    Specifies the name of the channel definition to be changed, or created

    The maximum length of the string is MQ_CHANNEL_NAME_LENGTH.

    This parameter is required on all types of channel; on a CLUSSDR it can be different from on the other channel types. If your convention for naming channels includes the name of the queue manager, we can make a CLUSSDR definition using the +QMNAME+ construction, and IBM MQ substitutes the correct repository queue manager name in place of +QMNAME+. This facility applies only to IBM i, UNIX, Linux, and Windows only. See Configure a queue manager cluster for more details.

    On CLUSRCVR channels when using automatic cluster setup, this parameter can use some additional inserts:

    • +AUTOCL+ resolves to the automatic cluster name
    • +QMNAME+ resolves to the local queue manager name.

    When using these inserts, both the unexpanded string and the string with the replaced values must fit inside the maximum size of the field. If there are configured automatic cluster full repositories in the AutoCluster configuration, the channel name must also fit in the maximum channel name length when +QMNAME+ is replaced with each of the configured full repository names.

    ChannelType (MQCFIN)
    Channel type (parameter identifier: MQIACH_CHANNEL_TYPE). Specifies the type of the channel being changed, copied, or created. The value can be any of the following values:

      MQCHT_SENDER
      Sender.

      MQCHT_SERVER
      Server.

      MQCHT_RECEIVER
      Receiver.

      MQCHT_REQUESTER
      Requester.

      MQCHT_SVRCONN
      Server-connection (for use by clients).

      MQCHT_CLNTCONN
      Client connection.

      MQCHT_CLUSRCVR
      Cluster-receiver.

      MQCHT_CLUSSDR
      Cluster-sender.

      MQCHT_AMQP
      AMQP.


Required parameters (Copy Channel)

    FromChannelName (MQCFST)
    From channel name (parameter identifier: MQCACF_FROM_CHANNEL_NAME).

    The name of the existing channel definition that contains values for the attributes that are not specified in this command.

    On z/OS, the queue manager searches for an object with the name you specify and a disposition of MQQSGD_Q_MGR or MQQSGD_COPY to copy from. This parameter is ignored if a value of MQQSGD_COPY is specified for QSGDisposition. In this case, an object with the name specified by ToChannelName and the disposition MQQSGD_GROUP is searched for to copy from.

    The maximum length of the string is MQ_CHANNEL_NAME_LENGTH.

    ChannelType (MQCFIN)
    Channel type (parameter identifier: MQIACH_CHANNEL_TYPE). Specifies the type of the channel being changed, copied, or created. The value can be any of the following values:

      MQCHT_SENDER
      Sender.

      MQCHT_SERVER
      Server.

      MQCHT_RECEIVER
      Receiver.

      MQCHT_REQUESTER
      Requester.

      MQCHT_SVRCONN
      Server-connection (for use by clients).

      MQCHT_CLNTCONN
      Client connection.

      MQCHT_CLUSRCVR
      Cluster-receiver.

      MQCHT_CLUSSDR
      Cluster-sender.

      MQCHT_AMQP
      AMQP.

    ToChannelName (MQCFST)
    To channel name (parameter identifier: MQCACF_TO_CHANNEL_NAME).

    The name of the new channel definition.

    The maximum length of the string is MQ_CHANNEL_NAME_LENGTH.

    Channel names must be unique; if a channel definition with this name exists, the value of Replace must be MQRP_YES. The channel type of the existing channel definition must be the same as the channel type of the new channel definition otherwise it cannot be replaced.


Optional parameters (Change, Copy, and Create Channel)

    AMQPKeepAlive (MQCFIN)
    The AMQP channel keep alive interval (parameter identifier: MQIACH_AMQP_KEEP_ALIVE).

    The keep alive time for an AMQP channel in milliseconds. If the AMQP client has not sent any frames within the keep alive interval, then the connection is closed with a amqp:resource-limit-exceeded AMQP error condition.

    This parameter is valid only for ChannelType values of MQCHT_AMQP.

    BatchHeartbeat (MQCFIN)
    The batch heartbeat interval (parameter identifier: MQIACH_BATCH_HB).

    Batch heartbeating allows sender-type channels to determine whether the remote channel instance is still active, before going in-doubt. The value can be in the range 0 - 999999. A value of 0 indicates that batch heart-beating is not to be used. Batch heartbeat is measured in milliseconds.

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    BatchInterval (MQCFIN)
    Batch interval (parameter identifier: MQIACH_BATCH_INTERVAL). The approximate time in milliseconds that a channel keeps a batch open, if fewer than BatchSize messages or BatchDataLimit bytes have been transmitted in the current batch.
    The batch is terminated when one of the following conditions is met:

    • BatchSize messages have been sent.
    • BatchDataLimit bytes have been sent.
    • The transmission queue is empty and BatchInterval milliseconds have elapsed since the start of the batch.

    BatchInterval must be in the range 0 - 999999999. A value of zero means that the batch is terminated as soon as the transmission queue becomes empty, or the BatchSize or BatchDataLimit is reached.

    This parameter applies only to channels with a ChannelType of: MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    BatchDataLimit (MQCFIN)

    Batch data limit (parameter identifier: MQIACH_BATCH_DATA_LIMIT).

    The limit, in kilobytes, of the amount of data that can be sent through a channel before taking a sync point. A sync point is taken after the message that caused the limit to be reached has flowed across the channel. A value of zero in this attribute means that no data limit is applied to batches over this channel.

    The value must be in the range 0 - 999999. The default value is 5000.

    The BATCHLIM parameter is supported on all platforms.

    This parameter only applies to channels with a ChannelType of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSRCVR, or MQCHT_CLUSSDR.

    BatchSize (MQCFIN)
    Batch size (parameter identifier: MQIACH_BATCH_SIZE).

    The maximum number of messages that must be sent through a channel before a checkpoint is taken.

    The batch size which is used is the lowest of the following:

    • The BatchSize of the sending channel
    • The BatchSize of the receiving channel
    • The maximum number of uncommitted messages at the sending queue manager
    • The maximum number of uncommitted messages at the receiving queue manager

    The maximum number of uncommitted messages is specified by the MaxUncommittedMsgs parameter of the Change Queue Manager command.

    Specify a value in the range 1 - 9999.

    This parameter is not valid for channels with a ChannelType of MQCHT_SVRCONN or MQCHT_CLNTCONN.

    CertificateLabel (MQCFST)
    Certificate label (parameter identifier: MQCA_CERT_LABEL).

    Certificate label for this channel to use.

    The label identifies which personal certificate in the key repository is sent to the remote peer. If this attribute is blank, the certificate is determined by the queue manager CertificateLabel parameter.

    Note that inbound channels (including receiver, requester, cluster-receiver, unqualified server, and server-connection channels) only send the configured certificate if the IBM MQ version of the remote peer fully supports certificate label configuration, and the channel is using a TLS CipherSpec.

    An unqualified server channel is one that does not have the ConnectionName field set.

    In all other cases, the queue manager CertificateLabel parameter determines the certificate sent. In particular, the following only ever receive the certificate configured by the CertificateLabel parameter of the queue manager, regardless of the channel-specific label setting:

    • All current Java and JMS clients.
    • Versions of IBM MQ prior to Version 8.0.

    ChannelDesc (MQCFST)
    Channel description (parameter identifier: MQCACH_DESC).

    The maximum length of the string is MQ_CHANNEL_DESC_LENGTH.

    Use characters from the character set, identified by the coded character set identifier ( CCSID ) for the message queue manager on which the command is executing, to ensure that the text is translated correctly.

    ChannelMonitoring (MQCFIN)
    Online monitoring data collection (parameter identifier: MQIA_MONITORING_CHANNEL). Specifies whether online monitoring data is to be collected and, if so, the rate at which the data is collected. The value can be any of the following values:

      MQMON_OFF
      Online monitoring data collection is turned off for this channel.

      MQMON_Q_MGR
      The value of the queue manager's ChannelMonitoring parameter is inherited by the channel.

      MQMON_LOW
      If the value of the queue manager's ChannelMonitoring parameter is not MQMON_NONE, online monitoring data collection is turned on, with a low rate of data collection, for this channel.

      MQMON_MEDIUM
      If the value of the queue manager's ChannelMonitoring parameter is not MQMON_NONE, online monitoring data collection is turned on, with a moderate rate of data collection, for this channel.

      MQMON_HIGH
      If the value of the queue manager's ChannelMonitoring parameter is not MQMON_NONE, online monitoring data collection is turned on, with a high rate of data collection, for this channel.

    ChannelStatistics (MQCFIN)
    Statistics data collection (parameter identifier: MQIA_STATISTICS_CHANNEL). Specifies whether statistics data is to be collected and, if so, the rate at which the data is collected. The value can be:

      MQMON_OFF
      Statistics data collection is turned off for this channel.

      MQMON_Q_MGR
      The value of the queue manager's ChannelStatistics parameter is inherited by the channel.

      MQMON_LOW
      If the value of the queue manager's ChannelStatistics parameter is not MQMON_NONE, online monitoring data collection is turned on, with a low rate of data collection, for this channel.

      MQMON_MEDIUM
      If the value of the queue manager's ChannelStatistics parameter is not MQMON_NONE, online monitoring data collection is turned on, with a moderate rate of data collection, for this channel.

      MQMON_HIGH
      If the value of the queue manager's ChannelStatistics parameter is not MQMON_NONE, online monitoring data collection is turned on, with a high rate of data collection, for this channel.

    On z/OS systems, enabling this parameter simply turns on statistics data collection, regardless of the value you select. Specifying LOW, MEDIUM, or HIGH makes no difference to your results. This parameter must be enabled in order to collect channel accounting records.

    ClientChannelWeight (MQCFIN)
    Client Channel Weight (parameter identifier: MQIACH_CLIENT_CHANNEL_WEIGHT).

    The client channel weighting attribute is used so client channel definitions can be selected at random, with the larger weightings having a higher probability of selection, when more than one suitable definition is available.

    Specify a value in the range 0 - 99. The default is 0.

    This parameter is only valid for channels with a ChannelType of MQCHT_CLNTCONN

    ClusterName (MQCFST)
    Cluster name (parameter identifier: MQCA_CLUSTER_NAME).

    The name of the cluster to which the channel belongs.

    This parameter applies only to channels with a ChannelType of:

    • MQCHT_CLUSSDR
    • MQCHT_CLUSRCVR

    Only one of the values of ClusterName and ClusterNamelist can be nonblank; the other must be blank.

    The maximum length of the string is MQ_CLUSTER_NAME_LENGTH.

    ClusterNamelist (MQCFST)
    Cluster namelist (parameter identifier: MQCA_CLUSTER_NAMELIST).

    The name, of the namelist, that specifies a list of clusters to which the channel belongs.

    This parameter applies only to channels with a ChannelType of:

    • MQCHT_CLUSSDR
    • MQCHT_CLUSRCVR

    Only one of the values of ClusterName and ClusterNamelist can be nonblank; the other must be blank.

    CLWLChannelPriority (MQCFIN)
    Channel priority for the purposes of cluster workload distribution (parameter identifier: MQIACH_CLWL_CHANNEL_PRIORITY).

    Specify a value in the range 0 - 9 where 0 is the lowest priority and 9 is the highest.

    This parameter applies only to channels with a ChannelType of:

    • MQCHT_CLUSSDR
    • MQCHT_CLUSRCVR

    CLWLChannelRank (MQCFIN)
    Channel rank for the purposes of cluster workload distribution (parameter identifier: MQIACH_CLWL_CHANNEL_RANK).

    Specify a value in the range 0 - 9 where 0 is the lowest priority and 9 is the highest.

    This parameter applies only to channels with a ChannelType of:

    • MQCHT_CLUSSDR
    • MQCHT_CLUSRCVR

    CLWLChannelWeight (MQCFIN)
    Channel weighting for the purposes of cluster workload distribution (parameter identifier: MQIACH_CLWL_CHANNEL_WEIGHT).

    Specify a weighting for the channel for use in workload management. Specify a value in the range 1 - 99 where 1 is the lowest priority and 99 is the highest.

    This parameter applies only to channels with a ChannelType of:

    • MQCHT_CLUSSDR
    • MQCHT_CLUSRCVR

    CommandScope (MQCFST)
    Command scope (parameter identifier: MQCACF_COMMAND_SCOPE). This parameter applies to z/OS only. Specifies how the command is executed when the queue manager is a member of a queue sharing group. We can specify one of the following:

    • blank (or omit the parameter altogether). The command is executed on the queue manager on which it was entered.
    • a queue manager name. The command is executed on the queue manager you specify, providing it is active within the queue sharing group. If you specify a queue manager name other than the queue manager on which it was entered, we must be using a queue sharing group environment, and the command server must be enabled.
    • an asterisk (*). The command is executed on the local queue manager and is also passed to every active queue manager in the queue sharing group.

    The maximum length is MQ_QSG_NAME_LENGTH.

    ConnectionAffinity (MQCFIN)
    Channel Affinity (parameter identifier: MQIACH_CONNECTION_AFFINITY) The channel affinity attribute specifies whether client applications that connect multiple times using the same queue manager name, use the same client channel. The value can be any of the following values:

      MQCAFTY_PREFERRED
      The first connection in a process reading a client channel definition table (CCDT) creates a list of applicable definitions based on the weighting with any zero ClientChannelWeight definitions first in alphabetical order. Each connection in the process attempts to connect using the first definition in the list. If a connection is unsuccessful the next definition is used. Unsuccessful nonzero ClientChannelWeight definitions are moved to the end of the list. Zero ClientChannelWeight definitions remain at the start of the list and are selected first for each connection. For C, C++ and .NET (including fully managed .NET) clients the list is updated if the CCDT has been modified since the list was created. Each client process with the same host name creates the same list.

      This value is the default value.

      MQCAFTY_NONE
      The first connection in a process reading a CCDT creates a list of applicable definitions. All connections in a process independently select an applicable definition based on the weighting with any applicable zero ClientChannelWeight definitions selected first in alphabetical order. For C, C++ and .NET (including fully managed .NET) clients the list is updated if the CCDT has been modified since the list was created.

    This parameter is only valid for channels with a ChannelType of MQCHT_CLNTCONN.

    ConnectionName (MQCFST)
    Connection name (parameter identifier: MQCACH_CONNECTION_NAME). On CLUSRCVR channels when using automatic cluster setup, this parameter can use some additional inserts:

    • +AUTOCL+ resolves to the automatic cluster name
    • +QMNAME+ resolves to the local queue manager name

    In addition, any variable configured at queue manager create time, see the crtmqm -iv option, can be used surrounded by '+', for example +CONNAME+. When using these inserts, both the unexpanded inserts and the expanded values must fit inside the field maximum size.

    On Multiplatforms, the maximum length of the string is 264.

    On z/OS, the maximum length of the string is 48.

    Specify ConnectionName as a comma-separated list of names of machines for the stated TransportType. Typically, only one machine name is required. We can provide multiple machine names to configure multiple connections with the same properties. The connections are tried in the order they are specified in the connection list until a connection is successfully established. If no connection is successful, the channel starts to try processing again. Connection lists are an alternative to queue manager groups to configure connections for reconnectable clients, and also to configure channel connections to multi-instance queue managers.

    Specify the name of the machine as required for the stated TransportType:

    • For MQXPT_LU62 on IBM i, and UNIX, specify the name of the CPI-C communications side object. On Windows specify the CPI-C symbolic destination name. On z/OS, there are two forms in which to specify the value:

        Logical unit name
        The logical unit information for the queue manager, comprising the logical unit name, TP name, and optional mode name. This name can be specified in one of three forms:

        Form Example
        luname IGY12355
        luname/TPname IGY12345/APING
        luname/TPname/modename IGY12345/APINGD/#INTER

        For the first form, the TP name and mode name must be specified for the TpName and ModeName parameters; otherwise these parameters must be blank.

        Note: For client-connection channels, only the first form is allowed.

        Symbolic name
        The symbolic destination name for the logical unit information for the queue manager, as defined in the side information data set. The TpName and ModeName parameters must be blank. Note: For cluster-receiver channels, the side information is on the other queue managers in the cluster. Alternatively, in this case it can be a name that a channel auto-definition exit can resolve into the appropriate logical unit information for the local queue manager.

        The specified or implied LU name can be that of a VTAM generic resources group.

    • For MQXPT_TCP, we can specify a connection name, or a connection list, containing the host name or the network address of the remote machine. Separate connection names in a connection list with commas.

      On z/OS, the connection name can include the IP_name of a z/OS dynamic DNS group or a network dispatcher input port. Do not include this parameter for channels with a ChannelType value of MQCHT_CLUSSDR.

      On Multiplatforms, the TCP/IP connection name parameter of a cluster-receiver channel is optional. If you leave the connection name blank, IBM MQ generates a connection name for you, assuming the default port and using the current IP address of the system. We can override the default port number, but still use the current IP address of the system. For each connection name leave the IP name blank, and provide the port number in parentheses; for example:
      (1415)
      The generated CONNAME is always in the dotted decimal (IPv4) or hexadecimal (IPv6) form, rather than in the form of an alphanumeric DNS host name.
    • For MQXPT_NETBIOS specify the NetBIOS station name.
    • For MQXPT_SPX specify the 4 byte network address, the 6 byte node address, and the 2 byte socket number. These values must be entered in hexadecimal, with a period separating the network and node addresses. The socket number must be enclosed in brackets, for example:
      0a0b0c0d.804abcde23a1(5e86)
      If the socket number is omitted, the IBM MQ default value (5e86 hex) is assumed.

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, MQCHT_CLNTCONN, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR. Note: If we are using clustering between IPv6 -only and IPv4 -only queue managers, do not specify an IPv6 network address as the ConnectionName for cluster-receiver channels. A queue manager that is capable only of IPv4 communication is unable to start a cluster sender channel definition that specifies the ConnectionName in IPv6 hexadecimal form. Consider, instead, using host names in a heterogeneous IP environment.

    DataConversion (MQCFIN)
    Whether sender must convert application data (parameter identifier: MQIACH_DATA_CONVERSION).

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    The value can be any of the following values:

      MQCDC_NO_SENDER_CONVERSION
      No conversion by sender.

      MQCDC_SENDER_CONVERSION
      Conversion by sender.

    DefaultChannelDisposition (MQCFIN)
    Intended disposition of the channel when activated or started (parameter identifier: MQIACH_DEF_CHANNEL_DISP).

    This parameter applies to z/OS only.

    The value can be any of the following values:

      MQCHLD_PRIVATE
      The intended use of the object is as a private channel.

      This value is the default value.

      MQCHLD_FIXSHARED
      The intended use of the object is as a fixshared channel.

      MQCHLD_SHARED
      The intended use of the object is as a shared channel.

    DefReconnect (MQCFIN)
    Client channel default reconnection option (parameter identifier: MQIACH_DEF_RECONNECT).

    The default automatic client reconnection option. We can configure a IBM MQ MQI client to automatically reconnect a client application. The IBM MQ MQI client tries to reconnect to a queue manager after a connection failure. It tries to reconnect without the application client issuing an MQCONN or MQCONNX MQI call.

      MQRCN_NO
      MQRCN_NO is the default value.

      Unless overridden by MQCONNX, the client is not reconnected automatically.

      MQRCN_YES
      Unless overridden by MQCONNX, the client reconnects automatically.

      MQRCN_Q_MGR
      Unless overridden by MQCONNX, the client reconnects automatically, but only to the same queue manager. The QMGR option has the same effect as MQCNO_RECONNECT_Q_MGR.

      MQRCN_DISABLED
      Reconnection is disabled, even if requested by the client program using the MQCONNX MQI call.

    DefReconnect Reconnection options set in the application
      MQCNO_RECONNECT MQCNO_RECONNECT_Q_MGR MQCNO_RECONNECT_AS_DEF MQCNO_RECONNECT_DISABLED
    MQRCN_NO YES QMGR NO NO
    MQRCN_YES YES QMGR YES NO
    MQRCN_Q_MGR YES QMGR QMGR NO
    MQRCN_DISABLED NO NO NO NO

    This parameter is valid only for a ChannelType value of MQCHT_CLNTCONN.

    DiscInterval (MQCFIN)
    Disconnection interval (parameter identifier: MQIACH_DISC_INTERVAL).

    This interval defines the maximum number of seconds that the channel waits for messages to be put on a transmission queue before terminating the channel. A value of zero causes the message channel agent to wait indefinitely.

    Specify a value in the range 0 - 999 999.

    This parameter is valid only for ChannelType values of MQCHT_SENDER MQCHT_SERVER, MQCHT_SVRCONN, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    For server-connection channels using the TCP protocol, this interval is the minimum time in seconds for which the server-connection channel instance remains active without any communication from its partner client. A value of zero disables this disconnect processing. The server-connection inactivity interval only applies between MQ API calls from a client, so no client is disconnected during an extended MQGET with wait call. This attribute is ignored for server-connection channels using protocols other than TCP.

    HeaderCompression (MQCFIL)
    Header data compression techniques supported by the channel (parameter identifier: MQIACH_HDR_COMPRESSION).

    The list of header data compression techniques supported by the channel. For sender, server, cluster-sender, cluster-receiver, and client-connection channels, the values specified are in order of preference with the first compression technique supported by the remote end of the channel being used.

    The mutually supported compression techniques of the channel are passed to the message exit of the sending channel where the compression technique used can be altered on a per message basis. Compression alters the data passed to send and receive exits.

    Specify one or more of:

      MQCOMPRESS_NONE
      No header data compression is performed. This value is the default value.

      MQCOMPRESS_SYSTEM
      Header data compression is performed.

    HeartbeatInterval (MQCFIN)
    Heartbeat interval (parameter identifier: MQIACH_HB_INTERVAL). The interpretation of this parameter depends on the channel type, as follows:

    • For a channel type of MQCHT_SENDER, MQCHT_SERVER, MQCHT_RECEIVER, MQCHT_REQUESTER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR, this interval is the time in seconds between heartbeat flows passed from the sending MCA when there are no messages on the transmission queue. This interval gives the receiving MCA the opportunity to quiesce the channel. To be useful, HeartbeatInterval must be less than DiscInterval. However, the only check is that the value is within the permitted range.

      This type of heartbeat is supported on the following platforms: IBM i, UNIX, Windows, and z/OS.

    • For a channel type of MQCHT_CLNTCONN or MQCHT_SVRCONN, this interval is the time in seconds between heartbeat flows passed from the server MCA when that MCA has issued an MQGET call with the MQGMO_WAIT option on behalf of a client application. This interval allows the server MCA to handle situations where the client connection fails during an MQGET with MQGMO_WAIT.

      This type of heartbeat is supported on all platforms.

    The value must be in the range 0 - 999 999. A value of 0 means that no heartbeat exchange occurs. The value that is used is the larger of the values specified at the sending side and receiving side.

    KeepAliveInterval (MQCFIN)
    KeepAlive interval (parameter identifier: MQIACH_KEEP_ALIVE_INTERVAL).

    Specifies the value passed to the communications stack for KeepAlive timing for the channel.

    For this attribute to be effective, TCP/IP keepalive must be enabled. On z/OS, you enable TCP/IP keepalive by issuing the Change Queue Manager command with a value of MQTCPKEEP in the TCPKeepAlive parameter; if the TCPKeepAlive queue manager parameter has a value of MQTCPKEEP_NO, the value is ignored, and the KeepAlive facility is not used. On other platforms, TCP/IP keepalive is enabled when the KEEPALIVE=YES parameter is specified in the TCP stanza in the distributed queuing configuration file, qm.ini, or through the IBM MQ Explorer. Keepalive must also be enabled within TCP/IP itself, using the TCP profile configuration data set.

    Although this parameter is available on all platforms, its setting is implemented only on z/OS. On platforms other than z/OS, we can access and modify the parameter, but it is only stored and forwarded; there is no functional implementation of the parameter. This parameter is useful in a clustered environment where a value set in a cluster-receiver channel definition on AIX, for example, flows to (and is implemented by) z/OS queue managers that are in, or join, the cluster.

    Specify either:

      integer
      The KeepAlive interval to be used, in seconds, in the range 0 - 99 999. If you specify a value of 0, the value used is that specified by the INTERVAL statement in the TCP profile configuration data set.

      MQKAI_AUTO
      The KeepAlive interval is calculated based upon the negotiated heartbeat value as follows:

      • If the negotiated HeartbeatInterval is greater than zero, KeepAlive interval is set to that value plus 60 seconds.
      • If the negotiated HeartbeatInterval is zero, the value used is that specified by the INTERVAL statement in the TCP profile configuration data set.

    On Multiplatforms, if we need the functionality provided by the KeepAliveInterval parameter, use the HeartBeatInterval parameter.

    LocalAddress (MQCFST)
    Local communications address for the channel (parameter identifier: MQCACH_LOCAL_ADDRESS).

    The maximum length of the string is MQ_LOCAL_ADDRESS_LENGTH.

    The value that you specify depends on the transport type (TransportType) to be used:

      TCP/IP
      The value is the optional IP address and optional port or port range to be used for outbound TCP/IP communications. The format for this information is as follows:
      LOCLADDR([ip-addr][(low-port[,high-port])][,[ip-addr][(low-port[,high-port])]])
      
      where ip-addr is specified in IPv4 dotted decimal, IPv6 hexadecimal notation, or alphanumeric form, and low-port and high-port are port numbers enclosed in parentheses. All are optional.

      Specify [,[ip-addr][(low-port[,high-port])]] multiple times for each additional local address. Use multiple local addresses if we want to specify a specific subset of local network adapters. We can also use [,[ip-addr][(low-port[,high-port])]] to represent a particular local network address on different servers that are part of a multi-instance queue manager configuration.

      All Others
      The value is ignored; no error is diagnosed.

    Use this parameter if we want a channel to use a particular IP address, port, or port range for outbound communications. This parameter is useful when a machine is connected to multiple networks with different IP addresses.

    Examples of use

    Value Meaning
    9.20.4.98 Channel binds to this address locally
    9.20.4.98 (1000) Channel binds to this address and port 1000 locally
    9.20.4.98 (1000,2000) Channel binds to this address and uses a port in the range 1000 - 2000 locally
    (1000) Channel binds to port 1000 locally
    (1000,2000) Channel binds to a port in the range 1000 - 2000 locally

    This parameter is valid for the following channel types:

    • MQCHT_SENDER
    • MQCHT_SERVER
    • MQCHT_REQUESTER
    • MQCHT_CLNTCONN
    • MQCHT_CLUSRCVR
    • MQCHT_CLUSSDR

    Note:

    • Do not confuse this parameter with ConnectionName. The LocalAddress parameter specifies the characteristics of the local communications; the ConnectionName parameter specifies how to reach a remote queue manager.

    LongRetryCount (MQCFIN)
    Long retry count (parameter identifier: MQIACH_LONG_RETRY).

    When a sender or server channel is attempting to connect to the remote machine, and the count specified by ShortRetryCount has been exhausted, this count specifies the maximum number of further attempts that are made to connect to the remote machine, at intervals specified by LongRetryInterval.

    If this count is also exhausted without success, an error is logged to the operator, and the channel is stopped. The channel must later be restarted with a command (it is not started automatically by the channel initiator), and it then makes only one attempt to connect, as it is assumed that the problem has now been cleared by the administrator. The retry sequence is not carried out again until after the channel has successfully connected.

    Specify a value in the range 0 - 999 999 999.

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    LongRetryInterval (MQCFIN)
    Long timer (parameter identifier: MQIACH_LONG_TIMER).

    Specifies the long retry wait interval for a sender or server channel that is started automatically by the channel initiator. It defines the interval in seconds between attempts to establish a connection to the remote machine, after the count specified by ShortRetryCount has been exhausted.

    The time is approximate; zero means that another connection attempt is made as soon as possible.

    Specify a value in the range 0 - 999 999. Values exceeding this value are treated as 999 999.

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    MaxInstances (MQCFIN)
    Maximum number of simultaneous instances of a server-connection channel or an AMQP channel (parameter identifier: MQIACH_MAX_INSTANCES).

    Specify a value in the range 0 - 999 999 999.

    The default value is 999 999 999.

    A value of zero indicates that no client connections are allowed on the channel.

    If the value is reduced below the number of instances of the server-connection channel that are currently running, the running channels are not affected. This parameter applies even if the value is zero. However, if the value is reduced below the number of instances of the server-connection channel that are currently running, then new instances cannot be started until sufficient existing instances have ceased to run.

    If an AMQP client attempts to connect to an AMQP channel, and the number of connected clients has reached MaxInstances, the channel closes the connection with a close frame. The close frame contains the following message: amqp:resource-limit-exceeded. If a client connects with an ID that is already connected (that is, it performs a client-takeover), and the client is permitted to take over the connection, the takeover will succeed regardless of whether the number of connected clients has reached MaxInstances.

    This parameter is valid only for channels with a ChannelType value of MQCHT_SVRCONN or MQCHT_AMQP.

    MaxInstancesPerClient (MQCFIN)
    Maximum number of simultaneous instances of a server-connection channel that can be started from a single client (parameter identifier: MQIACH_MAX_INSTS_PER_CLIENT). In this context, connections that originate from the same remote network address are regarded as coming from the same client.

    Specify a value in the range 0 - 999 999 999.

    The default value is 999 999 999.

    A value of zero indicates that no client connections are allowed on the channel.

    If the value is reduced below the number of instances of the server-connection channel that are currently running from individual clients, the running channels are not affected. This parameter applies even if the value is zero. However, if the value is reduced below the number of instances of the server-connection channel that are currently running from individual clients, new instances from those clients cannot start until sufficient existing instances have ceased to run.

    This parameter is valid only for channels with a ChannelType value of MQCHT_SVRCONN.

    MaxMsgLength (MQCFIN)
    Maximum message length (parameter identifier: MQIACH_MAX_MSG_LENGTH).

    Specifies the maximum message length that can be transmitted on the channel. This value is compared with the value for the remote channel and the actual maximum is the lower of the two values.

    The value zero means the maximum message length for the queue manager.

    The lower limit for this parameter is 0. The maximum message length is 100 MB (104 857 600 bytes).

    MCAName (MQCFST)
    Message channel agent name (parameter identifier: MQCACH_MCA_NAME). Note: An alternative way of providing a user ID for a channel to run under is to use channel authentication records. With channel authentication records, different connections can use the same channel while using different credentials. If both MCAUSER on the channel is set and channel authentication records are used to apply to the same channel, the channel authentication records take precedence. The MCAUSER on the channel definition is only used if the channel authentication record uses USERSRC(CHANNEL). For more details, see Channel authentication records

    This parameter is reserved, and if specified can be set only to blanks.

    The maximum length of the string is MQ_MCA_NAME_LENGTH.

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    MCAType (MQCFIN)
    Message channel agent type (parameter identifier: MQIACH_MCA_TYPE).

    Specifies the type of the message channel agent program.

    On Multiplatforms, this parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, or MQCHT_CLUSSDR.

    On z/OS, this parameter is valid only for a ChannelType value of MQCHT_CLURCVR.

    The value can be any of the following values:

      MQMCAT_PROCESS
      Process.

      MQMCAT_THREAD
      Thread.

    MCAUserIdentifier (MQCFST)
    Message channel agent user identifier (parameter identifier: MQCACH_MCA_USER_ID).

    If this parameter is nonblank, it is the user identifier which is to be used by the message channel agent for authorization to access IBM MQ resources, including (if PutAuthority is MQPA_DEFAULT) authorization to put the message to the destination queue for receiver or requester channels.

    If it is blank, the message channel agent uses its default user identifier.

    This user identifier can be overridden by one supplied by a channel security exit.

    This parameter is not valid for channels with a ChannelType of MQCHT_SDR, MQCHT_SVR, MQCHT_CLNTCONN, MQCHT_CLUSSDR.

    The maximum length of the MCA user identifier depends on the environment in which the MCA is running. MQ_MCA_USER_ID_LENGTH gives the maximum length for the environment for which your application is running. MQ_MAX_MCA_USER_ID_LENGTH gives the maximum for all supported environments.

    On Windows, we can optionally qualify a user identifier with the domain name in the following format:
    user@domain

    MessageCompression (MQCFIL)
    The list of message data compression techniques supported by the channel (parameter identifier: MQIACH_MSG_COMPRESSION). For sender, server, cluster-sender, cluster-receiver, and client-connection channels, the values specified are in order of preference with the first compression technique supported by the remote end of the channel being used.

    The mutually supported compression techniques of the channel are passed to the message exit of the sending channel where the compression technique used can be altered on a per message basis. Compression alters the data passed to send and receive exits.

    Specify one or more of:

      MQCOMPRESS_NONE
      No message data compression is performed. This value is the default value.

      MQCOMPRESS_RLE
      Message data compression is performed using run-length encoding.

      MQCOMPRESS_ZLIBFAST
      Message data compression is performed using ZLIB encoding with speed prioritized.

      MQCOMPRESS_ZLIBHIGH
      Message data compression is performed using ZLIB encoding with compression prioritized.

      MQCOMPRESS_ANY
      Any compression technique supported by the queue manager can be used. This value is only valid for receiver, requester, and server-connection channels.

    ModeName (MQCFST)
    Mode name (parameter identifier: MQCACH_MODE_NAME).

    This parameter is the LU 6.2 mode name.

    The maximum length of the string is MQ_MODE_NAME_LENGTH.

    • On IBM i, HP Integrity NonStop Server, UNIX, and Windows, this parameter can be set only to blanks. The actual name is taken instead from the CPI-C Communications Side Object or (on Windows ) from the CPI-C symbolic destination name properties.

    This parameter is valid only for channels with a TransportType of MQXPT_LU62. It is not valid for receiver or server-connection channels.

    MsgExit (MQCFSL)
    Message exit name (parameter identifier: MQCACH_MSG_EXIT_NAME).

    If a nonblank name is defined, the exit is invoked immediately after a message has been retrieved from the transmission queue. The exit is given the entire application message and message descriptor for modification.

    For channels with a channel type (ChannelType) of MQCHT_SVRCONN or MQCHT_CLNTCONN, this parameter is accepted but ignored, since message exits are not invoked for such channels.

    The format of the string is the same as for SecurityExit.

    The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which the application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.

    We can specify a list of exit names by using an MQCFSL structure instead of an MQCFST structure.

    • The exits are invoked in the order specified in the list.
    • A list with only one name is equivalent to specifying a single name in an MQCFST structure.
    • We cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
    • The total length of all the exit names in the list (excluding trailing blanks in each name) must not exceed MQ_TOTAL_EXIT_NAME_LENGTH. An individual string must not exceed MQ_EXIT_NAME_LENGTH.
    • On z/OS, we can specify the names of up to eight exit programs.

    MsgRetryCount (MQCFIN)
    Message retry count (parameter identifier: MQIACH_MR_COUNT).

    Specifies the number of times that a failing message must be retried.

    Specify a value in the range 0 - 999 999 999.

    This parameter is valid only for ChannelType values of MQCHT_RECEIVER, MQCHT_REQUESTER, or MQCHT_CLUSRCVR.

    MsgRetryExit (MQCFST)
    Message retry exit name (parameter identifier: MQCACH_MR_EXIT_NAME).

    If a nonblank name is defined, the exit is invoked before performing a wait before retrying a failing message.

    The format of the string is the same as for SecurityExit.

    The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which the application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.

    This parameter is valid only for ChannelType values of MQCHT_RECEIVER, MQCHT_REQUESTER, or MQCHT_CLUSRCVR.

    MsgRetryInterval (MQCFIN)
    Message retry interval (parameter identifier: MQIACH_MR_INTERVAL).

    Specifies the minimum time interval in milliseconds between retries of failing messages.

    Specify a value in the range 0 - 999 999 999.

    This parameter is valid only for ChannelType values of MQCHT_RECEIVER, MQCHT_REQUESTER, or MQCHT_CLUSRCVR.

    MsgRetryUserData (MQCFST)
    Message retry exit user data (parameter identifier: MQCACH_MR_EXIT_USER_DATA).

    Specifies user data that is passed to the message retry exit.

    The maximum length of the string is MQ_EXIT_DATA_LENGTH.

    This parameter is valid only for ChannelType values of MQCHT_RECEIVER, MQCHT_REQUESTER, or MQCHT_CLUSRCVR.

    MsgUserData (MQCFSL)
    Message exit user data (parameter identifier: MQCACH_MSG_EXIT_USER_DATA).

    Specifies user data that is passed to the message exit.

    The maximum length of the string is MQ_EXIT_DATA_LENGTH.

    For channels with a channel type (ChannelType) of MQCHT_SVRCONN or MQCHT_CLNTCONN, this parameter is accepted but ignored, since message exits are not invoked for such channels.

    We can specify a list of exit user data strings by using an MQCFSL structure instead of an MQCFST structure.

    • Each exit user data string is passed to the exit at the same ordinal position in the MsgExit list.
    • A list with only one name is equivalent to specifying a single name in an MQCFST structure.
    • We cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
    • The total length of all the exit user data in the list (excluding trailing blanks in each string) must not exceed MQ_TOTAL_EXIT_DATA_LENGTH. An individual string must not exceed MQ_EXIT_DATA_LENGTH.
    • On z/OS, we can specify up to eight strings.

    NetworkPriority (MQCFIN)
    Network priority (parameter identifier: MQIACH_NETWORK_PRIORITY).

    The priority for the network connection. If there are multiple paths available, distributed queuing selects the path with the highest priority.

    The value must be in the range 0 (lowest) - 9 (highest).

    This parameter applies only to channels with a ChannelType of MQCHT_CLUSRCVR

    NonPersistentMsgSpeed (MQCFIN)
    Speed at which nonpersistent messages are to be sent (parameter identifier: MQIACH_NPM_SPEED).

    This parameter is supported in the following environments: IBM i, UNIX, Linux, and Windows.

    Specify MQNPMS_FAST means that nonpersistent messages on a channel need not wait for a syncpoint before being made available for retrieval. The advantage of this is that nonpersistent messages become available for retrieval far more quickly. The disadvantage is that because they do not wait for a syncpoint, they might be lost if there is a transmission failure.

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_RECEIVER, MQCHT_REQUESTER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR. The value can be any of the following values:

      MQNPMS_NORMAL
      Normal speed.

      MQNPMS_FAST
      Fast speed.

    Password (MQCFST)
    Password (parameter identifier: MQCACH_PASSWORD).

    This parameter is used by the message channel agent when attempting to initiate a secure SNA session with a remote message channel agent. On IBM i, HP Integrity NonStop Server, and UNIX, it is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, MQCHT_CLNTCONN, or MQCHT_CLUSSDR. On z/OS, it is valid only for a ChannelType value of MQCHT_CLNTCONN.

    The maximum length of the string is MQ_PASSWORD_LENGTH. However, only the first 10 characters are used.

    Port (MQCFIN)
    Port number (parameter identifier MQIACH_PORT).

    The port number used to connect an AMQP channel. The default port for AMQP 1.0 connections is 5672. If we are already using port 5672, we can specify a different port.

    This attribute is applicable to AMQP channels.

    PropertyControl (MQCFIN)
    Property control attribute (parameter identifier MQIA_PROPERTY_CONTROL).

    Specifies what happens to properties of messages when the message is about to be sent to a V6 or prior queue manager (a queue manager that does not understand the concept of a property descriptor). The value can be any of the following values:

      MQPROP_COMPATIBILITY
      If the message contains a property with a prefix of mcd., jms., usr. or mqext., all message properties are delivered to the application in an MQRFH2 header. Otherwise all properties of the message, except those properties contained in the message descriptor (or extension), are discarded and are no longer accessible to the application.
      This value is the default value; it allows applications which expect JMS-related properties to be in an MQRFH2 header in the message data to continue to work unmodified.

      MQPROP_NONE
      All properties of the message, except those properties in the message descriptor (or extension), are removed from the message before the message is sent to the remote queue manager.

      MQPROP_ALL
      All properties of the message are included with the message when it is sent to the remote queue manager. The properties, except those properties in the message descriptor (or extension), are placed in one or more MQRFH2 headers in the message data.

    This attribute is applicable to Sender, Server, Cluster Sender, and Cluster Receiver channels.

    PutAuthority (MQCFIN)
    Put authority (parameter identifier: MQIACH_PUT_AUTHORITY).

    Specifies which user identifiers are used to establish authority to put messages to the destination queue (for message channels) or to execute an MQI call (for MQI channels).

    This parameter is valid only for channels with a ChannelType value of MQCHT_RECEIVER, MQCHT_REQUESTER, MQCHT_CLUSRCVR, or MQCHT_SVRCONN.

    The value can be any of the following values:

      MQPA_DEFAULT
      Default user identifier is used.

      On z/OS, MQPA_DEFAULT might involve using both the user ID received from the network and that derived from MCAUSER.

      MQPA_CONTEXT
      The user ID from the UserIdentifier field of the message descriptor is used.

      On z/OS, MQPA_CONTEXT might involve also using the user ID received from the network or that derived from MCAUSER, or both.

      MQPA_ALTERNATE_OR_MCA
      The user ID from the UserIdentifier field of the message descriptor is used. Any user ID received from the network is not used. This value is supported only on z/OS.

      MQPA_ONLY_MCA
      The user ID derived from MCAUSER is used. Any user ID received from the network is not used. This value is supported only on z/OS.

    QMgrName (MQCFST)
    Queue manager name (parameter identifier: MQCA_Q_MGR_NAME).

    For channels with a ChannelType of MQCHT_CLNTCONN, this name is the name of a queue manager to which a client application can request connection.

    For channels of other types, this parameter is not valid. The maximum length of the string is MQ_Q_MGR_NAME_LENGTH.

    QSGDisposition (MQCFIN)
    Disposition of the object within the group (parameter identifier: MQIA_QSG_DISP). This parameter applies to z/OS only. Specifies the disposition of the object to which we are applying the command (that is, where it is defined and how it behaves). The value can be any of the following values:

    QSGDisposition Change Copy, Create
    MQQSGD_COPY The object definition resides on the page set of the queue manager that executes the command. The object was defined using a command that had the parameter MQQSGD_COPY. Any object residing in the shared repository, or any object defined using a command that had the parameters MQQSGD_Q_MGR, is not affected by this command. The object is defined on the page set of the queue manager that executes the command using the MQQSGD_GROUP object of the same name as the ToChannelName object (for Copy) or ChannelName object (for Create).
    MQQSGD_GROUP The object definition resides in the shared repository. The object was defined using a command that had the parameter MQQSGD_GROUP. Any object residing on the page set of the queue manager that executes the command (except a local copy of the object) is not affected by this command. If the command is successful, the following MQSC command is generated and sent to all active queue managers in the queue sharing group to attempt to refresh local copies on page set zero:
    DEFINE CHANNEL(channel-name) CHLTYPE(type)
    REPLACE QSGDISP(COPY)
    The Change for the group object takes effect regardless of whether the generated command with QSGDISP(COPY) fails.
    The object definition resides in the shared repository. This definition is allowed only if the queue manager is in a queue sharing group. If the definition is successful, the following MQSC command is generated and sent to all active queue managers in the queue sharing group to attempt to make or refresh local copies on page set zero:
    DEFINE CHANNEL(channe-name) CHLTYPE(type)
    REPLACE QSGDISP(COPY)
    The Copy or Create for the group object takes effect regardless of whether the generated command with QSGDISP(COPY) fails.
    MQQSGD_PRIVATE The object resides on the page set of the queue manager that executes the command, and was defined with MQQSGD_Q_MGR or MQQSGD_COPY. Any object residing in the shared repository is unaffected. Not permitted.
    MQQSGD_Q_MGR The object definition resides on the page set of the queue manager that executes the command. The object was defined using a command that had the parameter MQQSGD_Q_MGR. Any object residing in the shared repository, or any local copy of such an object, is not affected by this command. This value is the default value. The object is defined on the page set of the queue manager that executes the command. This value is the default value.

    ReceiveExit (MQCFSL)
    Receive exit name (parameter identifier: MQCACH_RCV_EXIT_NAME).

    If a nonblank name is defined, the exit is invoked before data received from the network is processed. The complete transmission buffer is passed to the exit and the contents of the buffer can be modified as required.

    The format of the string is the same as for SecurityExit.

    The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which the application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.

    We can specify a list of exit names by using an MQCFSL structure instead of an MQCFST structure.

    • The exits are invoked in the order specified in the list.
    • A list with only one name is equivalent to specifying a single name in an MQCFST structure.
    • We cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
    • The total length of all the exit names in the list (excluding trailing blanks in each name) must not exceed MQ_TOTAL_EXIT_NAME_LENGTH. An individual string must not exceed MQ_EXIT_NAME_LENGTH.
    • On z/OS, we can specify the names of up to eight exit programs.

    ReceiveUserData (MQCFSL)
    Receive exit user data (parameter identifier: MQCACH_RCV_EXIT_USER_DATA).

    Specifies user data that is passed to the receive exit.

    The maximum length of the string is MQ_EXIT_DATA_LENGTH.

    We can specify a list of exit user data strings by using an MQCFSL structure instead of an MQCFST structure.

    • Each exit user data string is passed to the exit at the same ordinal position in the ReceiveExit list.
    • A list with only one name is equivalent to specifying a single name in an MQCFST structure.
    • We cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
    • The total length of all the exit user data in the list (excluding trailing blanks in each string) must not exceed MQ_TOTAL_EXIT_DATA_LENGTH. An individual string must not exceed MQ_EXIT_DATA_LENGTH.
    • On z/OS, we can specify up to eight strings.

    Replace (MQCFIN)
    Replace channel definition (parameter identifier: MQIACF_REPLACE). The value can be any of the following values:

      MQRP_YES
      Replace existing definition.

      If ChannelType is MQCHT_CLUSSDR, MQRP_YES can be specified only if the channel was created manually.

      MQRP_NO
      Do not replace existing definition.

    SecurityExit (MQCFST)
    Security exit name (parameter identifier: MQCACH_SEC_EXIT_NAME). If a nonblank name is defined, the security exit is invoked at the following times:

    • Immediately after establishing a channel.

      Before any messages are transferred, the exit is enabled to instigate security flows to validate connection authorization.

    • Upon receipt of a response to a security message flow.

      Any security message flows received from the remote processor on the remote machine are passed to the exit.

    The exit is given the entire application message and message descriptor for modification.

    The format of the string depends on the platform, as follows:

    • On IBM i and UNIX, it is of the form
      libraryname(functionname)
      Note: On IBM i systems, the following form is also supported for compatibility with older releases:
      progname libname
      where progname occupies the first 10 characters, and libname the second 10 characters (both blank-padded to the right if necessary).
    • On Windows, it is of the form
      dllname(functionname)
      where dllname is specified without the suffix .DLL.
    • On z/OS, it is a load module name, maximum length 8 characters (128 characters are allowed for exit names for client-connection channels, subject to a maximum total length of 999).

    The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which the application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.

    SecurityUserData (MQCFST)
    Security exit user data (parameter identifier: MQCACH_SEC_EXIT_USER_DATA).

    Specifies user data that is passed to the security exit.

    The maximum length of the string is MQ_EXIT_DATA_LENGTH.

    SendExit (MQCFSL)
    Send exit name (parameter identifier: MQCACH_SEND_EXIT_NAME).

    If a nonblank name is defined, the exit is invoked immediately before data is sent out on the network. The exit is given the complete transmission buffer before it is transmitted; the contents of the buffer can be modified as required.

    The format of the string is the same as for SecurityExit.

    The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which the application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.

    We can specify a list of exit names by using an MQCFSL structure instead of an MQCFST structure.

    • The exits are invoked in the order specified in the list.
    • A list with only one name is equivalent to specifying a single name in an MQCFST structure.
    • We cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
    • The total length of all the exit names in the list (excluding trailing blanks in each name) must not exceed MQ_TOTAL_EXIT_NAME_LENGTH. An individual string must not exceed MQ_EXIT_NAME_LENGTH.
    • On z/OS, we can specify the names of up to eight exit programs.

    SendUserData (MQCFSL)
    Send exit user data (parameter identifier: MQCACH_SEND_EXIT_USER_DATA).

    Specifies user data that is passed to the send exit.

    The maximum length of the string is MQ_EXIT_DATA_LENGTH.

    We can specify a list of exit user data strings by using an MQCFSL structure instead of an MQCFST structure.

    • Each exit user data string is passed to the exit at the same ordinal position in the SendExit list.
    • A list with only one name is equivalent to specifying a single name in an MQCFST structure.
    • We cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
    • The total length of all the exit user data in the list (excluding trailing blanks in each string) must not exceed MQ_TOTAL_EXIT_DATA_LENGTH. An individual string must not exceed MQ_EXIT_DATA_LENGTH.
    • On z/OS, we can specify up to eight strings.

    SeqNumberWrap (MQCFIN)
    Sequence wrap number (parameter identifier: MQIACH_SEQUENCE_NUMBER_WRAP).

    Specifies the maximum message sequence number. When the maximum is reached, sequence numbers wrap to start again at 1.

    The maximum message sequence number is not negotiable; the local and remote channels must wrap at the same number.

    Specify a value in the range 100 - 999 999 999.

    This parameter is not valid for channels with a ChannelType of MQCHT_SVRCONN or MQCHT_CLNTCONN.

    SharingConversations (MQCFIN)
    Maximum number of sharing conversations (parameter identifier: MQIACH_SHARING_CONVERSATIONS).

    Specifies the maximum number of conversations that can share a particular TCP/IP MQI channel instance (socket).

    Specify a value in the range 0 - 999 999 999. The default value is 10 and the migrated value is 10.

    This parameter is valid only for channels with a ChannelType of MQCHT_CLNTCONN or MQCHT_SVRCONN. It is ignored for channels with a TransportType other than MQXPT_TCP.

    The number of shared conversations does not contribute to the MaxInstances or MaxInstancesPerClient totals.

    A value of:

      1
      Means that there is no sharing of conversations over a TCP/IP channel instance, but client heartbeating is available whether in an MQGET call or not, read ahead and client asynchronous consumption are available, and channel quiescing is more controllable.

      0
      Specifies no sharing of conversations over a TCP/IP channel instance. The channel instance runs in a mode before that of IBM WebSphere MQ Version 7.0, regarding:

      • Administrator stop-quiesce
      • Heartbeating
      • Read ahead
      • Client asynchronous consumption

    ShortRetryCount (MQCFIN)
    Short retry count (parameter identifier: MQIACH_SHORT_RETRY).

    The maximum number of attempts that are made by a sender or server channel to establish a connection to the remote machine, at intervals specified by ShortRetryInterval before the (normally longer) LongRetryCount and LongRetryInterval are used.

    Retry attempts are made if the channel fails to connect initially (whether it is started automatically by the channel initiator or by an explicit command), and also if the connection fails after the channel has successfully connected. However, if the cause of the failure is such that retry is unlikely to be successful, retries are not attempted.

    Specify a value in the range 0 - 999 999 999.

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    ShortRetryInterval (MQCFIN)
    Short timer (parameter identifier: MQIACH_SHORT_TIMER).

    Specifies the short retry wait interval for a sender or server channel that is started automatically by the channel initiator. It defines the interval in seconds between attempts to establish a connection to the remote machine.

    The time is approximate. From IBM MQ Version 8.0, zero means that another connection attempt is made as soon as possible.

    Specify a value in the range 0 - 999 999. Values exceeding this value are treated as 999 999.

    This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.

    SPLProtection (MQCFIN)
    SPLProtection (parameter identifier: MQIACH_SPL_PROTECTION). This parameter applies to z/OS only, from IBM MQ Version 9.1.3 onwards.

    Security policy protection parameter. Specifies what happens to messages across the channel when Advanced Message Security is active and an applicable policy exists.

    This parameter is valid for channel types MQCHT_SENDER, MQCHT_SERVER, MQCHT_RECEIVER, and MQCHT_REQUESTER only.

    Possible values are:

      MQSPL_PASSTHRU
      Pass through, unchanged, any messages sent or received by the message channel agent for this channel.
      This value is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_RECEIVER, or MQCHT_REQUESTER, and is the default value.

      MQSPL_REMOVE
      Remove any AMS protection from messages retrieved from the transmission queue by the message channel agent, and send the messages to the partner.
      When the MCA gets a message from the transmission queue, if an AMS policy is defined for the transmission queue, it is applied to remove any AMS protection from the message prior to sending the message across the channel. If an AMS policy is not defined for the transmission queue, the message is sent as is.
      This value is valid only for ChannelType values of MQCHT_SENDER or MQCHT_SERVER.

      MQSPL_AS_POLICY
      Based on the policy defined for the target queue, apply AMS protection to inbound messages prior to putting them on to the target queue.
      When the message channel agent receives an inbound message, if an AMS policy is defined for the target queue, AMS protection is applied to the message prior to the message being put to the target queue. If an AMS policy is not defined for the target queue, the message is put to the target queue as is.
      This value is valid only for ChannelType values of MQCHT_RECEIVER or MQCHT_REQUESTER.

    SSLCipherSpec (MQCFST)
    CipherSpec (parameter identifier: MQCACH_SSL_CIPHER_SPEC). Specifies the CipherSpec that is used on the channel. The length of the string is MQ_SSL_CIPHER_SPEC_LENGTH. Attention: On IBM MQ for z/OS, we can also specify the four digit hexadecimal code of a CipherSpec, whether or not it appears in the following table. On IBM i, we can also specify the two digit hexadecimal code of a CipherSpec, whether or not it appears in the following table. Also, on IBM i, installation of AC3 is a prerequisite for the use of TLS. We should not specify hexadecimal cipher values in SSLCIPH, because it is unclear from the value which cipher will be used, and the choice of which protocol to be used is indeterminate. Using hexadecimal cipher values can lead to CipherSpec mismatch errors.
    The SSLCipherSpec values must specify the same CipherSpec on both ends of the channel.
    This parameter is valid on all channel types that use transport type TRPTYPE(TCP). If the parameter is blank, no attempt is made to use TLS on the channel. If the TRPTYPE is not TCP, the data is ignored and no error message is issued.
    The value for this parameter is also used to set the value of SecurityProtocol, which is an output field on the Inquire Channel Status (Response) command.
    Note: When SSLCipherSpec is used with a telemetry channel, it means TLS Cipher Suite.

    From IBM MQ Version 9.1.1, we can specify a value of ANY_TLS12, which represents a subset of acceptable CipherSpecs that use the TLS 1.2 protocol; these CipherSpecs are listed in the following table. See Migrating existing security configurations to use the ANY_TLS12 CipherSpec for information on changing your existing security configurations to use the ANY_TLS12 value.

    From Version 9.1.4, on AIX, Linux, and Windows, IBM MQ provides an expanded set of alias CipherSpecs that includes ANY_TLS12_OR_HIGHER, and ANY_TLS13_OR_HIGHER. These alias CipherSpecs are listed in the following table.Attention: If your enterprise needs to guarantee that a certain CipherSpec is negotiated and used, we must not use an alias CipherSpec value such as ANY_TLS12.

    For information on changing your existing security configurations to use the ANY_TLS12_OR_HIGHER CipherSpec, see Migrating existing security configurations to use the ANY_TLS12_OR_HIGHER CipherSpec.

    Platform support 1 CipherSpec name Protocol used Data integrity Encryption algorithm Encryption bits FIPS 2 Suite B
    Alias CipherSpecs

    All

    ANY_TLS13_OR_HIGHER 3 4 5 Negotiated Negotiated Negotiated Negotiated Negotiated Negotiated

    All

    ANY_TLS13 4 5 6 TLS 1.3 Negotiated Negotiated Negotiated Negotiated Negotiated

    All

    ANY_TLS12_OR_HIGHER 4 5 7 Negotiated Negotiated Negotiated Negotiated Negotiated Negotiated

    All

    ANY_TLS12 8 TLS 1.2 Negotiated Negotiated Negotiated Negotiated Negotiated

    All

    ANY 9 Negotiated Negotiated Negotiated Negotiated Negotiated Negotiated
    CipherSpecs for TLS 1.3

    All

    TLS_AES_128_GCM_SHA2564 5 TLS 1.3 GCM AES-128 with GCM 128 No No

    All

    TLS_AES_256_GCM_SHA3844 5 TLS 1.3 GCM AES-256 with GCM 256 No No

    All

    TLS_CHACHA20_POLY1305_SHA2564 5 TLS 1.3 POLY1305 CHACHA20 256 No No

    TLS_AES_128_CCM_SHA256 TLS 1.3 CBC-MAC AES-128 with CTR 128 No No

    TLS_AES_128_CCM_8_SHA256 11 TLS 1.3 CBC-MAC AES-128 with CTR 128 No No
    CipherSpecs for TLS 1.2
    All TLS_RSA_WITH_AES_128_CBC_SHA25610 TLS 1.2 SHA-256 AES 128 Yes No
    All TLS_RSA_WITH_AES_256_CBC_SHA256 10 12 TLS 1.2 SHA-256 AES 256 Yes No
    All TLS_RSA_WITH_AES_128_GCM_SHA256 10 13 TLS 1.2 SHA-256 and AEAD GCM AES 128 Yes No
    All TLS_RSA_WITH_AES_256_GCM_SHA38410 12 13 TLS 1.2 SHA-384 and AEAD GCM AES 256 Yes No
    All ECDHE_ECDSA_AES_128_CBC_SHA256 10 TLS 1.2 SHA-256 AES 128 Yes No
    All ECDHE_ECDSA_AES_256_CBC_SHA384 10 12 TLS 1.2 SHA-384 AES 256 Yes No
    All ECDHE_RSA_AES_128_CBC_SHA256 10 TLS 1.2 SHA-256 AES 128 Yes No
    All ECDHE_RSA_AES_256_CBC_SHA384 10 12 TLS 1.2 SHA-384 AES 256 Yes No

    ECDHE_ECDSA_AES_128_GCM_SHA256 12 13 TLS 1.2 SHA-256 and AEAD GCM AES SHA384 Yes 128 bit

    ECDHE_ECDSA_AES_256_GCM_SHA384 12 13 TLS 1.2 SHA-384 and AEAD GCM AES SHA384 Yes 192 bit
    All ECDHE_RSA_AES_128_GCM_SHA256 13 TLS 1.2 SHA-256 and AEAD GCM AES 128 Yes No
    All ECDHE_RSA_AES_256_GCM_SHA384 12 13 TLS 1.2 AEAD AES-128 GCM AES SHA384 Yes No
    Notes:
    1. For a list of platforms covered by each platform icon, see Release and platform icons in the product documentation.
    2. Specifies whether the CipherSpec is FIPS-certified on a FIPS-certified platform. See Federal Information Processing Standards (FIPS) for an explanation of FIPS.
    3. The ANY_TLS13_OR_HIGHER alias CipherSpec negotiates the highest level of security that the remote end will allow but will only connect using a TLS 1.3 or higher protocol.
    4. To use TLS 1.3, or the ANY CipherSpec, on IBM MQ for z/OS, the operating system must be z/OS Version 2.4 or later.
    5. To use TLS 1.3, or the ANY CipherSpec, on IBM i the underlying operating system version must support TLS 1.3. See System TLS support for TLSv1.3 for more information.
    6. The ANY_TLS13 alias CipherSpec represents a subset of acceptable CipherSpecs that use the TLS 1.3 protocol, as listed in this table for each platform.
    7. The ANY_TLS12_OR_HIGHER alias CipherSpec negotiates the highest level of security that the remote end will allow but will only connect using a TLS 1.2 or higher protocol.
    8. The ANY_TLS12 CipherSpec represents a subset of acceptable CipherSpecs that use the TLS 1.2 protocol, as listed in this table for each platform.
    9. The ANY alias CipherSpec negotiates the highest level of security that the remote end will allow.
    10. These CipherSpecs are not enabled on IBM i 7.4 systems that have System Value QSSLCSLCTL set to *OPSSYS.
    11. These CipherSpecs use an 8-octet Integrity Check Value (ICV) instead of a 16-octet ICV.
    12. This CipherSpec cannot be used to secure a connection from the IBM MQ Explorer to a queue manager unless the appropriate unrestricted policy files are applied to the JRE used by the Explorer.
    13. Following a recommendation by GSKit, TLS 1.2 GCM CipherSpecs have a restriction which means that after 2ˆ24.5 TLS records are sent, using the same session key, the connection is terminated with message AMQ9288.

      To prevent this error from happening: avoid using TLS 1.2 GCM Ciphers, enable secret key reset, or start the IBM MQ queue manager or client with the environment variable GSK_ENFORCE_GCM_RESTRICTION=GSK_FALSE set.

      This restriction does not apply to IBM MQ for z/OS.Important: The GCM restriction is active, regardless of the FIPS mode being used.

    For more information about CipherSpecs, see Enable CipherSpecs.

    When you request a personal certificate, you specify a key size for the public and private key pair. The key size that is used during the SSL handshake can depend on the size stored in the certificate and on the CipherSpec:

    • On z/OS, UNIX, Linux, and Windows, when a CipherSpec name includes _EXPORT, the maximum handshake key size is 512 bits. If either of the certificates exchanged during the SSL handshake has a key size greater than 512 bits, a temporary 512-bit key is generated for use during the handshake.
    • For z/OS, System SSL state that if a TLS V1.3 connection is being negotiated:

      • The minimum key size for an RSA peer certificate is the larger of the following two values: 2048, or the value specified in the GSK_PEER_RSA_MIN_KEY_SIZE attribute.
      • The minimum key size for an ECC peer certificate is the larger of the following two values: 256, or the value specified in the GSK_PEER_ECC_MIN_KEY_SIZE attribute.

    • On UNIX, Linux, and Windows, when a CipherSpec name includes _EXPORT1024, the handshake key size is 1024 bits.
    • Otherwise the handshake key size is the size stored in the certificate.

    SSLClientAuth (MQCFIN)
    Client authentication (parameter identifier: MQIACH_SSL_CLIENT_AUTH). The value can be any of the following values:

      MQSCA_REQUIRED
      Client authentication required.

      MQSCA_OPTIONAL
      Client authentication optional.

    Defines whether IBM MQ requires a certificate from the TLS client.

    The TLS client is the end of the message channel that initiates the connection. The TLS Server is the end of the message channel that receives the initiation flow.

    The parameter is used only for channels with SSLCIPH specified. If SSLCIPH is blank, the data is ignored and no error message is issued.

    SSLPeerName (MQCFST)
    Peer name (parameter identifier: MQCACH_SSL_PEER_NAME). Note: An alternative way of restricting connections into channels by matching against the TLS Subject Distinguished Name, is to use channel authentication records. With channel authentication records, different TLS Subject Distinguished Name patterns can be applied to the same channel. If both SSLPEER on the channel and a channel authentication record are used to apply to the same channel, the inbound certificate must match both patterns in order to connect. For more information, see Channel authentication records.

    On Multiplatforms, the length of the string is MQ_SSL_PEER_NAME_LENGTH.

    On z/OS, the length of the string is MQ_SSL_SHORT_PEER_NAME_LENGTH.

    Specifies the filter to use to compare with the Distinguished Name of the certificate from the peer queue manager or client at the other end of the channel. (A Distinguished Name is the identifier of the TLS certificate.) If the Distinguished Name in the certificate received from the peer does not match the SSLPEER filter, the channel does not start.

    This parameter is optional; if it is not specified, the Distinguished Name of the peer is not checked when the channel is started. (The Distinguished Name from the certificate is still written into the SSLPEER definition held in memory, and passed to the security exit). If SSLCIPH is blank, the data is ignored and no error message is issued.

    This parameter is valid for all channel types.

    The SSLPEER value is specified in the standard form used to specify a Distinguished Name. For example: SSLPEER('SERIALNUMBER=4C:D0:49:D5:02:5F:38,CN="H1_C_FR1",O=IBM,C=GB')

    We can use a semi-colon as a separator instead of a comma.

    The possible attribute types supported are as follows:

    Attribute Description
    SERIALNUMBER Certificate serial number
    MAIL Email address
    E Email address (Deprecated in preference to MAIL)
    UID or USERID User identifier
    CN Common Name
    T Title
    OU Organizational Unit name
    DC Domain component
    O Organization name
    STREET Street / First line of address
    L Locality name
    ST (or SP or S) State or Province name
    PC Postal code / zip code
    C Country
    UNSTRUCTUREDNAME Host name
    UNSTRUCTUREDADDRESS IP address
    DNQ Distinguished name qualifier
    IBM MQ only accepts uppercase letters for the attribute types.

    If any of the unsupported attribute types are specified in the SSLPEER string, an error is output either when the attribute is defined or at run time (depending on which platform we are running on), and the string is deemed not to have matched the Distinguished Name of the flowed certificate.

    If the Distinguished Name of the flowed certificate contains multiple OU (organizational unit) attributes, and SSLPEER specifies these attributes to be compared, they must be defined in descending hierarchical order. For example, if the Distinguished Name of the flowed certificate contains the OUs OU=Large Unit,OU=Medium Unit,OU=Small Unit, specifying the following SSLPEER values work:
    ('OU=Large Unit,OU=Medium Unit') ('OU=*,OU=Medium Unit,OU=Small Unit') ('OU=*,OU=Medium Unit')
    but specifying the following SSLPEER values fail:
    ('OU=Medium Unit,OU=Small Unit') ('OU=Large Unit,OU=Small Unit') ('OU=Medium Unit')

    Any or all the attribute values can be generic, either an asterisk (*) on its own, or a stem with initiating or trailing asterisks. This value allows the SSLPEER to match any Distinguished Name value, or any value starting with the stem for that attribute.

    If an asterisk is specified at the beginning or end of any attribute value in the Distinguished Name on the certificate, we can specify \* to check for an exact match in SSLPEER. For example, if you have an attribute of CN=Test* in the Distinguished Name of the certificate, we can use the following command:

    SSLPEER('CN=Test\*')

    TpName (MQCFST)
    Transaction program name (parameter identifier: MQCACH_TP_NAME).

    This name is the LU 6.2 transaction program name.

    The maximum length of the string is MQ_TP_NAME_LENGTH.

    • On IBM i, HP Integrity NonStop Server, UNIX, and Windows platforms, this parameter can be set only to blanks. The actual name is taken instead from the CPI-C Communications Side Object or (on Windows ) from the CPI-C symbolic destination name properties.

    This parameter is valid only for channels with a TransportType of MQXPT_LU62. It is not valid for receiver channels.

    TPRoot (MQCFST)
    Topic root for an AMQP channel. (parameter identifier: MQCACH_TOPIC_ROOT).

    The default value for TPRoot is SYSTEM.BASE.TOPIC. With this value, the topic string an AMQP client uses to publish or subscribe has no prefix, and the client can exchange messages with other MQ pub/sub applications. To have AMQP clients publish and subscribe under a topic prefix, first create an MQ topic object with a topic string set to the prefix we want, then set TPRoot to the name of the MQ topic object you created.

    This parameter is valid only for AMQP channels.

    TransportType (MQCFIN)
    Transmission protocol type (parameter identifier: MQIACH_XMIT_PROTOCOL_TYPE). No check is made that the correct transport type has been specified if the channel is initiated from the other end. The value can be any of the following values:

      MQXPT_LU62
      LU 6.2.

      MQXPT_TCP
      TCP.

      MQXPT_NETBIOS
      NetBIOS.

      This value is supported in Windows. It also applies to z/OS for defining client-connection channels that connect to servers on the platforms supporting NetBIOS.

      MQXPT_SPX
      SPX.

      This value is supported in Windows. It also applies to z/OS for defining client-connection channels that connect to servers on the platforms supporting SPX.

    UseCltId (MQCFIN)
    Determines how authorization checks are done for AMQP channels. (parameter identifier: MQIACH_USE_CLIENT_ID). The value can be any of the following values:

      MQUCI_NO
      The MCA user ID should be used for authorization checks.

      MQUCI_YES
      The client ID should be used for authorization checks.

    This parameter is valid only for AMQP channels.

    UseDLQ (MQCFIN)
    Determines whether the dead-letter queue is used when messages cannot be delivered by channels. (parameter identifier: MQIA_USE_DEAD_LETTER_Q). The value can be any of the following values:

      MQUSEDLQ_NO
      Messages that cannot be delivered by a channel are treated as a failure. The channel either discards the message, or the channel ends, in accordance with the NonPersistentMsgSpeed setting.

      MQUSEDLQ_YES
      When the DEADQ queue manager attribute provides the name of a dead-letter queue, then it is used, else the behavior is as for MQUSEDLQ_NO.

    UserIdentifier (MQCFST)
    Task user identifier (parameter identifier: MQCACH_USER_ID).

    This parameter is used by the message channel agent when attempting to initiate a secure SNA session with a remote message channel agent. On IBM i and UNIX, it is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, MQCHT_CLNTCONN, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR. On z/OS, it is valid only for a ChannelType value of MQCHT_CLNTCONN.

    The maximum length of the string is MQ_USER_ID_LENGTH. However, only the first 10 characters are used.

    XmitQName (MQCFST)
    Transmission queue name (parameter identifier: MQCACH_XMIT_Q_NAME).

    The maximum length of the string is MQ_Q_NAME_LENGTH.

    A transmission queue name is required (either previously defined or specified here) if ChannelType is MQCHT_SENDER or MQCHT_SERVER. It is not valid for other channel types.


Error codes (Change, Copy, and Create Channel)

This command might return the following error codes in the response format header, in addition to those codes listed in Error codes applicable to all commands.

    Reason (MQLONG)
    The value can be any of the following values:

      MQRCCF_BATCH_INT_ERROR
      Batch interval not valid.

      MQRCCF_BATCH_INT_WRONG_TYPE
      Batch interval parameter not allowed for this channel type.

      MQRCCF_BATCH_SIZE_ERROR
      Batch size not valid.

      MQRCCF_CHANNEL_NAME_ERROR
      Channel name error.

      MQRCCF_CHANNEL_NOT_FOUND
      Channel not found.

      MQRCCF_CHANNEL_TYPE_ERROR
      Channel type not valid.

      MQRCCF_CLUSTER_NAME_CONFLICT
      Cluster name conflict.

      MQRCCF_DISC_INT_ERROR
      Disconnection interval not valid.

      MQRCCF_DISC_INT_WRONG_TYPE
      Disconnection interval not allowed for this channel type.

      MQRCCF_HB_INTERVAL_ERROR
      Heartbeat interval not valid.

      MQRCCF_HB_INTERVAL_WRONG_TYPE
      Heartbeat interval parameter not allowed for this channel type.

      MQRCCF_KWD_VALUE_WRONG_TYPE
      An attribute keyword and value combination are not valid for this channel type.

      MQRCCF_LONG_RETRY_ERROR
      Long retry count not valid.

      MQRCCF_LONG_RETRY_WRONG_TYPE
      Long retry parameter not allowed for this channel type.

      MQRCCF_LONG_TIMER_ERROR
      Long timer not valid.

      MQRCCF_LONG_TIMER_WRONG_TYPE
      Long timer parameter not allowed for this channel type.

      MQRCCF_MAX_INSTANCES_ERROR
      Maximum instances value not valid.

      MQRCCF_MAX_INSTS_PER_CLNT_ERR
      Maximum instances per client value not valid.

      MQRCCF_MAX_MSG_LENGTH_ERROR
      Maximum message length not valid.

      MQRCCF_MCA_NAME_ERROR
      Message channel agent name error.

      MQRCCF_MCA_NAME_WRONG_TYPE
      Message channel agent name not allowed for this channel type.

      MQRCCF_MCA_TYPE_ERROR
      Message channel agent type not valid.

      MQRCCF_MISSING_CONN_NAME
      Connection name parameter required but missing.

      MQRCCF_MR_COUNT_ERROR
      Message retry count not valid.

      MQRCCF_MR_COUNT_WRONG_TYPE
      Message-retry count parameter not allowed for this channel type.

      MQRCCF_MR_EXIT_NAME_ERROR
      Channel message-retry exit name error.

      MQRCCF_MR_EXIT_NAME_WRONG_TYPE
      Message-retry exit parameter not allowed for this channel type.

      MQRCCF_MR_INTERVAL_ERROR
      Message retry interval not valid.

      MQRCCF_MR_INTERVAL_WRONG_TYPE
      Message-retry interval parameter not allowed for this channel type.

      MQRCCF_MSG_EXIT_NAME_ERROR
      Channel message exit name error.

      MQRCCF_NET_PRIORITY_ERROR
      Network priority value error.

      MQRCCF_NET_PRIORITY_WRONG_TYPE
      Network priority attribute not allowed for this channel type.

      MQRCCF_NPM_SPEED_ERROR
      Nonpersistent message speed not valid.

      MQRCCF_NPM_SPEED_WRONG_TYPE
      Nonpersistent message speed parameter not allowed for this channel type.

      MQRCCF_PARM_SEQUENCE_ERROR
      Parameter sequence not valid.

      MQRCCF_PUT_AUTH_ERROR
      Put authority value not valid.

      MQRCCF_PUT_AUTH_WRONG_TYPE
      Put authority parameter not allowed for this channel type.

      MQRCCF_RCV_EXIT_NAME_ERROR
      Channel receive exit name error.

      MQRCCF_SEC_EXIT_NAME_ERROR
      Channel security exit name error.

      MQRCCF_SEND_EXIT_NAME_ERROR
      Channel send exit name error.

      MQRCCF_SEQ_NUMBER_WRAP_ERROR
      Sequence wrap number not valid.

      MQRCCF_SHARING_CONVS_ERROR
      Value given for Sharing Conversations not valid.

      MQRCCF_SHARING_CONVS_TYPE
      Sharing Conversations parameter not valid for this channel type.

      MQRCCF_SHORT_RETRY_ERROR
      Short retry count not valid.

      MQRCCF_SHORT_RETRY_WRONG_TYPE
      Short retry parameter not allowed for this channel type.

      MQRCCF_SHORT_TIMER_ERROR
      Short timer value not valid.

      MQRCCF_SHORT_TIMER_WRONG_TYPE
      Short timer parameter not allowed for this channel type.

      MQRCCF_SSL_CIPHER_SPEC_ERROR
      TLS CipherSpec not valid.

      MQRCCF_SSL_CLIENT_AUTH_ERROR
      TLS client authentication not valid.

      MQRCCF_SSL_PEER_NAME_ERROR
      TLS peer name not valid.

      MQRCCF_WRONG_CHANNEL_TYPE
      Parameter not allowed for this channel type.

      MQRCCF_XMIT_PROTOCOL_TYPE_ERR
      Transmission protocol type not valid.

      MQRCCF_XMIT_Q_NAME_ERROR
      Transmission queue name error.

      MQRCCF_XMIT_Q_NAME_WRONG_TYPE
      Transmission queue name not allowed for this channel type.

Parent topic: Definitions of the Programmable Command Formats