How CICS distributed transactions access IMS

CICS® can divide a single, logical unit of work into separate CICS transactions and coordinate the sync point globally. If such CICS transactions access DBCTL, locking and buffer management issues might occur.

To IMS, the transactions are separate units of work, on different DBCTL threads, and they do not share locks or buffers. For example, if a global transaction runs, obtains a database lock, and reaches the commit point, CICS does not process the synchronization point until the other transactions in the CICS unit of recovery (UOR) are ready to commit. If a second transaction in the same CICS UOR requests the same lock as that held by the first transaction, the second transaction is held in a lock wait state. The first transaction cannot complete the sync point and release the lock until the second transaction also reaches the commit point, but this cannot happen because the second transaction is in a lock wait state. You must ensure that this type of collision does not occur with CICS distributed transactions that access IMS.