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.
The sequence of the flow illustrated in the figure is:
- Transaction initiated (response required/synchronized tpipe)
- Transaction is inserted to SMB
- ACK
- GU call followed by ISRT to IOPCB
- Sync Point
- Output is enqueued to tpipe, and DB is committed
- Transaction completes
- Output is sent with response requested
- ACK
- 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.
The sequence of flow shown in the figure is:
- Tran1
- ACK to Tran1
- Tran2
- Output of Tran1
- ACK to Tran2
- Tran3
- ACK to Tran3
- Tran4
- ACK to output of Tran1
- 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.