The MQBACK subroutine ensures that message puts and gets that have occurred since the last sync point are backed out. Messages such as a part of a unit of work are deleted and messages that were retrieved as part of a unit of work are reinstated on the queue.
The MQCMIT subroutine notifies the queue manager that the application has reached a sync point and that the message gets and puts that have occurred since the last sync point are to be made permanent. Messages put as a part of a unit of work are made available to other applications and messages retrieved as part of a unit of work are deleted.