Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method NeedsExtensionSubPeriod () declarative remote as Boolean 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    lastelement := this.LastCombiElement();       
 | 
    hasminduration := this.HasminDurationCombi(); 
 | 
    hasmaxduration := this.HasMaxDurationCombi(); 
 | 
    hasfixedduration := this.HasFixedStartAndDuration(); 
 | 
     
 | 
    result := this.CanBeExtended() 
 | 
              and lastelement.IsFirstElementTypeInCombi() 
 | 
              and ( hasminduration or hasmaxduration or hasfixedduration ) 
 | 
              and   
 | 
              ( ( hasminduration and not hasmaxduration and this.MinEndTimeFirstElement() > lastelement.OptCampaignUnitSubPeriod().EndTime() ) 
 | 
                or 
 | 
                ( hasmaxduration and this.MaxEndTimeFirstElement() > lastelement.OptCampaignUnitSubPeriod().EndTime() )  
 | 
                or 
 | 
                ( hasfixedduration and this.MinEndTimeFirstElement() > lastelement.OptCampaignUnitSubPeriod().EndTime() ) 
 | 
              ) 
 | 
              and not isnull( lastelement.OptCampaignUnitSubPeriod().NextSubPeriod() ); 
 | 
                 
 | 
    return result; 
 | 
  *] 
 | 
} 
 |