| Quintiq file version 2.0 | 
| #parent: #root | 
| Method StoreSalesVarProperties ( | 
|   CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program, | 
|   LibOpt_Scope scope | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     traverse( scope.GetLeafSalesDemandInPeriodInRun(), Elements, lsdip )  | 
|     { | 
|         var := program.SalesDemandQtyVariables().Get( lsdip );  | 
|         lsdip.SalesDemandQtyVarInitLowerBound( var.LowerBound() );  | 
|         lsdip.SalesDemandQtyVarInitUpperBound( var.UpperBound() );  | 
|     } | 
|      | 
|     traverse( scope.GetAggregatedSalesDemandInPeriodInRun(), Elements, asdip )  | 
|     { | 
|       // There is no decision variable for AggregatedSalesDemandInPeriod | 
|       // Traverse the children ( Disaggregated Sales demands ) | 
|       traverse ( asdip,  | 
|                  DisaggregatedSalesDemandInPeriod,  | 
|                  dasdip, | 
|                  not dasdip.IsPostponed() | 
|                  and scope.Contains( dasdip.AsPlanningBaseSalesDemandInPeriod().PISPIPInOptimizerRun() ) ) | 
|       { | 
|         // Type    : DisaggregatedSalesDemandInPeriod | 
|         // Variable: 'DisaggregatedSalesDemandQty' UoM: PISP | 
|         var := program.DisaggregatedSalesDemandQtyVariables().Get( dasdip ); | 
|         dasdip.SalesDemandQtyVarInitLowerBound( var.LowerBound() );  | 
|         dasdip.SalesDemandQtyVarInitUpperBound( var.UpperBound() );  | 
|       } | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |