Using the
Micro Focus implementation of DSNRLI has these limitations and restrictions:
- The
Micro Focus implementation of DSNRLI is not technically an extension of the XA specification, so it does not provide some of the functions the mainframe version does. Those not implemented include:
- SIGNON
- AUTH SIGNON
- CONTEXT SIGNON - The connection details, including user ID, are included in the XA resource definition in
Enterprise Server. Direct calls or SQL application handling calls are not made to the database. so these are no-operation calls.
- SET_ID
- SET_CLIENT_ID - See CONTEXT SIGNON.
- FIND_DB2_SYSTEMS - A function to search DB2 systems is not needed since the required systems and XA resources are defined in the
Enterprise Server configuration.
- (Implicit connections) - On the mainframe, if the IDENTIFY, SIGNON, CREATE THREAD sequence is not called before the first EXEC SQL call, then DSNRLI performs an implicit connection. In this implementation, since DSNRLI is not aware of the EXEC SQL calls, it does not make an implicit connection. The application must make explicit calls to DSNRLI to associate specific XA resources with a unit of work.
- DSNHLI, DSNHLR - The entry points for making SQL calls are not used. The applications must make EXEC SQL calls and use existing SQL functionality.
- DSNWLI, DSNWLIR - The entry points for making Instrumentation Facility Interface (IFI) calls are not used, since the IFI is not available.
- An issue with DB2 LUW prevents jobs that include 1 Phase Commit (1PC) programs from running after a 2 Phase Commit (2PC) program using DSNRLI has run in the same initiator. That is, programs that run under IKJEFTxx or use DSNALI fail if a DSNRLI program using the same DB2 Switch Module has previously run in the same initiator. A symptom of the problem would be a message sequence such as:
JCLCM0188I JOB01001 MFIAFN2 JOB STARTED
CASXO0001S XA Resource Manager initialization error. Resource DSN open failed, reason -00003
CASXO0016S DSN XA interface initialization failure
MVSXM0036S JOB01001 MFIAFN2 Database OPEN call failed "PROGRAM NAME"
where
MFIAFN2 is a job with a IKJEFT01 step using 'DSN SYSTEM(DSN)' and a program using DSNRLI and the same XA Resource (DSN) had previously run in the same initiator.
To address this issue, append
TOC=P to the open string specified in the XA resource configuration in Enterprise Server region settings. For example, the correct open string is
DB=SAMPLE,UID=admin,PWD=passwd,TOC=P.