| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SetSlidingWindowPeriods ( | 
|   Period_MP firstperiodinwindow, | 
|   const RunContextForCapacityPlanning runcontext, | 
|   LibOpt_Scope scope | 
| ) | 
| { | 
|   Description: 'Sets the relation from algorithm run to the periods in the active sliding window' | 
|   TextBody: | 
|   [* | 
|     period := firstperiodinwindow; | 
|     isstopconditionreached := false; | 
|     for( i:=1; | 
|          i <= runcontext.NumberOfPeriodsInWindow() | 
|          and not isnull( period ) | 
|          and not isstopconditionreached; | 
|          i++ ) | 
|     { | 
|       scope.Add( period.PeriodInSlidingWindow( relnew ) );  | 
|       if( guard( scope.Contains(  period.NextPlanningPeriod().PeriodInOptimizerRun() ), false ) ) | 
|       { | 
|         period := period.NextPlanningPeriod(); | 
|       } | 
|       else | 
|       { | 
|         isstopconditionreached := true; | 
|       } | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |