Processing transactions against unavailable data in DB/DC and DBCTL environments

When an application program attempts to access unavailable data, IMS abends the application program. Use the INIT call to prevent application programs from being scheduled when a database is unavailable.

IMS schedules an application program even if that application program might try to access an unavailable database. The application program can be sensitive or insensitive to unavailable data. To be sensitive, it must issue the INIT call. This requests that a status code is returned in the PSB if a subsequent call requires access to data that is unavailable. If the application program has not issued the INIT call and a call requires access to unavailable data, IMS abends the application program with U3303, and backs out any updates it has made.

After ten U3303 abends, IMS takes the following action:

The disposition of the transaction depends on whether it is serial or not. Serial transactions are those that must be processed in the order of arrival. If it is serial, the processing of any transaction of its type is stopped. If it is not serial, only the processing of this particular transaction is stopped.

Data can be unavailable for these reasons:

IMS tries to resume transaction processing when any of these events occurs: