IBM MQ for z/OS considerations for extended transactional client connections
Some XA transaction managers use sequences of transaction coordination calls which are incompatible with the features normally available to clients connecting to IBM® MQ for z/OS®.
Where an incompatible sequence is detected, IBM MQ for z/OS might issue an abend for the connection and return an error response to the client.
For example, xa_prepare receives abend 5C6-00D4007D, with return code -3
(XAER_RMERR) returned to the client.
Another example is that xa_end receives abend 5C6-00D40079.
Ensure that you have enabled changes to XA client connections on IBM MQ for z/OS that allow the transaction manager to prepare a
transaction on a different connection.
Notes:
- The change is not enabled by default. To make use of the change you must specify the keyword CSQSERVICE1 (in upper case) anywhere in the description field of the SVRCONN channel used by the XA client.
- Channels with the CSQSERVICE1 keyword have the following restrictions:
- GROUP unit of recovery disposition is not permitted. Only
QMGR unit of recovery disposition is allowed. The disposition is determined by
the name given on the
xa_opencall. If the queue sharing group name is used, then the XA connection requests a group unit of recovery.An
xa_opencall specifying the queue sharing group name in the xa_info parameter fails with xaer_inval. - The MQGMO_LOCK and MQGMO_UNLOCK options are not permitted. An MQGET call with MQGMO_LOCK or MQGMO_UNLOCK fails with MQRC_ENVIRONMENT_ERROR.
- GROUP unit of recovery disposition is not permitted. Only
QMGR unit of recovery disposition is allowed. The disposition is determined by
the name given on the