| Quintiq file version 2.0 | 
| #parent: #root | 
| Method DebugWriteVariables ( | 
|   CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program, | 
|   LibOpt_Scope scope, | 
|   ProductInStockingPointInPeriodPlannings pispipsinrun | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     if ( this.MacroPlan().Optimization().DebugMode() )  | 
|     { | 
|       traverse(  scope.GetStockingPointInPeriodInOptimizerRun(), Elements, spip, not spip.StockingPoint_MP().IsPlannedInfinite() )  | 
|       { | 
|         invvar := program.SPInvQtyVariables().Get( spip ); | 
|         overloadvar := program.StockingPointCapacityOverloadedVariables().Get( spip );  | 
|         spip.DebugSPCapacityOverloadedVariable( overloadvar.OptimalValue() );  | 
|         spip.DebugSPInventoryQtyVariable( invvar.OptimalValue() );  | 
|       } | 
|        | 
|       traverse( pispipsinrun, Elements.astype( ProductInStockingPointInPeriodPlanningLeaf ), pleaf )  | 
|       { | 
|         pleaf.DebugInventoryEndVariable( program.InvQtyVariables().Get( pleaf ).OptimalValue() );  | 
|          | 
|         if ( pleaf.ProductInStockingPoint_MP().IsOptShelfLife() or pleaf.ProductInStockingPoint_MP().IsOptMaturation() ) | 
|         { | 
|           cwstr := '';  | 
|           cpstr := '';  | 
|           cdstr := '';  | 
|           traverse( pleaf, ProductInStockingPoint_MP.IncomingShelfLifeDay, islday )  | 
|           { | 
|             varcd := program.CumulativeDemandVariables().Get( pleaf, islday ); | 
|             varcw := program.CumulativeWasteVariables().Get( pleaf,islday ); | 
|             varcp := program.CumulativeProductionVariables().Get( pleaf, islday );  | 
|              | 
|             cwstr := cwstr + ',' + [String] varcw.OptimalValue() + '[' + [String] islday.ShelfLifeDays() + ']';  | 
|             cpstr := cpstr + ',' + [String] varcp.OptimalValue() + '[' + [String] islday.ShelfLifeDays() + ']';  | 
|             cdstr := cdstr + ',' + [String] varcd.OptimalValue() + '[' + [String] islday.ShelfLifeDays() + ']';  | 
|           } | 
|           pleaf.DebugOptimizerCumulProduction(cpstr);  | 
|           pleaf.DebugOptimizerCumulDemand(cdstr);  | 
|           pleaf.DebugOptimizerWaste(cwstr); | 
|         }  | 
|       } | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |