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' } 
 | 
} 
 |