+ Start a Discussion
sudhakar reddy 13sudhakar reddy 13 

How do u stop Recursive trigger

How do u stop Recursive trigger 
suresh dupadasuresh dupada
In order to avoid the situation of recursive call, make sure your trigger is getting executed only one time. To do so, you can create a class with a static boolean variable with default value true.

In the trigger, before executing your code keep a check that the variable is true or not.

Once you check make the variable false.



Class code :

public Class checkRecursive{
    private static boolean run = true;
    public static boolean runOnce(){
    if(run){
     run=false;
     return true;
    }else{
        return run;
    }
    }
}


Trigger code :

trigger updateTrigger on anyObject(after update) {

    if(checkRecursive.runOnce())
    {
    //write your code here            
    }

}
Muthuraj TMuthuraj T

Hi,
Mostly this happens in update trigger. Always compare OldMap and Trigger.New values before updating. 

And you can use static variable and check before updating.