Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method UpdatePeriodSelections ( 
 | 
  PeriodSpecification_MP periodspec, 
 | 
  Number past, 
 | 
  Number future 
 | 
) id:Method_ApplicationMacroPlanner_UpdatePeriodSelections 
 | 
{ 
 | 
  #keys: '[138546.0.807232637]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Extract pastindex number of historical periods from start of planning 
 | 
    // and futureindex number of future periods into data holder periods 
 | 
    startofplanning := ifexpr( periodspec.IsDummyPlanningPeriod(),  
 | 
                               MacroPlan.StartOfPlanningPeriod(), 
 | 
                               periodspec.StartOfPlanningPeriod() ); 
 | 
    if( not isnull( startofplanning ) ) 
 | 
    { 
 | 
      periods := selectsortedset( periodspec, PeriodSpecificationPeriod.Period_MP, period, true, period.Start() ); 
 | 
       
 | 
      index := periods.Find( startofplanning ); 
 | 
      pastindex := index - past; 
 | 
      futureindex := index + future; 
 | 
      periods:= guard( periods.SelectRange( pastindex, futureindex ), &periods ); 
 | 
       
 | 
      DataHolderPeriods.Data( periods.Copy() ); 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      DataHolderPeriods.Data().Flush(); 
 | 
    } 
 | 
  *] 
 | 
} 
 |