Creates an EAServer transaction and associates it with the calling thread.
CORBACurrent objects
CORBACurrent.BeginTransaction ( )
Argument |
Description |
---|---|
CORBACurrent |
Reference to the CORBACurrent service instance |
Boolean. Returns true if it succeeds and false if the transaction could not be created.
The BeginTransaction function creates a transaction and modifies the transaction context of the calling thread so that it is associated with the transaction. This enables the calling thread to obtain information about the transaction and control commits and rollbacks. BeginTransaction 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). If the calling thread is already associated with a transaction, BeginTransaction returns false. Nested transactions are not supported.
This example shows the use of BeginTransaction to create a transaction from a client:
// Instance variables: // CORBACurrent corbcurr // Connection myconnect long ll_rc integer li_rc1, li_rc2 boolean lb_success ll_rc = myconnect.ConnectToServer() // insert error handling ... li_rc1 = this.GetContextService("CORBACurrent", & corbcurr) // insert error handling ... li_rc2 = corbcurr.Init( myconnect ) // insert error handling ... lb_success = corbcurr.BeginTransaction() IF NOT lb_success THEN MessageBox ("Create Transaction Failed", & "The client may already be in a transaction") RETURN
ELSE ll_rc = myconnect.CreateInstance(lcst_mybookstore) // begin processing ...
CommitTransaction, GetContextService, GetStatus, GetTransactionName, Init, ResumeTransaction, RollbackOnly, RollbackTransaction, SetTimeout, SuspendTransaction