Comparison of ROLB, ROLL, and ROLS
The following table provides a comparison of the ROLB, ROLL, and ROLS calls.
| Actions taken | ROLB | ROLL | ROLS |
|---|---|---|---|
| Back out database updates since the last commit point. | X | X | X |
| Cancel output messages created since the last commit point. | X1 | X1 | X1 |
| Delete the message in process from the queue. Previous messages (if any) processed since the last commit point are returned to the queue to be reprocessed. | X | ||
| Return the first segment of the first input message since the most recent commit point. | X2 | ||
| 3303 abnormal termination and returns the processed input messages to the message queue. | X3 | ||
| 778 abnormal termination, no dump. | X | ||
| No abend; program continues processing. | X |
Notes:
- ROLB, ROLL, or ROLS cancel output messages sent with
an express PCB unless the program issued a
PURG.For example, if the program issues the following call sequence, MSG1 would be sent to its destination because thePURGtells IMS that MSG1 is complete and the I/O area now contains the first segment of the next message (which in this example is MSG2). MSG2, however, would be canceled:ISRT EXPRESS PCB, MSG1 PURG EXPRESS PCB, MSG2 ROLB I/O PCBBecause IMS has the complete message (MSG1) and because an express PCB is being used, the message can be sent before a commit point.
- Returned only if you supply the address of an I/O area as one of the call parameters.
- The transaction is suspended and requeued for subsequent processing.