| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CreateCampaignStrategy ( | 
|   String strategyname | 
| ) as stream[Strategy] | 
| { | 
|   TextBody: | 
|   [* | 
|     campaignstrategy := null( Strategy ); | 
|      | 
|     sm := this.GetScenarioManagerStream(); | 
|     streamcampaignstrategy := sm->( scenariomanager ) | 
|     { | 
|       campaignstrategy := select( scenariomanager, Strategy, s, s.Name()= strategyname ); | 
|       if ( isnull( campaignstrategy ) ) | 
|       { | 
|         strategy := select( scenariomanager, Strategy, s, s.Name()= Strategy::DefaultStrategyName() ); | 
|         // Strategy is at Scenario manager level instead of modify existing default strategy, make copy of default strategy and set to desired settings | 
|         campaignstrategy := strategy.Copy( scenariomanager, strategy, strategyname, 99, '', true ); | 
|         campaignstrategy.UseCampaignSequenceOptimizer( true ); | 
|         this.ActivateGoal( campaignstrategy, 'Campaign', 1, 1.0 ) | 
|       } | 
|      return campaignstrategy;   | 
|     } | 
|     return streamcampaignstrategy; | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |