yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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
Quintiq file version 2.0
#parent: #root
Method Copy (
  String newscenarioname
) as ScenarioMP
{
  Description: 'Copy a scenario and set the new scenario name with the defined scenario name'
  TextBody:
  [*
    // ying ying Mar-14-2014 (created)
    macroplanmdsid := MDSID::Create( this.DatasetMDSID() );
    datasetname := ScenarioManager::GetUniqueCompanyDatasetName( ScenarioManager::ScenarioMP() )
    
    params   := MDSParameters::Create();
    params.State( this.State() );
    editor := MDSEditor::Editor();
    editor.CopyMDS( macroplanmdsid, datasetname, params )
    
    objectinfos := MDSEditor::Editor().ObjectInfos(  );
    
    newmacroplan := select( objectinfos, Elements, ds, ds.Name() = datasetname )
    
    newscenario := this.Copy( this, newscenarioname, '', this.Comment(),
                              this.State(), this.KBDescription(), this.KBName(),
                              newmacroplan.MDSID().MDSKey(), datasetname );
    
    
    return newscenario.astype( ScenarioMP );
  *]
}