Rajeev Pentyala – Dynamics 365 Blog:
In this article, I am going to discuss about transaction aware batch processing in ExecuteMultipleRequest using ExecuteTransactionRequest.
Is ‘ExecuteMultipleRequest’ not a transaction aware?
- By design, ‘ExecuteMultipleRequest’ is non-transactional.
- Which means ‘Request’ objects added to ‘ExecuteMultipleRequest’ are independent of each other and if any exception occurred in any of the ‘Request’ will not roll back previously committed ‘Requests’.
- However you have an option to stop the batch (i.e., By setting ContinueOnError = false), if any exception occurs.
- Important to note is that, this behavior is not a transaction aware and ‘Requests’ executed prior to the error, will still be committed.
How can we achieve ‘Transaction’ in Batch execution?
- Using ExecuteTransactionRequest, we can achieve ‘Transaction’ (i.e., Commit and Rollback) in Batch execution
- ExecuteTransactionRequest will execute the all the ‘Requests’ in a single transaction.
- If any exception occurred in any of the ‘Request’ execution, will roll back all the previously…
Hope this helps…
Happy CRM’ng.
Cheers,
PMDY
Discover more from ECELLORS CRM Blog
Subscribe to get the latest posts sent to your email.
