Send-then-commit flow

The send-then-commit (commit-mode 1 or CM1) flow sends IMS output before IMS completes synchronization-point (hereafter referred to as sync-point) processing.

To use the send-then-commit flow, specify Commit Mode 1 in the state-data section of the message prefix. This sample flow assumes the following:
  • The transaction pipe is not synchronized.
  • The synchronization level is specified as None in the state-data section. Therefore, IMS does not request a response (an ACK) when sending output.

The flow is illustrated in the following figure. Following the figure is a sequential list that provides more details on the flow.

Figure 1. Send-then-commit flow
Client is on the left; IMS TM is in the middle; application is to the right. Arrows representing sequential events are shown.

The sequence of flow shown in the above figure is:

  1. Transaction initiated
  2. Transaction inserted to SMB
  3. GU call followed by ISRT to IOPCB
  4. Sync point started
  5. Output is sent. No response is requested; response is requested only when sync=confirm is specified.
  6. Commit confirmed; IMS completed sync point
  7. Transaction completes

An example of the flow of the message activity for a single transaction pipe is illustrated in the following figure. Following the figure is a sequential list that provides more details on the flow.

Figure 2. Sample message flow for send-then-commit flow
Client is on the left; XCF is in the middle, IMS is on the right. Arrows representing sequential events are shown going from Client to IMS and IMS to client, both through XCF.

The sequence of flow shown in the above figure is:

  1. Tran1
  2. Tran2 request/response
  3. Tran3 request/response
  4. ACK to Tran3
  5. Output of Tran1
  6. ACK to Tran2
  7. Tran4
  8. Output of Tran4
  9. Confirm of Tran4
  10. Output of Tran2
  11. Output of Tran3
  12. Confirm of Tran1
  13. Confirm of Tran3
  14. Confirm of Tran2

As shown in the preceding figure, the client can receive a confirmation for output before receiving the actual output, because z/OS® cross-system coupling facility (XCF) does not guarantee that all messages are sent in sequential order. The client must be able to handle this situation during message-receipt processing or by using the XCF Message exit routine.

If a send-then-commit transaction does not run successfully, OTMA sends message DFS2082 to the client and does not perform an insert to the IOPCB.