Internal transaction handling in Business Objects
Transaction handling for BODs and BDEs is done as a whole. It is uncommon to have an internal transaction. For example, a transaction with an own retry point and commit to commit a part of the Business Object handling to the database regardless if the complete Business Object action will succeed or fail. There can be reasons to have an internal transaction within a BOD or BDE.
This can be established by using a subprocess.
Note: Before starting the subprocess, system variable db.child.transaction (set within the Dispatcher) must be
temporarily reset by db.set.child.transaction(0). This
is to avoid suppressing the transactions that are performed within the subprocess. After
starting the subprocess, db.child.transaction must be
restored with db.set.child.transaction(1). To avoid
creating a subprocess for every invocation, it is advisable to reuse the subprocess and
use BMS commumication between main process and subprocess.