Home

 

Usage notes

  1. If an MQDISC call is issued when the connection still has objects open under that connection, the queue manager closes those objects, with the close options set to MQCO_NONE.

  2. If the application ends with uncommitted changes in a unit of work, the disposition of those changes depends on how the application ends:

    1. If the application issues the MQDISC call before ending:

      • For a queue-manager-coordinated unit of work, the queue manager issues the MQCMIT call on behalf of the application. The unit of work is committed if possible, and backed out if not.

        On z/OS, batch programs (including IMS batch DL/1 programs) are like this.

      • For an externally-coordinated unit of work, there is no change in the status of the unit of work; however, the queue manager typically indicates that the unit of work must be committed when asked by the unit-of-work coordinator.

        On z/OS, CICS, IMS (other than batch DL/1 programs), and RRS applications are like this.

    2. If the application ends normally but without issuing the MQDISC call, the action taken depends on the environment:

      • On z/OS, the actions described under (a) above occur.

      • In all other cases, the actions described under (c) below occur.

      Because of the differences between environments, ensure that applications that you want to port commit or back out the unit of work before they end.

    3. If the application ends abnormally without issuing the MQDISC call, the unit of work is backed out.

  3. On z/OS, the following points apply:

    • CICS applications do not have to issue the MQDISC call to disconnect from the queue manager, because the CICS system itself connects to the queue manager, and the MQDISC call has no effect on this connection.

    • CICS, IMS (other than batch DL/1 programs), and RRS applications use units of work that are coordinated by an external unit-of-work coordinator. As a result, the MQDISC call does not affect the status of the unit of work (if any) that exists when the call is issued.

      However the MQDISC call does indicate the end of use of the connection tag ConnTag that was associated with the connection by an earlier MQCONNX call issued by the application. If there is an active unit of work that references the connection tag when the MQDISC call is issued, the call completes with completion code MQCC_WARNING and reason code MQRC_CONN_TAG_NOT_RELEASED. The connection tag does not become available for reuse until the external unit-of-work coordinator has resolved the unit of work.

  4. On i5/OS, applications running in compatibility mode do not have to issue this call; see the MQCONN call for more details.



 

Home