Commit Verify exit routine
IMS™ calls the Commit Verify exit routine during Get Unique (GU) message processing when the transaction is defined as MODE=MULT.
This kind of transaction allows multiple messages to be processed without an intervening commit action.
IMS calls
the exit routine before the next message is dequeued and presented
to the application program. The exit routine allows the external subsystem
to decide if it can properly process a new message without initiating
a commit for the previous message. The external subsystem returns
to IMS with a return code that
requests that IMS continue with
normal MODE=MULT (or CMTMODE(MULT)) processing or initiate a commit
action. If a commit action is requested, IMS will
initiate the commit action before dequeuing the next message and will
terminate the application program with a QC
status code.
Subsections:
Activating the routine
The exit routine is activated in key 7, supervisor state. The EEVT prefix (EEVTP) indicates a dependent region environment (dependent region TCB).
| Offset |
Decimal | Content |
|---|---|---|
| X'0' | 0 | Address of the parameter count field. The count field contains the value F'3'. |
| X'4' | 4 | Address of the EEVT prefix. |
| X'8' | 8 | Address of the 8-character user ID, left justified and padded with blanks. The user ID is associated with the message that is currently being processed (the next message has not yet been dequeued) and is identical to the one that was presented to the external subsystem at the time IMS last called the Signon exit routine. |
| X'C' | 12 | Address of the 16-byte recovery token associated with this instance of the transaction. The recovery token identifies the unit of work across one or more subsystems. This recovery token is identical to the one that was presented to the external subsystem when IMS last called the Signon exit routine. |
Contents of register 15 on return
| Return code | Meaning |
|---|---|
| 0 | Commit Verify processing successful. The external subsystem indicates that it can support MODE=MULT processing without initiating a commit action. Action: IMS continues normal MODE=MULT processing. The next message will be dequeued and presented to the application program without initiating a commit action. |
| 4 | Commit Verify processing successful. The external subsystem indicates that it cannot support MODE=MULT processing at this time. IMS needs to initiate a commit action. Action: IMS terminates the application with
a |
| 8 | Commit Verify unsuccessful. Commit Verify processing failed in the external subsystem. Action: IMS terminates the application program with abend U3044 and discards all updates. |
| 20 | Should not occur. |