admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Quintiq file version 2.0
#parent: #root
Method CreateScenario (
  String scenarioName,
  String storageState,
  output String feedback_o
)
{
  TextBody:
  [*
    // derred Nov-11-2014 (created)
    // DO NOT set LatestScenarioName directly as scenario creation might failed
    
    scenarioManager := this.ScenarioManager();
    scenario := select( scenarioManager, ScenarioNode.astype( ScenarioMP ), scenario, scenario.DatasetName() = scenarioName );
    rootFolder := select( scenarioManager, ScenarioNode.astype( ScenarioFolder ), folder, folder.Name() = GlobalParameters_MP::GetFolderRoot() );
    
    if( isnull( scenario ) )
    {
      scenario := scenarioManager.CreateScenarioMPForBenchmarking( rootFolder, scenarioName, scenarioName, storageState );
    
      // add authorization to all user groups to scenario
      scenario.AuthorizeAll();
    
      kb := select( this.ScenarioManager().MDSScenarioManager(), MDSKBs, kb, kb.Name().ToUpper() = this.ScenarioManager().CompanyKBName().ToUpper() );
      this.ScenarioManager().UpdateScenarioKBInfo( scenario, kb.Name(), kb.Branch(), kb.ChangeNr(), scenario.State(), kb.Description() );
    
      feedback_o := 'Create Scenario: Scenario ' + scenarioName + ' has been created successfully';
    }
    else
    {
      feedback_o := "Create Scenario: Scenario " + scenarioName + " already exists";
    }
  *]
}