• Eunice Patajo 9
  • NEWBIE
  • 10 Points
  • Member since 2016

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 2
    Replies
Hi everyone,

I have two objects: Segment Brief Tracking and Segment Category Mapping. I've created a trigger that is supposed to get the Segment Category Mapping ID that corresponds to the Segment Name from Segment Brief Tracking - mapped to Segment Name field on Segment Category Mapping.

I'm not getting an error but the Segment Category Mapping ID field is not being populated at all.

I've only started dabbling into Apex triggers so it'd be great to have an expert's opinion on how this trigger could be written better/why it's not working.

Thank you!
 
trigger SegmentBriefTracking_AddSegmentID on Segment_Brief_Tracking__c (before insert, before update) {

//Create a Set of all the Segment Names to be Uploaded

Set<String> SegmentNames = new Set<String>();

//Variable declaration

for (Segment_Brief_Tracking__c segbrieftrack : Trigger.new)
if(segbrieftrack.Segment_Name_For_Upload__c!=''){
SegmentNames.add(segbrieftrack.Segment_Name_For_Upload__c);}

//Map Segment Name for Upload to Segment Taxonomy Name

Map<String,Segment_Category_Mapping__c> mastersheet = new Map<String,Segment_Category_Mapping__c>([Select Id, Segment_Name__c FROM Segment_Category_Mapping__c WHERE Segment_Name__c IN :SegmentNames]);

//Add Segment Category Mapping ID to Segment Brief Tracking Record

for (Segment_Brief_Tracking__c segbrieftrack : Trigger.new)
if(segbrieftrack.Segment_Category_Mapping_ID__c!=null && segbrieftrack.Segment_Category_Mapping_ID__c!=''){
segbrieftrack.Segment_Category_Mapping_ID__c=mastersheet.get(segbrieftrack.Segment_Name_For_Upload__c).Id;}
}

 
Hi everyone,

I have two objects: Segment Brief Tracking and Segment Category Mapping. I've created a trigger that is supposed to get the Segment Category Mapping ID that corresponds to the Segment Name from Segment Brief Tracking - mapped to Segment Name field on Segment Category Mapping.

I'm not getting an error but the Segment Category Mapping ID field is not being populated at all.

I've only started dabbling into Apex triggers so it'd be great to have an expert's opinion on how this trigger could be written better/why it's not working.

Thank you!
 
trigger SegmentBriefTracking_AddSegmentID on Segment_Brief_Tracking__c (before insert, before update) {

//Create a Set of all the Segment Names to be Uploaded

Set<String> SegmentNames = new Set<String>();

//Variable declaration

for (Segment_Brief_Tracking__c segbrieftrack : Trigger.new)
if(segbrieftrack.Segment_Name_For_Upload__c!=''){
SegmentNames.add(segbrieftrack.Segment_Name_For_Upload__c);}

//Map Segment Name for Upload to Segment Taxonomy Name

Map<String,Segment_Category_Mapping__c> mastersheet = new Map<String,Segment_Category_Mapping__c>([Select Id, Segment_Name__c FROM Segment_Category_Mapping__c WHERE Segment_Name__c IN :SegmentNames]);

//Add Segment Category Mapping ID to Segment Brief Tracking Record

for (Segment_Brief_Tracking__c segbrieftrack : Trigger.new)
if(segbrieftrack.Segment_Category_Mapping_ID__c!=null && segbrieftrack.Segment_Category_Mapping_ID__c!=''){
segbrieftrack.Segment_Category_Mapping_ID__c=mastersheet.get(segbrieftrack.Segment_Name_For_Upload__c).Id;}
}