If errors occur in the interaction with database systems, openUTM processes the errors - the programmer does not need to take any special precautions.
BS2000 databases without XA
The database system informs openUTM about whether it has been able to execute a call successfully. If an error has occurred, openUTM checks the severity of the error and reacts accordingly: openUTM rolls back the transactions to the last synchronization point and outputs messages that contain information on the causes of the error.If a serious error occurs as a result of interaction with the database then openUTM generates the message K071. This message contains database status information together with a specific return code, see openUTM manual ”Messages, Debugging and Diagnostics”.
Database connection via XA
In this case, openUTM additionally uses XA messages (K201 - K232) to provide information about the status of the connection, irregular rollbacks, commits and errors when using XA calls (see also the openUTM manual ”Messages, Debugging and Diagnostics”.
A special area for further diagnosis is available in the UTM dump, the UTM Diagarea. openUTM enters trace information in this area. Alongside the KDCS calls, this area also logs all the calls to the database system. These calls can be seen after the DBCL string (see the openUTM manual ”Messages, Debugging and Diagnostics”).
Behavior after a system crash
After an operating system crash and abortion of the UTM application, the database should be started before the UTM application at restart. If the UTM application was generated for the UTM-S variant (default setting), then openUTM executes a joint recovery phase with the database system/database systems at the start of the application.