You need to sign in to do that
Don't have an account?
Prince Pranav
Contact Trigger against opportunity
Hi all,
Need help in trigger,
Whenever a Contact is updated and only if any of the values for the below fields changed(Oldmap and NewMap values.)
Member Id
Preferred language
Phone
For all the contacts verified against Opportunity Contact roles with IsPrimary = true. Then fetch all the Opportunities and update the values for corresponding 3 fields in Opportunity record.
Costco Member Id
Preferred language
Phone
Need help in trigger,
Whenever a Contact is updated and only if any of the values for the below fields changed(Oldmap and NewMap values.)
Member Id
Preferred language
Phone
For all the contacts verified against Opportunity Contact roles with IsPrimary = true. Then fetch all the Opportunities and update the values for corresponding 3 fields in Opportunity record.
Costco Member Id
Preferred language
Phone
FInd the code for reference :
TRIGGER_ON_CONTACT after update and after insert{
Set < Id > setOfContactIds = new Set < Id > ();
for(Contact contactRecord : triggerNew ) {
if(contactRecord.MEMBER_ID != null && contactRecord.P_LANG != null && contactRecord.PHONE != null && (
triggerOldMap == null || (
contactRecord.MEMBER_ID != triggerOldMap.get(contactRecord.Id).MEMBER_ID || contactRecord.P_LANG != triggerOldMap.get(contactRecord.Id).P_LANG || contactRecord.PHONE != triggerOldMap.get(contactRecord.Id).PHONE )))
setOfContactIds .add(contactRecord.Id);
}
if(setOfContactIds .isEmpty())
return;
List < Opportunity > lstOfOpportunity = new List < Opportunity >();
for(OpportunityContactRole oppContactRole : [SELECT Id, OpportunityId, ContactId,Contact.MEMBER_ID ,Contact.P_LANG , Contact.PHONE IsPrimary FROM OpportunityContactRole WHERE ContactId IN : setOfContactIds AND IsPrimary = True]) {
Opportunity opp = new Opportunity (Id = oppContactRole .OpportunityId);
opp .COSTCO_MEMBER_ID = oppContactRole.Contact.MEMBER_ID;
opp.P_LANG = oppContactRole.Contact.P_LANG .;
opp.PHONE =oppContactRole.Contact.PHONE.;
lstOfOpportunity .add(opp);
}
If(!lstOfOpportunity.isEmpty())
UPDATE lstOfOpportunity;
Cheers!!!!