lazhen
2025-01-07 b3987122cbbc46c5c59d3173f37fca3170b6dc5a
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
36
37
38
39
40
41
Quintiq file version 2.0
#parent: #root
Method CreateScenarioAndImportDataFromPath (
  MPSync mpsync,
  ScenarioManager sm
)
{
  Description: 'This method creates a new scenario and imports data from the path specified in GetTestDataPath'
  TextBody:
  [*
    scenarionode := select( sm, RootScenarioFolder, root, true, true );
    datasetname := this.GetUTFDatasetname();
    
    // Create a scenario
    scenario := sm.CreateScenarioMP( scenarionode,
                                     datasetname,
                                     '',
                                     '',
                                     GlobalParameters_MP::GetMemoryOnlyStateString(),
                                     '',
                                     GlobalParameters_MP::GetUserName() );
    
    opt := DatasetFindOptions::Construct();
    mp := MDSMacroPlan::Find( opt );
    
    mp->( mpdataset ) {
      if( scenario.DatasetMDSID() = mpdataset.MDSID() )
      {
        // Dataset name must be same as UTF class name
        datasetname := this.GetUTFDatasetname();
        scenario.DatasetName( datasetname );
        mpdataset.DatasetName( datasetname );
        mpdataset.MDSMacroPlan().Name( datasetname );
        
        // Import and synchronize data
        mpdataset.SynchronizeAllFromDefinitionsDirectory( this.GetTestDataPath() );
      }
    }
  *]
  InterfaceProperties { Accessibility: 'Module' }
}