You need to sign in to do that
Don't have an account?
maximum trigger depth exceeded
Hi Everyone,
I have wriiten below trigger to add weekdates to custom object. However I am getting the below error while executing the code. Can anyone help me out to resolve this issue.
trigger AddWeekends on Calendar__c (after insert) {
List<Calendar__c> lstcal = new List<Calendar__c>();
List<Calendar__c> lstcal1 = new List<Calendar__c>();
Date orig = Date.today();
system.debug('++++'+orig);
Date satDate = Date.Parse('01/01/2011');
Date sunDate = Date.Parse('01/02/2011');
integer i;
// Adding all Saturdays
For(i=0; i<52; i++){
Calendar__c cal = new Calendar__c();
cal.Date__c = SatDate;
cal.Holidays__c = 1;
Cal.Description__c = 'Weekend';
system.debug('#####'+SatDate);
upsert Cal;
satDate += 7;
}
// Adding all Sundays
For(i=0; i<52; i++){
Calendar__c cal1 = new Calendar__c();
cal1.Date__c = SunDate;
cal1.Holidays__c =2;
Cal1.Description__c = 'Weekend';
system.debug('$$$$$'+SunDate);
upsert Cal1;
sunDate += 7;
}
}
Error Message: Apex trigger AddWeekends caused an unexpected exception, contact your administrator: AddWeekends: execution of AfterInsert caused by: System.DmlException: Upsert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, AddWeekends: maximum trigger depth exceeded Calendar trigger event AfterInsert for [a0O50000002GU5Q] Calendar trigger event AfterInsert for [a0O50000002GU5R] Calendar trigger event AfterInsert for [a0O50000002GU5S] Calendar trigger event AfterInsert for [a0O50000002GU5T] Calendar trigger event AfterInsert for [a0O50000002GU5U] Calendar trigger event AfterInsert for [a0O50000002GU5V] Calendar trigger event AfterInsert for [a0O50000002GU5W] Calendar trigger event AfterInsert for [a0O50000002GU5X] Calendar trigger event AfterInsert for [a0O50000002GU5Y] Calendar trigger event AfterInsert for [a0O50000002GU5Z] Calendar trigger event AfterInsert for [a0O50000002GU5a] Calendar trigger event AfterInsert for [a0O50000002GU5b] Calendar trigger event AfterInsert for [a0O50000002GU5c] Calendar trigger event AfterInsert for [a0O50000002GU5d] Calendar trigger event AfterInsert for [a0O50000002GU5e] Calendar trigger event AfterInsert for [a0O50000002GU5f]: []: Trigger.AddWeekends: line 15, column 13
Any help is appreciated...
trigger is creating a new calendar records, which is firing the calendar trigger again. You're essentially in an infinite loop, and Apex kicks you out. if you have a trigger that is modifying the same object that you're triggering on, you need to be very careful not to get into these kinds of loops.
why dont you try with the before insert event. though this you can set all the values before the record inserts so this will prevent you to firing the DML statement again.