| Quintiq file version 2.0 | 
| #parent: #root | 
| Method InitVariablesForSalesDemandsInScopeWhenPostponed ( | 
|   CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program, | 
|   const LibOpt_Scope scope | 
| ) const | 
| { | 
|   TextBody: | 
|   [* | 
|     // Leaf sales demands | 
|     traverse( scope.GetSDIPBeforeScopeInRunConst(), Elements.astype( LeafSalesDemandInPeriod ), lsdip ) | 
|     { | 
|       // Type    : LeafSalesDemandInPeriod | 
|       // Variable: 'DelayedSalesDemandQty' UoM: PISP | 
|       lsdip.InitVariablesForPostponedSalesDemands( this, program, scope, lsdip.SDIPBeforeScopeInRun().OptMinPostponementPeriod(), false /* shelf life var only false */ ); | 
|     } | 
|      | 
|     // Aggregated sales demands for higher product level | 
|     traverse( scope.GetSDIPBeforeScopeInRunConst(), Elements.astype( AggregatedSalesDemandInPeriod ), asdip ) | 
|     { | 
|       // There is no decision variable for AggregatedSalesDemandInPeriod | 
|       // - Traverse the children ( Disaggregated Sales demands ) | 
|       traverse( asdip, DisaggregatedSalesDemandInPeriod, dasdip, not dasdip.IsPostponed() ) | 
|       { | 
|         // Postponed or delayed sales demand variable | 
|         // Type    : DelayedDisaggregatedSalesDemandInPeriod | 
|         // Variable: 'DelayedDisaggregatedSalesDemandQty' UoM: PISP | 
|         dasdip.InitVariablesForPostponedSalesDemands( this, program, scope, asdip.SDIPBeforeScopeInRun().OptMinPostponementPeriod(), false /* shelf life var only false */ ); | 
|       } | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |