function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Sandra WicketSandra Wicket 

Trigger: Create Case by Date

Hi there, 
i created the trigger below.. I got one problem. Everytime the trigger create two Cases, but i dont know why ^^ Could you help me pls ?  Thanks for your help guys ! 

trigger createCaseafterAccountv2 on ACCOUNT(after update)
{
    List<CASE> caToInsert = new List<CASE>();
    for(ACCOUNT acc : Trigger.new)
    {
    if(acc.Vertragsbeginnro__c == System.Today () && acc.RecordTypeID == '03r03rxxxxxxxxxxx'|| Test.isRunningTest() )
    {
            if( ( acc.Vertragsbeginnro__c != Trigger.oldMap.get(Acc.id).Vertragsbeginnro__c) || Test.isRunningTest() )
            {
                 CASE cas = new CASE(AccountID=acc.id);
                 cas.subject = 'Test';
                 cas.origin = 'test';
                 cas.Status = 'in Bearbeitung';
                 cas.betreut_von__c = 'Walter White';
                 cas.Wiedervorlage_am__C = acc.Vertragsendero__c.addDays(-120);
                 
                 caToInsert.add(cas);
            }
            }
    }
    try{
    insert caToInsert;
    
    }
    catch(system.Dmlexception e){
    system.debug(e);
    }
}
karthikeyan perumalkarthikeyan perumal
Hello EL Batman, 

could you Please let me know if there is any workflow  field update is associated with Account  object? 

Thanks
karthik
 
Sandra WicketSandra Wicket
hi karthikeyan, 
thanks for your quick response!  vertrangsbeginnro__c & vertragsendero__c are rollup fields  (Opportunity). 
karthikeyan perumalkarthikeyan perumal
Hello EL Batman, 

if any workflow Rule----> Field Update is active for Account then trigger  excute 2 time.

use below Code 
 
trigger createCaseafterAccountv2 on ACCOUNT(after update)
{
    List<CASE> caToInsert = new List<CASE>();
    for(ACCOUNT acc : Trigger.new)
    {
	
    if(acc.Vertragsbeginnro__c == System.Today () && acc.RecordTypeID == '03r03rxxxxxxxxxxx'|| Test.isRunningTest() )
    {
            if( ( acc.Vertragsbeginnro__c != Trigger.oldMap.get(Acc.id).Vertragsbeginnro__c) || Test.isRunningTest() )
            {
                 CASE cas = new CASE(AccountID=acc.id);
                 cas.subject = 'Test';
                 cas.origin = 'test';
                 cas.Status = 'in Bearbeitung';
                 cas.betreut_von__c = 'Walter White';
                 cas.Wiedervorlage_am__C = acc.Vertragsendero__c.addDays(-120);
                 
                 caToInsert.add(cas);
            }
            }
    }
    try{
	if(Trigger.isExecuting)
	{
    insert caToInsert;
	}
    
    }
    catch(system.Dmlexception e){
    system.debug(e);
    }
	
}

Hope it will help you 

Thanks
karthik