This feature is useful when you need to perform, from within a transaction, certain operations that do not need to be executed under the control of this transaction.
For example, your customer calls you to place an order and you begin to enter the order. Then your customer informs you that have moved to a new address so you update the customer address. Finally your customer changes their mind and cancels the order. In this case, you want to cancel the order but keep the new address. This is a typical example where suspending the transaction is useful.
The new commands are:
- SUSPEND TRANSACTION: pauses the current transaction. Any updated or added record remains locked.
- RESUME TRANSACTION: reactivates a suspended transaction.
- Transaction active: returns False if the transaction is suspended or if there is no current transaction, and True if the transaction is started or resumed.
An example database is available to demonstrate the new functionality.
For more details, please take a look at the 4D v15 R4 upgrade manual.