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
Ketu PatelKetu Patel 

Apex Triggersss

Write a trigger to display all trigger context variables using debug logs.
AnkaiahAnkaiah (Salesforce Developers) 
Hi Ketu,

Can you explain more about your issue?

Thanks!!
Ketu PatelKetu Patel
All triggers define implicit variables that allow developers to access run-time context. These variables are contained in the system. Trigger class.
AnkaiahAnkaiah (Salesforce Developers) 
trigger should be like this.
trigger AccountTrigger on Account(Before Insert, before update, before delete, after insert, after update,after delete,after undelete){

If(Trigger.Isinsert && Trigger.Isbefore){
//run the logic
}

If(Trigger.IsUpdate && Trigger.Isbefore){
//run the logic
}

If(Trigger.IsDelete && Trigger.Isbefore){
//run the logic
}

If(Trigger.Isinsert && Trigger.IsAfter){
//run the logic
}

If(Trigger.IsUpdate && Trigger.IsAfter){
//run the logic
}

If(Trigger.IsDelete && Trigger.IsAfter){
//run the logic
}

If(Trigger.undelete && Trigger.IsAfter){
//run the logic
}



}

If this helps, Please mark it as best answer.

Thanks!!​​​​​​​
Shams TabrezShams Tabrez
Hi Ketu,

Use this below code; you will get to know which context variables fire on which vocations of events.
trigger LeadTrigger on Lead (before insert, before update, before delete, after insert, after update, after delete, after undelete) {
    
    if(trigger.isBefore && trigger.isInsert){
        system.debug('Before Insert:');
        system.debug('trigger.new: '+trigger.new);
        system.debug('trigger.newmap: '+trigger.newMap);
        system.debug('trigger.old: '+trigger.old);
        system.debug('trigger.oldMap: '+trigger.oldMap);
    }
    
    if(trigger.isAfter && trigger.isInsert){
        system.debug('After Insert:');
        system.debug('trigger.new: '+trigger.new);
        system.debug('trigger.newmap: '+trigger.newMap);
        system.debug('trigger.old: '+trigger.old);
        system.debug('trigger.oldMap: '+trigger.oldMap);
    }
    
    if(trigger.isBefore && trigger.isUpdate){
        system.debug('Before Update:');
        system.debug('trigger.new: '+trigger.new);
        system.debug('trigger.newmap: '+trigger.newMap);
        system.debug('trigger.old: '+trigger.old);
        system.debug('trigger.oldMap: '+trigger.oldMap);
    }
    
    if(trigger.isAfter && trigger.isUpdate){
        system.debug('After Update:');
        system.debug('trigger.new: '+trigger.new);
        system.debug('trigger.newmap: '+trigger.newMap);
        system.debug('trigger.old: '+trigger.old);
        system.debug('trigger.oldMap: '+trigger.oldMap);
    }
    
    if(trigger.isBefore && trigger.isDelete){
        system.debug('Before Delete:');
        system.debug('trigger.new: '+trigger.new);
        system.debug('trigger.newmap: '+trigger.newMap);
        system.debug('trigger.old: '+trigger.old);
        system.debug('trigger.oldMap: '+trigger.oldMap);
    }
    
    if(trigger.isAfter && trigger.isDelete){
        system.debug('After Delete:');
        system.debug('trigger.new: '+trigger.new);
        system.debug('trigger.newmap: '+trigger.newMap);
        system.debug('trigger.old: '+trigger.old);
        system.debug('trigger.oldMap: '+trigger.oldMap);
    }
    
    if(trigger.isAfter && trigger.isUndelete){
        system.debug('After Undelete:');
        system.debug('trigger.new: '+trigger.new);
        system.debug('trigger.newmap: '+trigger.newMap);
        system.debug('trigger.old: '+trigger.old);
        system.debug('trigger.oldMap: '+trigger.oldMap);
    }
    
}

If this is helpful, please mark it as the best answer.

Thanks,
Tabrez