| 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 ); | 
|   *] | 
| } |