-
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
How To Become A Salesforce Developer: 5 Best Educational Tips
Introduction The number of professionals engaged in the computer science and engineering field is growing steadily. Today many people are willing to learn to program,…
Salesforce Data Migration: Best Practices and Tips
Migrating data to Salesforce is a crucial step for businesses transitioning from legacy systems or consolidating multiple data sources into one powerful CRM. Done right,…
Quick Tips for Managing Multiple Marketing Cloud Instances
It requires art to manage multiple cloud instances, specifically when aiming to maintain efficient, consistent, and effective communication across different platforms. Marketing cloud platforms include…
Popular Salesforce Videos
Salesforce CPQ Product Bundles
Salesforce CPQ product bundles. See how product bundles work with features and options. Also including an option constraint to prevent incorrect configuration. Watch this video…
Uncomplicating Sales with Salesforce CPQ
Sales representatives spend 34 percent of their time doing actual sales, while a staggering 66 percent of their time generating quotations, ideas, and gaining approvals,…
Design Patterns and Best Practices to Build Reusable Lightning Web Components | Salesforce Tutorial
LWC Best Practices & Design Pattern Component Architecture and Composition Styling Reusable components Sharing components between LWC and LWC OSS Packaging LWC and LWC OSS…
Popular Salesforce Infographics
How Salesforce Einstein Can Improve Sales?
Customer Relationship Management has provided businesses with seamless means, marketing strategies and activities to help improve sales. The thing about traditional CRM is that it…
How to Choose the Right CRM for Your Business?
There are many CRM solutions for companies to choose from, and wading through the wide range of options can seem like a daunting task. Choosing…
How to Select Best Salesforce Implementation Partner
Selecting a Salesforce Implementation Partner may be both challenging and straightforward at the same time, particularly if this is your first time searching for a…