| Quintiq file version 2.0 | 
| #parent: Toolbar/btnOk | 
| Response OnClick () id:Response_Toolbar_btnOk_OnClick | 
| { | 
|   #keys: '[11660.0.771099266]' | 
|   Body: | 
|   [* | 
|     // Run algorithm | 
|     // Running the optimizer asynchronous after copy the optimizer setting from scenario manager | 
|     issmartplan := false; | 
|     issmartplanperiodtask := false;  | 
|     hastotalsupplyuser := false; | 
|     totalsupplyuser := 0.0; | 
|     smartplanpispip := null( ProductInStockingPointInPeriodPlannings ); | 
|     forcenoautoscaling := false;  | 
|     isupstreamsmartplan := false; | 
|     ismiddleoutsmartplan := false; | 
|     isonlyplanonestepupstream := false; | 
|     ispostprocessing := false; | 
|     isusingselectedunits := false; | 
|     units := null( Units ); | 
|      | 
|     MacroPlan.RunOptimizer( issmartplan,                                           // FIX for time being call into this -- replace by call into meta mip | 
|                             issmartplanperiodtask,  | 
|                             hastotalsupplyuser, | 
|                             totalsupplyuser, | 
|                             smartplanpispip, | 
|                             isupstreamsmartplan, | 
|                             ismiddleoutsmartplan, | 
|                             isonlyplanonestepupstream, | 
|                             ispostprocessing, | 
|                             forcenoautoscaling,  | 
|                             Dialog.SelectionStrategy().Data(), | 
|                             Dialog.CheckBoxOverrideManualPlanning().Checked(), | 
|                             Dialog.SelectionPeriodFrom().Data(), | 
|                             Dialog.SelectionPeriodTo().Data(), | 
|                             false, | 
|                             isusingselectedunits, | 
|                             units,  // IsInventoryOptimizationRun  | 
|                             null( Process_MP ), | 
|                             SelectionOptimizerPuzzle.Data() ); // OptimizerPuzzle, used to change the last puzzle used | 
|      | 
|     Application.RemoveHistory(); | 
|      | 
|     Dialog.Close(); | 
|   *] | 
|   DefinitionID: 'Responsedef_GUIButtonBase_OnClick' | 
|   Precondition: | 
|   [* | 
|     activescenario := DataHolderActiveScenario.Data(); | 
|     return not ScenarioManager::HasOptimizerRun( ScenarioManager, activescenario, feedback ) | 
|            and MacroPlan.CanPlan( feedback ) | 
|            and ScenarioManager::HasCapacityForMaximumNumberofConcurrentRuns( ScenarioManager, activescenario, true, feedback ) | 
|            and AlgorithmRun::ValidateInputSelectOptimizer( feedback, | 
|                                                            SelectionOptimizerPuzzle.Data(), | 
|                                                            SelectionStrategy.Data(), | 
|                                                            SelectionPeriodFrom.Data(), | 
|                                                            SelectionPeriodTo.Data(), | 
|                                                            MacroPlan, false );  //iswebapp = FALSE | 
|   *] | 
|   UserRequiresReadWrite: true | 
| } |