Description
Allows a component to find out whether it is running on a transaction server.
Applies to
TransactionServer objects
Syntax
transactionserver.Which ( )
Return value
Integer.
Returns 0 if the object is not running on a transaction server, 1 if it is running on EAServer (obsolete), or 2 if it is running on COM+.
Usage
The Which function allows a custom class user object to perform different processing depending on its runtime context.
Examples
The code in the following example checks to see whether the runtime context is a transaction server. If it is, it uses transaction semantics that are appropriate for a transaction server; otherwise, it uses COMMIT and ROLLBACK to communicate directly with the database:
// Instance variables: // DataStore ids_datastore // TransactionServer ts Integer li_rc long ll_rv li_rc = this.GetContextService("TransactionServer", & ts) IF li_rc <> 1 THEN // handle the error END IF ... ... ll_rv = ids_datastore.Update() IF ts.Which() > 0 THEN IF ll_rv = 1 THEN ts.EnableCommit() ELSE ts.DisableCommit() END IF ELSE IF ll_rv = 1 THEN COMMIT USING SQLCA; ELSE ROLLBACK USING SQLCA; END IF END IF
See also
IsInTransaction (obsolete)
IsTransactionAborted (obsolete)