• Sneha Goli 7
  • NEWBIE
  • 0 Points
  • Member since 2018

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 0
    Replies
Hi,
Below is my code which looks prety good for me but dont know what the problem is.
I get the below error sayimg Variable does not exist: CampaignId in line 10 and 20 


trigger LeadCampaignTrigger on Lead(before insert, before update){
    
    Id canadaLeadRecTypId = Schema.SObjectType.Lead.getRecordTypeInfosByName().get('Canada Leads').getRecordTypeId();
    Id usLeadRecTypId = Schema.SObjectType.Lead.getRecordTypeInfosByName().get('US Leads').getRecordTypeId();
    
    Map<String, String> CampaignIdMap = new Map<String, String>();
    Set<String> setOfCampaignIds = new Set<String>();
    for(Lead l : Trigger.new){
        if(l.RecordTypeId == canadaLeadRecTypId || l.RecordTypeId == usLeadRecTypId){
           setOfCampaignIds.add(l.CampaignId); 
        }
    }
    
    for(Campaign camp : [SELECT Id, Name FROM Campaign WHERE Id IN :setOfCampaignIds]){
        CampaignIdMap.put(camp.Id, camp.Name);
    }
    
    for(Lead l : Trigger.new){
        if(l.RecordTypeId == canadaLeadRecTypId || l.RecordTypeId == usLeadRecTypId){
            l.Campaign_Name__c = CampaignIdMap.get(l.CampaignId);
        }
    }
}