-
How to update error message back to processed record in Salesforce batch apex?
Can anyone guilde me how to update the error message back to the processed record in salesforce if any error occurs in batch apex.
I am processing records from SIS_Staging__c object to create or update contact based on condition, if any error occurs for any record then I want to update the error field on SIS_Staging__c object.
Below is my code of batch apex where I used database.savepoint method to rollback the changes if any error occurs.
can anyone guide me on this, I don't have any idea how to process error message back to processed record please.
global class newbatchapex implements Database.Batchable<sObject>, Database.stateful{ global Database.QueryLocator start(Database.BatchableContext BC) { return DataBase.getQueryLocator([SELECT Id,Name,Status__c,SIS_Student_ID__c ,First_Name__c,Last_Name__c,Email__c,Mailing_Country__c,SIS_Application_Id__c,AdmTyp__c,Resident_Tuition__c,ActnRsn__c,Admit_Term__c,Home_Country__c,Plan__c,Prog1__c,Prog__c, ProgActn__c FROM SIS_Staging__c ]); } global void execute(Database.BatchableContext BC , List <SIS_Staging__c> staginglist) { Set<String> uniquekeySet = new Set<String>(); for(SIS_Staging__c stagingObj : staginglist){ uniquekeySet.add(stagingObj.SIS_Student_ID__c); } List<Contact> contactToUpdate = new List<Contact>(); List<Contact> contactToInsert = new List<Contact>(); Map<String,Contact> studentIdTOContact = new Map<String,Contact>(); Savepoint sp = Database.setSavepoint(); List<Contact> conList2 = [SELECT ID,SIS_Student_ID__c,FirstName,LastName FROM CONTACT WHERE SIS_Student_ID__c IN:uniquekeySet]; for(Contact conObj : conList2){ studentIdTOContact.put(conObj.SIS_Student_ID__c,conObj); } for (SIS_Staging__c acct : staginglist){ if(studentIdTOContact.containsKey(acct.SIS_Student_ID__c)){ Contact con = studentIdTOContact.get(acct.SIS_Student_ID__c); con.FirstName = acct.First_Name__c; con.LastName = acct.Last_Name__c; con.hed__AlternateEmail__c = acct.Email__c; con.SIS_Student_ID__c = acct.SIS_Student_ID__c; con.hed__Country_of_Origin__c = acct.Home_Country__c; con.Current_Country_of_Study__c = acct.Mailing_Country__c; con.SIS_Application_Id__c = acct.SIS_Application_Id__c; contactToUpdate.add(con); }else{ Contact con = new Contact(); con.FirstName = acct.First_Name__c; con.LastName = acct.Last_Name__c; con.hed__AlternateEmail__c = acct.Email__c; con.SIS_Student_ID__c = acct.SIS_Student_ID__c; con.hed__Country_of_Origin__c = acct.Home_Country__c; con.Current_Country_of_Study__c = acct.Mailing_Country__c; con.SIS_Application_Id__c = acct.SIS_Application_Id__c; con.LeadSource = acct.Status__c; contactToUpdate.add(con); } } try{ //insert contactToInsert; upsert contactToUpdate; } catch(exception e){ string s = 'Error: ' + e.getMessage(); database.rollback(sp); }
Log In to reply.
Popular Salesforce Blogs
Salesforce Dynamic Forms: Overview, Benefits, Business Cases
On a user page layout in Salesforce might be placed a monolit block of fields which makes customization impossible. The task of Dynamic Forms is…
How Can the Real Estate Sector Use Salesforce to Standardize Its Sales Funnel?
The pandemic has changed how businesses conduct their daily operations. Before the pandemic, the real estate industry was going strong, but its activities slowed down…
Popular Salesforce Videos
Happy 2021 to the Salesforce Ohana
As 2020 comes to a close, the challenges of the past year give way to hopes of a new year full of love, cheer, &…
How to Setup Multifactor Authentication in Salesforce Marketing Cloud
In this video, Cameron Robert shows how to enable and set up Multifactor Authentication in Salesforce Marketing Cloud, and then register for MFA using the…
Introducing KaseSync: An Innovative Community-CRM Connector! | Salesforce
KaseSync, is an innovative community-CRM connector designed to create seamless bi-directional data sync between platforms. Learn how exactly it improved self-service and boosts community engagement.
Popular Salesforce Infographics
Salesforce Jobs Market Couldn't Be Better!
Anyone that’s transitioned their career to Salesforce can agree: the market for Salesforce Jobs couldn’t be better. If you’re looking for some inspiration to make…
Demystifying Salesforce Blockchain
Salesforce Blockchain is currently available to select design partners and will be generally available in 2020. This Informative Infographic will help readers to decide to…
All the Ways Salesforce Portal for Education Can Help Logistically
The education industry is layered and has multiple logistical elements in its workflow. How would we do it if we were to improve it? The…