function readOnly(count){ }
Don't have an account?
Search for an answer or ask a question of the zone or Customer Support.
You need to sign in to do that
Sign in to start searching questions
Signup for a Developer Edition
Sign in to start a discussion
Trigger HistoryTrack on CampaignMember (after insert, before update, before delete) { List<CampaignHistory__c> ch= new List<CampaignHistory__c>(); List<CampaignMember> cmOld= Trigger.old; List<String> changes = new List<String>(); List<String> CampHisId = new List<String>(); integer i=0; if(Trigger.isDelete){ for(CampaignMember cm: Trigger.old ){ String s; s='Campaign Member id ' + cm.id + 'is Deleted from campaign id: '+ cm.campaignId + 'by user '+ userinfo.getUserName(); changes.add(s); CampHisId.add(cm.campaignId); CampaignHistory__c c= new CampaignHistory__c(); c.Name='History'+DateTime.now(); System.debug('CName:'+c.Name); c.CampaignId__c=CampHisId[i]; System.debug('CampaignId:'+c.CampaignId__c); c.HistoryDetails__c=changes[i]; System.debug('CHistory:'+c.HistoryDetails__c); ch.add(c); i++; } }else { for(CampaignMember cm: Trigger.new ){ String s; if((Trigger.isUpdate)){ if(cmOld[i].status!=cm.status){ s='on dated ' + DateTime.now() + ' status changed from ' + cmOld[i].status + ' to ' + cm.status + ' by user ' + userinfo.getUserName(); changes.add(s); CampHisId.add(cm.campaignId); CampaignHistory__c c= new CampaignHistory__c(); c.Name='History'+DateTime.now(); System.debug('CName:'+c.Name); c.CampaignId__c=CampHisId[i]; System.debug('CampaignId:'+c.CampaignId__c); c.HistoryDetails__c=changes[i]; System.debug('CHistory:'+c.HistoryDetails__c); ch.add(c); }else if(cmOld[i].campaignId!=cm.campaignId){ s='Changed Campaign id from : '+ cmOld[i].campaignId + 'to :' + cm.campaignId + ' by user '+ userinfo.getUserName(); changes.add(s); CampHisId.add(cm.campaignId); CampaignHistory__c c= new CampaignHistory__c(); c.Name='History'+DateTime.now(); System.debug('CName:'+c.Name); c.CampaignId__c=CampHisId[i]; System.debug('CampaignId:'+c.CampaignId__c); c.HistoryDetails__c=changes[i]; System.debug('CHistory:'+c.HistoryDetails__c); ch.add(c); } }else if(Trigger.isInsert){ s='A new Campaign Member id : ' + cm.id + ' is added to Campaign id :' + cm.campaignId +' by user '+ userinfo.getUserName(); changes.add(s); CampHisId.add(cm.campaignId); System.debug('s>>>'+s); CampaignHistory__c c= new CampaignHistory__c(); c.Name='History'+DateTime.now(); System.debug('CName:'+c.Name); c.CampaignId__c=CampHisId[i]; System.debug('CampaignId:'+c.CampaignId__c); c.HistoryDetails__c=changes[i]; System.debug('CHistory:'+c.HistoryDetails__c); ch.add(c); } i++; } } insert ch; }
before update or after update both will work
Refer this code and link
https://help.salesforce.com/articleView?id=000182237&type=1
If I want to Audit traili data/ Records which are sent to Recycle Bin then which trigger will be suitable to use ?