function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Rick MacGuiganRick MacGuigan 

Trigger that detects a deleted record

How can I best write a trigger that detects if a record of object (MR_Opportunity) is deleted and create a new record of object (MR_Opportunity_Deletes) with the deleted MR_Opportunity's salesforceID and 'Type' field ? I plan to use the records deleted to delet corresponding Oracle records via Informatica Cloud.
Best Answer chosen by Rick MacGuigan
V V Satyanarayana MaddipatiV V Satyanarayana Maddipati
trigger accDeleteTrigger on MR_Opportunity__c(after delete) {
 
List<MR_Opportunity_Deletes__c> oppDeleteList = new List<MR_Opportunity_Deletes__c>();
    
if(Trigger.isDelete) {
for(MR_Opportunity__c mrOpp : Trigger.old) {
        oppDeleteList .add(new MR_Opportunity__c(deleted_Id__c = mrOpp.Id, type__c = mrOpp.Type__c));
    }
}

if(oppDeleteList.size() > 0) insert oppDeleteList ;
}

 

All Answers

V V Satyanarayana MaddipatiV V Satyanarayana Maddipati
trigger accDeleteTrigger on MR_Opportunity__c(after delete) {
 
List<MR_Opportunity_Deletes__c> oppDeleteList = new List<MR_Opportunity_Deletes__c>();
    
if(Trigger.isDelete) {
for(MR_Opportunity__c mrOpp : Trigger.old) {
        oppDeleteList .add(new MR_Opportunity__c(deleted_Id__c = mrOpp.Id, type__c = mrOpp.Type__c));
    }
}

if(oppDeleteList.size() > 0) insert oppDeleteList ;
}

 
This was selected as the best answer
Rick MacGuiganRick MacGuigan
Thanks for the reply . Actually did this taking before delete. 
 
trigger Deletion on MR_Opportunity__c ( before delete) 
{ 
List<Deleted_Records__c> deleted = new List<Deleted_Records__c>(); 

for(MR_Opportunity__c c : Trigger.old) 
{ 

Deleted_Records__c deletedRecord= new Deleted_Records__c(); 
datetime DT = datetime.now();
deletedRecord.Deleted_SFid__c = c.ID;
deletedRecord.Deleted_Record_Name__c = c.Name;
deletedRecord.Date_Deleted__c = DT;
deletedRecord.Deleted_By__c = UserInfo.getName() ;
deletedRecord.Deleted_Record_Type__c = 'opportunity';
//deletedRecord.Name = c.OpportunityCedentName__c; 
//deletedRecord.Reviewed__c= c.Reviewed__c; 

/*
*/

deleted.add(deletedRecord); 
} 

insert deleted; 
}