USD Quick Reference
CRM Job Editor
Transactions in CRM
- Pre-Validation plugin participates in the existing transaction if already existing else no transaction is created and each request uses independent transaction to the database.
- Pre and Post Operation plugin participates in existing transaction. Same for Sync
- For Async Plugin and Workflow, no transaction is created, does not participate in transaction and each request uses independent transaction to the database.
- Custom workflow activity act within the parent workflow context, if sync then within the transaction and for async then outside the transaction.
- For Custom Actions, if enable rollback is set and it is called through SDK from Plugin running within the transaction the custom action will act within the existing transaction else will create a new transaction. If enable rollback is not set then custom action won’t act within a transaction.
- For ExecuteMultiple each request is performed independently so there is no transaction context held between requests.
- oData don’t participate in existing transaction, however plugin registered on an entity processed as a part of an oData request can participate in the pipeline transaction generated by the oData request.