Quintiq file version 2.0 #parent: #root Method RunOptimizer ( structured[ProductInStockingPointInPeriodPlanning] smartplanpispips, Boolean hastotalsupplyuser, Boolean isonlyplanonestepupstream, Boolean isoverwritemanual ) id:Method_DialogSmartPlan_RunOptimizer { #keys: '[122872.1.872833979]' Body: [* // runs the optimizer based on last selected options isUsingSelectedUnits := CheckBoxIsSelectedUnits.Checked(); units := DataHolderSelectedUnitsForSmartPlan.Data() run := MacroPlan.GetLastAlgorithmRun(); issmartplan := true; issmartplanforperiodtask := false; isupstreamsmartplan := RadioButtonGroupUpstreamDownstream.BoundValue() = SmartPlanSetting::Upstream(); ismiddleoutsmartplan := RadioButtonGroupUpstreamDownstream.BoundValue() = SmartPlanSetting::MiddleOut(); totalsupplyuser := 0.0; if( hastotalsupplyuser ) { totalsupplyuser := ApplicationLibMacroPlanner.FormatStringToReal( EditorTotalSupply.Text() ); } strategy := SelectionStrategy.Data(); periodstart := MacroPlan.FirstPlanningPeriod(); periodend := MacroPlan.LastPlanningPeriod(); AlgorithmRun::GetLastOptimizationHorizon( run, MacroPlan, periodstart, periodend ); MacroPlan.RunSmartPlan( issmartplan, issmartplanforperiodtask, smartplanpispips, hastotalsupplyuser, totalsupplyuser, isupstreamsmartplan, ismiddleoutsmartplan, isonlyplanonestepupstream, strategy, isoverwritemanual, periodstart, periodend, isUsingSelectedUnits, units, null( Process_MP ), false ); if ( not MacroPlan.GlobalParameters_MP().RunSmartPlanSynchronously() ) { Application.RemoveHistory(); } *] }