This chapter describes the specific points that you should consider when using Oracle Database 11g Release 2 (11.2) for BS2000/OSD under openUTM (Universal Transaction Monitor). The following topics are discussed in this chapter:
UTM application program units must use embedded SQL. Calls to the Oracle Call Interface (OCI) are not allowed.
A connection is implicitly established when the UTM task is started. This connection uses the data specified in the open string. Further, explicit
CONNECT operations issued by the program units are not allowed.
COMMIT statement is not allowed in UTM program units. The openUTM will automatically issue one on a
ROLLBACK statement is not allowed in UTM program units. The openUTM will automatically issue a
ROLLBACK statement on encountering a
A cursor is valid only until a
PEND is executed. Because of a possible task change during a
PR, you cannot perform operations on a previously filled cursor such as
FETCH after a
However, you can open and fetch a new cursor after
PEND KP. The alternative to using
PEND KP is to use the PGWT-call (See the openUTM manual, Programming Applications with KDCS for COBOL, C and C++), which will wait until input comes from the terminal, to assign the same TACCLASS to subsequent programs after a
PEND PA or
You may use dynamic SQL as described in Oracle Database Programmer's Guide to the Oracle Precompilers.
SAVEPOINT statements are not allowed in PL/SQL programs running under UTM.
Autocommit operations should be avoided because they violate the synchronization between Oracle Database and UTM transactions. Take precautions when using the DDL operations, as these often contain implicit autocommits.
For example, DDL statements such as CREATE TABLE, DROP TABLE, and CREATE INDEX are not allowed in a global transaction because they force pending work to be committed.
This section describes the Oracle Database-specific points that you should consider when using UTM operations. It describes the effect of the PEND (Program Unit End) and RSET (Reset) operations of openUTM. These operations represent the common synchronization point between openUTM and the Oracle Database.
When you issue a
PEND call, UTM calls the Oracle Database internally for synchronization. When the
PEND takes place:
The user dialog/transaction is detached from the executing task.
Any resource that is still attached to the user is released.
Resetting a UTM transaction implies rolling back the Oracle Database transaction.
When using these calls to terminate a UTM transaction, the Oracle Database transaction is also rolled back.
These operations only end a UTM dialog step without affecting the corresponding Oracle Database transaction.