Reset Channel
The Reset Channel (MQCMD_RESET_CHANNEL) command resets the message sequence number for an IBM MQ channel with, optionally, a specified sequence number to be used the next time that the channel is started.
This command can be issued to a channel of any type (except MQCHT_SVRCONN and MQCHT_CLNTCONN). However, if it is issued to a sender (MQCHT_SENDER), server (MQCHT_SERVER), or cluster-sender (MQCHT_CLUSSDR) channel, the value at both ends (issuing end and receiver or requester end), is reset when the channel is next initiated or resynchronized. The value at both ends is reset to be equal.
If the command is issued to a receiver (MQCHT_RECEIVER), requester (MQCHT_REQUESTER), or cluster-receiver (MQCHT_CLUSRCVR) channel, the value at the other end is not reset as well; this step must be done separately if necessary.
Where there is both a locally defined channel and an auto-defined cluster-sender channel of the same name, the command applies to the locally defined channel.
If there is no locally defined channel but more than one auto-defined cluster-sender channel, the command applies to the last channel added to the repository on the local queue manager.
Required parameters
- ChannelName (MQCFST)
- Channel name (parameter identifier: MQCACH_CHANNEL_NAME).
The name of the channel to be reset. The maximum length of the string is MQ_CHANNEL_NAME_LENGTH.
Optional parameters
- 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, you must be using a queue sharing group environment, and the command server must be enabled.
The maximum length is MQ_QSG_NAME_LENGTH.
- ChannelDisposition (MQCFIN)
- Channel disposition (parameter identifier: MQIACH_CHANNEL_DISP). This parameter applies to z/OS only.
Specifies the disposition of the channels to be reset.
If this parameter is omitted, then the value for the channel disposition is taken from the default channel disposition attribute of the channel object.
The value can be any of the following values:
- MQCHLD_PRIVATE
- A receiving channel is private if it was started in response to an inbound transmission directed to the queue manager.
A sending channel is private if its transmission queue has a disposition other than MQQSGD_SHARED.
- MQCHLD_SHARED
- A receiving channel is shared if it was started in response to an inbound transmission directed to the queue sharing group.
A sending channel is shared if its transmission queue has a disposition of MQQSGD_SHARED.
The combination of the ChannelDisposition and CommandScope parameters also controls from which queue manager the channel is operated. The possible options are:
- On the local queue manager where the command is issued.
- On another specific named queue manager in the group.
The various combinations of ChannelDisposition and CommandScope are summarized in Table 1
Table 1. ChannelDisposition and CommandScope for RESET CHANNEL ChannelDisposition CommandScope blank or local-qmgr CommandScope qmgr-name MQCHLD_PRIVATE Reset private channel on the local queue manager Reset private channel on the named queue manager MQCHLD_SHARED Reset a shared channel on all active queue managers. MQCHLD_SHARED might automatically generate a command using CommandScope and send it to the appropriate queue manager. If there is no definition for the channel on the queue manager to which the command is sent, or if the definition is unsuitable for the command, the command fails.
The definition of a channel on the queue manager where the command is entered might be used to determine the target queue manager where the command is run. Therefore, it is important that channel definitions are consistent. Inconsistent channel definitions might result in unexpected command behavior.
Not permitted
- MsgSeqNumber (MQCFIN)
- Message sequence number (parameter identifier: MQIACH_MSG_SEQUENCE_NUMBER).
Specifies the new message sequence number.
The value must be in the range 1 through 999 999 999. The default value is one.
Error codes
This command might return the following error code in the response format header, in addition to the values shown in Error codes applicable to all commands.
- Reason (MQLONG)
- The value can be any of the following values:
- MQRCCF_CHANNEL_NOT_FOUND
- Channel not found.