Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method UpdateUnitCalendar 
 | 
{ 
 | 
  Description: 'Update windows of unit calendar' 
 | 
  TextBody: 
 | 
  [* 
 | 
    now := this.Time(); 
 | 
     
 | 
    windowlength := 0; 
 | 
    historylength :=0; 
 | 
    calendarregistry := this.CalendarRegistry(); 
 | 
     
 | 
    if ( not isnull( calendarregistry ) ) 
 | 
    { 
 | 
      commoncalendar := calendarregistry.CommonCalendar(); 
 | 
      
 | 
      if ( not isnull( commoncalendar ) ) 
 | 
      { 
 | 
        Transaction::Transaction().Propagate( attribute( MacroPlan, Start )); 
 | 
        Transaction::Transaction().Propagate( attribute( MacroPlan, End )); 
 | 
         
 | 
        if( now.IsFinite() and this.Start().IsFinite() and this.End().IsFinite() ) 
 | 
        { 
 | 
           
 | 
          calendarregistry.GetCalendarWindow( windowlength, historylength ); 
 | 
          calendarregistry.UpdateAllCalendars( commoncalendar.Base(), commoncalendar.UpdateInterval(), windowlength, historylength ); 
 | 
        } 
 | 
      }   
 | 
    } 
 | 
  *] 
 | 
} 
 |