RollbackTransaction (obsolete)
Description
Rolls back the EAServer transaction associated with the calling
thread.
Obsolete function
RollbackTransaction is obsolete, because EAServer is no longer
supported since PowerBuilder 2017.
Applies to
CORBACurrent objects
Syntax
|
1 |
CORBACurrent.RollbackTransaction ( ) |
|
Argument |
Description |
|---|---|
|
CORBACurrent |
Reference to the CORBACurrent service instance |
Return value
Integer. Returns 0 if it succeeds and one of the following negative
values if an error occurs:
-1 — Failed for unknown reason
-2 — No transaction is associated with the calling thread
-3 — The calling thread does not have permission to commit the
transaction
-4 — The HeuristicCommit exception was raised
Usage
The RollbackTransaction function rolls back the transaction
associated with the calling thread. The call fails if the HeuristicCommit
exception is raised. Heuristic decisions are usually made when normal
processing cannot continue, such as when a communications failure occurs.
The HeuristicCommit exception is raised when all relevant updates have
been committed.
RollbackTransaction can be called by a client or a component that is
marked as OTS style. EAServer must be using the two-phase commit
transaction coordinator (OTS/XA).
Examples
This example shows the use of RollbackTransaction to roll back a
transaction when an update does not succeed:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Instance variables: // CORBACurrent corbcurr int li_rc1, li_rc2 long ll_rc this.GetContextService("CORBACurrent", corbcurr) li_rc1 = corbcurr.Init() IF li_rc1 <> 1 THEN // handle the error ELSE ll_rc = CreateInstance(mycomp) // invoke methods on the instantiated component // test return values and roll back // if unsatisfactory IF li_rc2 = 1 THEN corbcurr.CommitTransaction() ELSE corbcurr.RollbackTransaction() END IF END IF |
See also