Commit-then-send flow

The commit-then-send flow, also known as the IMS standard flow, enqueues IMS output before sending it to the client. Use this flow for standard transaction processing.

To use the standard flow, specify commit-then-send (commit-mode-0) in the state-data section of the message prefix. This sample flow assumes the following:
  • The transaction pipe is synchronized. IMS maintains sequence numbers for recoverable input and output for the transaction pipe.
  • Acknowledgment is always requested (by both IMS and the client).

If NAK response is received by IMS, then the output is returned to the queue and will be delivered later.

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

Figure 1. Commit-then-send (IMS standard) flow
The client is on the left; the application is on the right; in the middle is IMS TM. Arrows representing each sequential step are shown.

The sequence of the flow illustrated in the figure is:

  1. Transaction initiated (response required/synchronized tpipe)
  2. Transaction is inserted to SMB
  3. ACK
  4. GU call followed by ISRT to IOPCB
  5. Sync Point
  6. Output is enqueued to tpipe, and DB is committed
  7. Transaction completes
  8. Output is sent with response requested
  9. ACK
  10. Output is dequeued.

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

Figure 2. Sample message flow for commit-then-send flow
The Client is on the left; IMS TM is in the middle; Application is to the right. Arrows showing the sequence flow are shown.

The sequence of flow shown in the figure is:

  1. Tran1
  2. ACK to Tran1
  3. Tran2
  4. Output of Tran1
  5. ACK to Tran2
  6. Tran3
  7. ACK to Tran3
  8. Tran4
  9. ACK to output of Tran1
  10. ACK to Tran4.
OTMA sends a DFS2082 message to the client, regardless of the transaction response mode, when the following conditions are met:
  • The TMAMHRSP optional flag is set in the state data prefix.
  • The IMS application that processes the original input transaction does not respond to the IOPCB.
  • The IMS application that processes the original input transaction does not complete a program-to-program message switch.