1.

How To Restrict Any Trigger To Fire Only Once?

Answer»

Triggers can FIRE twice, once before workflows and once after workflows.

“The before and after triggers fire one more time only if SOMETHING needs to be updated, If the FIELDS have already been set to a value, the triggers are not fired again.”

Workaround:

public class HelperClass {

public STATIC boolean firstRun = true;

}

trigger affectedTrigger on ACCOUNT (before delete, after delete, after undelete) {

if(Trigger.isBefore){

if(Trigger.isDelete){

if(HelperClass.firstRun){

Trigger.old[0].addError('Before Account Delete Error');

HelperClass.firstRun=false;

}
}
}
}

Triggers can fire twice, once before workflows and once after workflows.

“The before and after triggers fire one more time only if something needs to be updated, If the fields have already been set to a value, the triggers are not fired again.”

Workaround:

public class HelperClass {

public static boolean firstRun = true;

}

trigger affectedTrigger on Account (before delete, after delete, after undelete) {

if(Trigger.isBefore){

if(Trigger.isDelete){

if(HelperClass.firstRun){

Trigger.old[0].addError('Before Account Delete Error');

HelperClass.firstRun=false;

}
}
}
}



Discussion

No Comment Found