The following requirements must be met in order to use the OSREQ
macro successfully:
- The caller must be in task mode, 31-bit addressing mode, primary
addressing mode, problem or supervisor state, and any storage protect
key. (Callers may not be in cross-memory mode.)
- The calling program cannot hold any MVS locks.
- All input and output parameters must be contained within the home
address space and must be accessible in primary addressing mode.
- The DB2 subsystem must be running and, if CICS is used, it must
be connected to DB2. The installation is responsible for starting
the DB2 subsystem and establishing the connection.
- The call attachment facility is used by OAM in the
MVS batch environment to connect to DB2 during the ACCESS call to
OAM. After the connection is made to DB2, a thread is established
(by OPEN) to plan CBRIDBS. The call to ACCESS should be invoked prior
to any application DB2 activities occurring to allow synchronization
with the OAM database activities. Synchronization is the responsibility
of the application and is in the form of CLOSE, then OPEN, as described
in the IBM Information
Management Software for z/OS Solutions Information Center.
- In the CICS, DSN Command Processor, and IMS environments,
it is assumed that the connection to DB2 has already been made. Synchronization
in CICS is accomplished through the use of the SYNCPOINT function
(refer to the IBM Information Management Software for z/OS Solutions Information
Center). In the TSO environment, synchronization is accomplished
through the use of COMMIT and ROLLBACK functions, as described in
the IBM Information
Management Software for z/OS Solutions Information Center.
In the IMS environment, synchronization is accomplished through the
use of COMMIT and ROLLBACK functions (see the IBM Information Management Software
for z/OS Solutions Information Center), or by the use of SYNC
and ROLL/B call to IMS.
- If you use JOBLIB or STEPLIB JCL statements in your application
that include DB2 load modules, then the entire JOBLIB or STEPLIB concatenation
must be assigned to authorized libraries. Because the OSREQ application
programming interface runs in an authorized state, it must load the
DB2 modules at the time the ACCESS function is invoked. MVS requires
that all libraries in a concatenation must be authorized when the
loading program is authorized.
Note: If an application invokes the OSREQ API without passing
an IADDRESS, OAM assumes the application is running in one of the
CAF supported environments, Batch, IMS, CICS, TSO, or DSN. If
an application invokes the OSREQ API using the IADDRESS parameter,
it will be assumed that the application has done the connection to
DB2 and has loaded the appropriate DB2 module. Environments or invocations
other than those listed in
Table 1 in
ACCESS—Initializing the OSREQ interface have not been
tested by IBM and the results may be unpredictable. An example of
an untested, unpredictable environment would be the DB2 Stored procedure
environment.