function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Bhaskar RayBhaskar Ray 

Process builder for mass update


I have written a process builder that should create/ update child records when 1000s of parents records are updated from external system. However process builder seems to throw error for these records, examples are-

ERROR: We can't save this record because the PROCESSBUILDER process failed. Give your Salesforce admin these details. This error occurred when the flow tried to create records: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY: CaseTrigger: System.LimitException: Too many DML statements: 151. You can look up ExceptionCode values in the SOAP API Developer Guide. Error ID: 723127467-93191 (-1369958504)

ERROR: We can't save this record because the PROCESSBUILDER process failed. Give your Salesforce admin these details. This error occurred when the flow tried to update records: CANNOT_EXECUTE_FLOW_TRIGGER: We can't save this record because the PROCESS BUILDER process failed. Give your Salesforce admin these details. This error occurred when the flow tried to update records: REQUEST_RUNNING_TOO_LONG: Your request was running for too long, and has been stopped.. You can look up ExceptionCode values in the SOAP API Developer Guide. Error ID: 2146764366-2599833 (1255675226). You can look up ExceptionCode values in the SOAP API Developer Guide. Error ID: 2146764366-2599835 (1022480718)

Please tell me how can I make process builder work for this scenario.

Thanks
Andrew GAndrew G
Well, it is hard to see exactly where the issue is, but I note that CaseTrigger is noted in the error message.  Another thing to consider is that in Process Builder, each IA (Immediate Action) where you update the record is a DML event.  

You will need to simplity your Process Builder to minimise the number of IAs that are invoked.  Remember that you can use Formula to condense the number of IAs.  Make the Decision point broader and then use Formula to define how to update the field. 

And I would also check how the trigger is being invoked.  It will be of benefit to review the Salesforce Order of Excecution and then desk-check the Triggers and process builder to see where the bulkification issue may be arising.  Without knowing your systems, it may be possible that your Process Builder is creating the Case and then when the trigger fires, it then hits the limit.  Remembering that all DMLs are counted against the event that invoked the parent event, if that makes sense.  For example, Update an Account, which fires a process builder which updates a field on account and creates a Contact record which updates an address object via trigger.  That is 4 DMLs and a SOQL , at a minimum (regardless of how the trigger is written), under that one Account update.

Regards
Andrew
nitin sharma 397nitin sharma 397
You can try use flows to update your child records.....You can use pause element in the flows which will reset the governor limits for you and then u should be fine .