Skip Headers

Oracle8i Server User's Guide
Release 3 (8.1.7) for Fujitsu Siemens Computers BS2000/OSD

Part Number A95463-01
Go To Table Of Contents
Contents
Go To Index
Index

Go to previous page Go to next page

6
Using the Oracle Server Under openUTM

This chapter describes the Oracle Server-specific points that you should take into consideration when using Oracle8i Release 3 for BS2000/OSD under openUTM (Univeral Transaction Monitor). The following topics are discussed in this chapter:

SQL Operations

When you are writing a UTM application, the SQL calls are passed to openUTM and converted into openUTM compatible "CALL Oracle" calls to ensure full coordination between the Oracle Server and openUTM.


Note:

UTM application program units must use embedded SQL. Explicit calls to any SQLLIB function calls or the Oracle Call Interface (OCI) are not allowed.


CONNECT

A connection is implicitly issued when the UTM task is started. This connection uses the data specified in the open string. Further explicit CONNECTs which are issued by the program units are not allowed.

COMMIT

An explicit COMMIT statement is not allowed in UTM program units. The Oracle Server UTM Interface will automatically issue one upon PEND RE, FI, SP or FC.

ROLLBACK

An explicit ROLLBACK statement is not allowed in UTM program units. The Oracle Server UTM Interface will automatically issue a ROLLBACK statement upon PEND ER, RS, FR or RSET.

SAVEPOINT

The SAVEPOINT statement is not allowed in UTM program units.

Cursor Operations

A cursor is only valid until a PEND is executed. Because of a possible task change during a PEND KP, PA or PR, you cannot perform operations on a prevously filled cursor such as OPEN or FETCH after a PEND KP, PA or PR. 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), which will wait until input comes from the terminal, or to assign the same TACCLASS to subsequent programs after a PEND PA or PR.

Dynamic SQL

You may use dynamic SQL as described in the relevant Supplement to the Oracle Precompilers Guide. In this case, however, coordination between openUTM and the Oracle Server could be lost, as the UTM/Oracle Server connection module does not analyze the dynamic SQL statements. This is particularly true if your dynamic SQL contains COMMIT, ROLLBACK, or DDL statements.

PL/SQL

COMMIT, ROLLBACK, CONNECT and SAVEPOINT statements are not allowed in PL/SQL programs running under UTM.

Autocommit

Autocommit operations should be avoided, as they violate the synchronization between Oracle Server and UTM transactions. Take care when using 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.

UTM Operations

This section describes the Oracle Server-specific points that you should take into consideration when using UTM operations. The points in this section refer to PEND (Program Unit End) and RSET (Reset) operations. These operations represent the common synchronization point between openUTM and the Oracle Server.

When you issue a PEND call, UTM calls the Oracle Server, internally, for synchronization. When the PEND takes place:

RSET and PEND RS

Resetting a UTM transaction implies rolling back the Oracle Server transaction.

PEND ER and PEND FR

When using these calls to abort a UTM transaction, the Oracle Server transaction is also rolled back.

PEND KP, PEND PR and PEND PA

These operations only end a UTM dialog step without affecting the corresponding Oracle Server transaction.

PEND RE, PEND FI and PEND FC

These PEND calls cause an implicit COMMIT to be executed. All cursors which have not been explicitly closed, are closed.


Go to previous page Go to next page
Oracle
Copyright © 2001 Oracle Corporation.

All Rights Reserved.
Go To Table Of Contents
Contents
Go To Index
Index