Let's look at the following two images in order to understand in detail what exactly happens when an IMS Connect Client sends a CM1 SL0 input message to IMS Connect (ICON) and a Syncpoint failure occurs.
Figure 1. Pictorial representation of what happens when an IMS Connect client sends a CM1 SL0 input message to IMS Connect and a Syncpoint failure occurs.
Below is a step-by-step explanation of what happens when an IMS Connect client sends a CM1 SL0 input message to IMS Connect and a Syncpoint failure occurs:
1. An IMS Connect Client sends a CM1 SL0 input message to ICON
2. IMS Connect allocates a control block for the client (SVT), if it does not already exist and sends the input message to IMS OTMA via XCF. The transaction pipe (tpipe) name would be the port number that received the input message.
3. OTMA processes the input message. A control block called a Transaction Instance Block (TIB) is allocated. RACF or any other System Authorization Facility (SAF) product is called, if needed. The input message is first inserted into the IMS message queue and then enqueued on the transaction queue.
4. The application program does a Get-Unique (GU) to the Input Output Program Communications Block (IOPCB) to retrieve the input message. The input message is then processed by the application program as per the existing logic.
5. The application program then does an Insert (ISRT) of the reply message to the IOPCB
6. The reply message is anchored on the TIB
7. The IMS application program reaches a syncpoint (GU IOPCB, ISRT to IOPCB)
8. IMS OTMA retrieves the reply message from the message queue (please refer to Step 5, above)
9. IMS OTMA sends the reply message to IMS Connect via XCF and deletes it from the IMS message queue
10. IMS Connect anchors the reply message on the SVT and waits for the De-Allocate (“deallocation”) message from OTMA
11. Syncpoint proceeds- OTMA starts processing the syncpoint. Phase 1 and Phase 2 Syncpoints begin.
12. Phase 1 Syncpoint processing fails
13. OTMA processes the Syncpoint failure and sends the DFSxxx and De-Allocate Abort messages to IMS Connect via XCF. The messages can arrive in IMS Connect via XCF in any order.
14. OTMA deletes the TIB control block
15. Phase 2 Syncpoint fails and the application program abends
16. IMS Connect processes the syncpoint failure and discards the reply message. ICON also sends the DFSxxx message to the IMS Connect Client
17. If a persistent socket is in use, IMS Connect keeps the connection open and does not free the SVT control block; otherwise, the SVT control block is freed
18. The ICON client processes the DFSxxx message