Quintiq file version 2.0 #parent: #root Method PTF_TestLaunchOptimizer ( output Real duration, output String response, String strategystr, String optimizerstr, String starttime, String endtime ) as Boolean id:Method_LibPTF_pnlTestRunner_PTF_TestLaunchOptimizer { #keys: '[136682.0.314444061]' Body: [* return true; /* DISABLED mjn3 issuccessful := false; // get all the relevent data to run optimizer // this was take out from the startprecisionctr to prevent the data retrieve take too long // since this test only tested on the performance of run optimizer not data retrieve strategy := select( ScenarioManager, Strategy, str, str.Name() = strategystr ); MacroPlan.DuplicateStrategySettings( strategy, false ); periodstart := null( Period_MP ); periodend := null( Period_MP ); convert := StringToDateTime::StandardConverter(); convert.SetCustomConversion(); convert.CustomFormatString( 'dd-MMM-yyyy' ); if( convert.CanConvert( starttime ) and convert.CanConvert( endtime ) ) { startdatetime := convert.Convert( starttime ); enddatetime := convert.Convert( endtime ); periodstart := maxselect( MacroPlan, Period_MP, p, p.Start() <= startdatetime, p.Start() ); periodend := minselect( MacroPlan, Period_MP, p, p.End() >= enddatetime, p.End() ); } preconditionflag := not isnull( strategy ) and not isnull( periodstart ) and not isnull( periodend ); // Your precondition before executing the action if( preconditionflag ) { startprecisionctr := OS::PrecisionCounter(); this.PTF_ExecutePreAsyncAction(); isautotunecopy := false; hasautotunecopy := false; issmartplan := false; issmartplanforperiodtask := false; hastotalsupplyuser := false; totalsupplyuser := 0.0; isupstreamsmartplan := false; ismiddleoutsmartplan := false; isonlyplanonestepupstream := false; isforcenoautoscaling := false; ispostprocessing := false; isoverridelockedplanning := true; smartplanpispips := null( ProductInStockingPointInPeriodPlannings ); isinventoryoptimization := false; isusingselectedunits := false; units := null( Units ); MacroPlan.Algorithm().SynchronizeAllConstraintScaleType(); MacroPlan.Algorithm().AlgorithmParameter().Update( issmartplan, issmartplanforperiodtask, hastotalsupplyuser, totalsupplyuser, isupstreamsmartplan, ismiddleoutsmartplan, isonlyplanonestepupstream, ispostprocessing, isforcenoautoscaling, isoverridelockedplanning, isinventoryoptimization, isusingselectedunits, false ); MacroPlan.UpdateParameters( isautotunecopy, hasautotunecopy, smartplanpispips, MacroPlan.StrategyMacroPlan(), ScenarioManager, periodstart, periodend ); smartplanpispip := null( ProductInStockingPointInPeriodPlannings ); this.PTF_GetMPPTFLibrary().MacroPlan().RunCapacityPlanningAlgorithm( smartplanpispip, periodstart, periodend, units, null( Process_MP) ); //12570 //this.PTF_GetMPPTFLibrary().MacroPlan().RunOptimizer( strategy, param, true, periodstart, periodend, // true, null( Units ), true, null( ProductInStockingPoint_MPs ), false ); duration := this.PTF_GetDurationInMilisecond( startprecisionctr ); response := 'Launch Optimizer' ; issuccessful := true; } else { response := 'PTF_TestCreateData: Precondition failed because < input value not correct >'; // Your precondition failed reason } return issuccessful; *] }