Dynamic backout
IMS automatically backs out changes to a database in several different circumstances.
- An application program terminates abnormally.
- An application program issues a rollback call (
ROLL
orROLB
), orROLS
call without a token. - An application program tries to access an unavailable database
but has not issued the
INIT
call. - A deadlock occurs.
In batch, you can specify (in the JCL) that IMS automatically dynamically back out changes
if a batch application program abends, issues a ROLB
call,
or issues a ROLS
call without a token. In this case,
the log data set must be on DASD.
However, GSAM DB's are not backed out but are repositioned during the BMP's restart process through the XRST call. The XRST call repositions the dataset pointers to the checkpoint ID specified in the call. When the application starts-up, it will pick-up from that point and go forward. The checkpoint ID specified in the XRST call should be the same one that the non-GSAM DBs would have been backed out to, through either dynamic or batch backout.