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; 
 | 
  *] 
 | 
} 
 |