ROLL
A ROLL
call backs out the database updates and cancels any non-express
output messages the program has created since the last commit point. It also deletes the current
input message. Any other input messages processed since the last commit point are returned to the
queue to be reprocessed. IMS then terminates the program with a
user abend code 0778. This type of abnormal termination terminates the program without a storage
dump.
When you issue a ROLL
call, the only parameter you supply is the call
function, ROLL
.
You can use the ROLL
call in a batch program. If your system log is on
direct access storage, and if dynamic backout has been specified through the use of the BKO
execution parameter, database changes since the last commit point will be backed out. Otherwise they
will not be backed out. One reason for issuing ROLL
in a batch program is for
compatibility.
After backout is complete, the original transaction is discarded if it is discardable, and it is not re-executed. IMS issues the APPC/MVS verb ATBCMTP TYPE(ABEND) specifying the TPI to notify remote transaction programs. Issuing the APPC/MVS verb causes all active conversations (including any spawned by the application program) to be DEALLOCATED TYP(ABEND_SVC).