DSNRLI Work Unit Functions

DSNRLI is typically used as part of the SQL process to connect, open, execute SQL calls, commit, rollback, close, and disconnect. However, the Micro Focus DSNRLI functions used in this process are shown in the table:

Process DSNRLI Function tx_CALL
Connect IDENTIFY tx_associate
SIGNON tx_open
Open CREATE THREAD tx_begin
Commit SRRCMIT tx_commit
Rollback SRRBACK tx_rollback
Close TERMINATE THREAD tx_end, tx_close
Disconnect TERMINATE IDENTIFY none
Note: When any of the associated XA modules are left in an open condition at the end of the step, i.e. the TERMINATE THREAD call has not been made, then DSNRLI calls tx_commit if the return code from the program is 0 (zero), or tx_rollback if the return code from the program is a value other than 0. However, if the last SRRCMIT or SRRBACK call resulted in a MIXED status, meaning that some XA modules committed or rolled back and some did not, then DSNRLI does not issue either tx_commit or tx_rollback. In some circumstances, XA Recovery processing can recover a MIXED status transaction of this type.

For user executed SQL calls, use existing SQL architecture.

Multiple XA Resources can be used in a single unit of work. In those cases, the application should use DSNRLI IDENTIFY, SIGNON and CREATE THREAD calls to associate each additional XA Resource.