You need to sign in to do that
Don't have an account?
Naomi Harmon
Help Solving System.NullPointerException Error
Hi there! I am extremely new to coding and need help fixing my Apex Trigger below. The Trigger is set up to populate a lookup field on the Lead object that points to my custom CampaignAdGroup__c object. I need help fixing it so that the lookup field ("Campaign_ad_group__c") is populated with a null value in the case that the "CampaignAdGroup_concatenate__c" on my lead record is populated but does not match any Name values in my CampaignAdGroup__c object. Any help is appreciated!
trigger campaignAdGroupLookup on Lead (before update, before insert) {
Set<String> campaignAdGroups = new Set<String>();
for (Lead collectCampaignAdgroupFromLead : Trigger.new) {
campaignAdGroups.add(collectCampaignAdgroupFromLead.CampaignAdGroup_concatenate__c);
}
List<CampaignAdGroup__c> campaignadgroupList = [SELECT id, Name FROM CampaignAdGroup__c WHERE Name IN :campaignAdGroups];
Map<String, CampaignAdGroup__c> campaignAdGroupNameToLeadMap = new Map<String, CampaignAdGroup__c>();
for (CampaignAdGroup__c c : campaignadgroupList) {
campaignAdGroupNameToLeadMap.put(c.Name, c);
}
for (Lead o : Trigger.new) {
if (o.CampaignAdGroup_concatenate__c != null) {
o.Campaign_Ad_Group__c = campaignAdGroupNameToLeadMap.get(o.CampaignAdGroup_concatenate__c).id;
}
else {
o.Campaign_Ad_Group__c = null;
}
}
}
trigger campaignAdGroupLookup on Lead (before update, before insert) {
Set<String> campaignAdGroups = new Set<String>();
for (Lead collectCampaignAdgroupFromLead : Trigger.new) {
campaignAdGroups.add(collectCampaignAdgroupFromLead.CampaignAdGroup_concatenate__c);
}
List<CampaignAdGroup__c> campaignadgroupList = [SELECT id, Name FROM CampaignAdGroup__c WHERE Name IN :campaignAdGroups];
Map<String, CampaignAdGroup__c> campaignAdGroupNameToLeadMap = new Map<String, CampaignAdGroup__c>();
for (CampaignAdGroup__c c : campaignadgroupList) {
campaignAdGroupNameToLeadMap.put(c.Name, c);
}
for (Lead o : Trigger.new) {
if (o.CampaignAdGroup_concatenate__c != null) {
o.Campaign_Ad_Group__c = campaignAdGroupNameToLeadMap.get(o.CampaignAdGroup_concatenate__c).id;
}
else {
o.Campaign_Ad_Group__c = null;
}
}
}
Let us know if this will help you