Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method CopyAndSelectKB ( 
 | 
  internal[KBFullID] kbfullid, 
 | 
  Scenario scenario 
 | 
) id:Method_ScenarioManager_DialogCreateEditMPScenario_CopyAndSelectKB 
 | 
{ 
 | 
  #keys: '[11660.0.795884786]' 
 | 
  Body: 
 | 
  [* 
 | 
    //Instantiate knowledge 
 | 
    Domain.PublishKnowledge(); 
 | 
    editor := CKBEditor::Create(); 
 | 
    modelkb := editor.GetModelKB( kbfullid.KBID() ); 
 | 
     
 | 
    //get a copy so we could edit 
 | 
    saveid := KBFullID::Create( kbfullid.Domain(), kbfullid.Name(), kbfullid.Branch(), kbfullid.Version() ); 
 | 
    saveid.Version( "1.0.0.0" ); 
 | 
    saveid.Branch( EditorBranch.Text() ); 
 | 
     
 | 
    //Perform the upgrade if needed 
 | 
    ckbhandle := editor.LoadKB( kbfullid ); 
 | 
    ckbhandle.CKB().ValidateAll(); 
 | 
    ckbhandle.CKB().Upgrade( modelkb.CKB() ); 
 | 
     
 | 
    //Perform the actual saveAs action 
 | 
    newkb := editor.SaveKBAs( ckbhandle, saveid, ''); 
 | 
     
 | 
    //Select the new KB for the MDS 
 | 
    ApplicationLibMacroPlanner.SelectKB( scenario, newkb ); 
 | 
  *] 
 | 
} 
 |