Skip to main content
HI All,

Depending on country field i want to update manager field on account object.

I have maintain country name and manager detains in custom setting object.

Now i want to get the data from custom setting. 

I have completed this task through trigger , using  "before insert and before update" event.

But i want to complete this task through trigger , using "after insert and after update" event

I have tried this way  :

trigger StateManager1 on Account(after insert, after update)

 {

     Map<String ,StateManager__c> mp=StateManager__c.getAll();

     Set<String> bcKeySet = new Set<String>();

     bcKeySet = mp.keyset();

     Set<Id> setIds=new Set<Id>();

     List<Account> lisAcc=[select id ,name ,Manager__c ,Country__c  from Account where id In : trigger.newMap.keyset()];

     List<Account> acc=new List<Account>();

     for(Account a : lisAcc)

     {

         if(bcKeySet.contains(a.Country__c ))

         {

       

             if(Trigger.isupdate && mp.get(a.Country__c).ManagerName__c!=a.Country__c)

             {

                 a.Manager__c =mp.get(a.Country__c).ManagerName__c;

                 acc.add(a);

             }

             if(Trigger.isinsert)

             {

                 a.Manager__c =mp.get(a.Country__c).ManagerName__c;

                 acc.add(a);

             }

         }

     }

     Update acc;

     

 }

 

 

But i am getting below error :

Error:Apex trigger StateManager1 caused an unexpected exception, contact your administrator: StateManager1: execution of AfterUpdate caused by: System.DmlException: Update failed. First exception on row 0 with id 0012800000R91HiAAJ; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, StateManager1: maximum trigger depth exceeded Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi] Account trigger event AfterUpdate for [0012800000R91Hi]: []: Trigger.StateManager1: line 26, column 1

Please help me how will complete by using after events

Thanks

​Satheesh
3 respuestas
0/9000