Dynamic backout

IMS automatically backs out changes to a database in several different circumstances.

IMS automatically backs out changes to a database when any of the following events occur:
  • An application program terminates abnormally.
  • An application program issues a rollback call (ROLL or ROLB), or ROLS 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.