| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod Create ( | 
|   ScenarioManager scenariomanager, | 
|   Strategy strategy, | 
|   String name, | 
|   Number displayindex, | 
|   String description, | 
|   Real massscalingfactor, | 
|   Real monetaryscalingfactor, | 
|   Real timescalingfactor, | 
|   Real timeaccountscalingfactor, | 
|   Real inventoryholdingscalingfactor, | 
|   DateTime lastautoscalingrun, | 
|   Boolean isvisible | 
| ) as Strategy | 
| { | 
|   Description: 'Create strategy' | 
|   TextBody: | 
|   [* | 
|     // Create new strategy | 
|     newstrategy := scenariomanager.Strategy( relnew, | 
|                                              Name := name, | 
|                                              DisplayIndexForKT := displayindex, | 
|                                              Description := description, | 
|                                              MassScalingFactor := massscalingfactor, | 
|                                              MonetaryScalingFactor := monetaryscalingfactor, | 
|                                              TimeScalingFactor := timescalingfactor, | 
|                                              TimeAccountScalingFactor := timeaccountscalingfactor, | 
|                                              InventoryHoldingScalingFactor := inventoryholdingscalingfactor, | 
|                                              LastAutoScalingRun := lastautoscalingrun, | 
|                                              IsVisible := isvisible ); | 
|      | 
|     // Update new strategy | 
|     newstrategy.Update( name ); | 
|      | 
|     // Check if strategy is null | 
|     if( not isnull( strategy ) ) | 
|     { | 
|       // Traverse all KPIWeigth of the passed in strategy | 
|       traverse( strategy, KPIWeight, kpiweight, kpiweight.KPI( relsize ) >0 ) | 
|       { | 
|         // Create/Update KPIWeight of the new strategy | 
|         KPIWeight::Create( newstrategy, kpiweight.KPI(), kpiweight.Weight(), kpiweight.Level() ); | 
|       } | 
|     } | 
|     else | 
|     { | 
|       // Create/Update KPIWeight of the new strategy | 
|       traverse( scenariomanager, KPI, kpi ) | 
|       { | 
|         KPIWeight::Create( newstrategy, kpi, 0.0, 0 ); | 
|       } | 
|     } | 
|      | 
|     // To be used in the scenario comparison | 
|     if( scenariomanager.Strategy( relsize ) = 1 ) | 
|     { | 
|       scenariomanager.ActiveStrategy( relset, newstrategy ); | 
|     } | 
|      | 
|     return newstrategy; | 
|   *] | 
| } |