Syncpoints in IMS applications
In an IMS™ application, you establish a syncpoint by using IMS calls such as GU (get unique) to the IOPCB and CHKP (checkpoint). To back out all changes since the previous checkpoint, we can use the IMS ROLB (rollback) call. For more information, see the following:
- IMS/ESA Application Programming: Transaction Manager
- IMS/ESA Application Programming: Design Guide
The queue manager is a participant in a two-phase commit protocol; the IMS syncpoint manager is the coordinator. Other syncpoint coordinators are not supported by the IMS adapter.
All open handles are closed by the IMS adapter at a syncpoint (except in a batch-oriented BMP). This is because a different user could initiate the next unit of work and WebSphere MQ security checking is performed when the MQCONN, MQCONNX, and MQOPEN calls are made, not when the MQPUT or MQGET calls are made.
Handles are also closed after a ROLB call unless you are running IMS Version 3 or a batch-oriented BMP.
If an IMS application (either a BMP or an MPP) issues the MQDISC call, open queues are closed but no implicit syncpoint is taken. If the application ends normally, any open queues are closed and an implicit commit occurs. If the application ends abnormally, any open queues are closed and an implicit backout occurs.
Parent topic:
Writing IMS applications using WebSphere MQ
fg15820_