You need to sign in to do that
Don't have an account?

CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
Hi,
I am getting below error in Apex trigger which updates field on parent obj based on value in child obj record
first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, updateRegion: maximum trigger depth exceeded SampleMasterObject
Apex Trigger Code
Error: Invalid Data.
Review all error messages below to correct your data.
Apex trigger updateRegion caused an unexpected exception, contact your administrator: updateRegion: execution of AfterUpdate caused by: System.DmlException: Update failed. First exception on row 0 with id a0b90000009eu9JAAQ; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, updateRegion: maximum trigger depth exceeded SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J]: []: Trigger.updateRegion: line 31, column 1
Information:
I am getting below error in Apex trigger which updates field on parent obj based on value in child obj record
first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, updateRegion: maximum trigger depth exceeded SampleMasterObject
Apex Trigger Code
trigger updateRegion on SampleMasterObject__c (after insert, after update) { ID smoId; String country; //String region; for(SampleMasterObject__c s : Trigger.New){ smoId = s.Id; system.debug('@@@@@@smoId@@@@@@@@@@ : '+smoId); } List<SampleChild1__c> lsc = new List<SampleChild1__c>(); lsc = [Select Id, Country__c from SampleChild1__c where SampleMasterObject__c =: smoId]; system.debug('@@@@@@lsc@@@@@@@@@@ : '+lsc); for(SampleChild1__c sc : lsc) { country = sc.Country__c; system.debug('@@@@@@country@@@@@@@@@@ : '+country); } If(country == 'IN') { SampleMasterObject__c sm = new SampleMasterObject__c(Id=smoId, Region__c = 'APAC'); //sm.Id = smoId; //sm.Region__c = 'APAC'; system.debug('@@@@@@sm.Region__c@@@@@@@@@@ : '+sm.Region__c); update sm; } }Full Error Statement
Error: Invalid Data.
Review all error messages below to correct your data.
Apex trigger updateRegion caused an unexpected exception, contact your administrator: updateRegion: execution of AfterUpdate caused by: System.DmlException: Update failed. First exception on row 0 with id a0b90000009eu9JAAQ; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, updateRegion: maximum trigger depth exceeded SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J] SampleMasterObject trigger event AfterUpdate for [a0b90000009eu9J]: []: Trigger.updateRegion: line 31, column 1
Information:
Change your trigger to add this on the top
All Answers
Change your trigger to add this on the top
should be public otherwise you can not access it in trigger :)
Thanks a lot.
What will happen if the child object has multiple records.
for(SampleMasterObject__c s : Trigger.New){
smoId = s.Id;
system.debug('@@@@@@smoId@@@@@@@@@@ : '+smoId);
}
similarly you need to have List<SampleMasterObject__c> when you update.
if( stopRecusion.stopRecursiveTriggerRun ) { return; }
stopRecusion.stopRecursiveTriggerRun = true;