Activity Forums Salesforce® Discussions How to handle error records in Batch apex in Salesforce? Reply To: How to handle error records in Batch apex in Salesforce?

  • Parul

    Member
    September 21, 2018 at 1:43 pm

    Hi

    Some things to do:

    Have your batch class implement Database.stateful
    Declare some variables that are initialized in the constructor to 0. These variables count successes and errors; also a string variable that remembers the records that failed and why (initialized to empty string).
    Use Database.update with allOrNothing = false instead of update within execute(). Interrogate each member of Database.SaveResult[] for isSuccess() and count succcesses and failures in your stateful variables from #2. Log in the stateful variable all the errors (id of record, name of record, and error message/exception)
    In the finish method, send an email to the sysad of count of successes/failures + string variable of all the failures.
    In finish() method, write your batch results to a custom Log__c record(s)

     

    Thanks