Quintiq file version 2.0 #parent: #root Method NewKBBranch ( internal[KBFullID] kbfullid, Scenario scenario ) id:Method_ApplicationLibMacroPlanner_NewKBBranch { #keys: '[11122.0.58944168]' Body: [* // Save as ... for a KnowledgeBase saveid := kbfullid; dlg := construct( dlgEditKBID ); dlg.Data( saveid ); if (saveid.Branch() = '' ) { edit := select (Domain.KnowledgeBaseDefinitions(),Elements,el,el.Name() = saveid.Name() and el.Domain().Domain() = saveid.Domain()); dlg.EditorBranch().Text( edit.DefaultBranchName() ); dlg.EditorVersion().Text( '1.0.0.0' ); } if ( dlg.DoModal( this ) > 0 ) { editor := CKBEditor::Create(); componentmds := ComponentMDS::CreateForLoadedMDSsOnly( Application ); mdsinstance := selectobject( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().Equals( scenario.DatasetMDSID() ) ); mdshandle := mdsinstance.GetMDSHandle(); if ( kbfullid.ChangeNr() = 0 ) { ckbhandle := editor.LoadMDSKB( mdshandle, kbfullid.KBID() ); modelkb := editor.GetModelKB( kbfullid.KBID() ); ckbhandle.CKB().Upgrade( modelkb.CKB() ); editor.ApplyMDSKB( mdshandle,ckbhandle, true ); } editor.SaveMDSKBAs( mdshandle, saveid, 'New branch' ); ScenarioManager.UpdateScenarioKBInfo( scenario, saveid.Name(), saveid.Branch(), saveid.ChangeNr(), scenario.State(), '' ) } *] }