Quintiq file version 2.0 #parent: mbMainMenu/MenuFixKB Response OnClick () id:Response_mbMainMenu_MenuFixKB_OnClick { #keys: '[11660.0.239015373]' Body: [* //Edit a kb branch without active dataset editor := CKBEditor::Create(); kbidset := editor.GetKBs(); kbid := select( kbidset, Elements, e, true, e.Name() = ScenarioManager.CompanyKBName() ); kbfullidset := editor.GetKBStructure( kbid ); kbfullidsortedset := selectsortedset( kbfullidset, Elements.KBFullID, kbfullid, true, kbfullid.Branch(), - kbfullid.ChangeNr() ) branch := ''; traverse( kbfullidsortedset, Elements, kbfullid ) { if ( branch <> kbfullid.Branch()) { progress('Validating KB Name:' + kbfullid.Name() + ' branch:', kbfullid.Branch() + ' Change Nr:'+ [String]kbfullid.ChangeNr() ); kbf := KBFullID::Create( kbfullid.Domain(), kbfullid.Name(), kbfullid.Branch(), kbfullid.Version(), kbfullid.ChangeNr() ); modelkb := editor.GetModelKB(kbf.KBID()); ckbhandle := editor.LoadKB( kbfullid ); //ckbhandle := editor.LoadNewestKBChange( kbfullid ); // Apply the KB Structure as defined in the Model to the current KB ckbhandle.CKB().Upgrade( modelkb.CKB() ); if ( ckbhandle.CKB().ValidateAll() ) { editor.LockKB( ckbhandle.CKB().ID()); editor.SaveKB( ckbhandle, '0' ); editor.UnlockKB( ckbhandle.CKB().ID() ); } branch := kbfullid.Branch(); } } *] DefinitionID: 'Responsedef_Menu_OnClick' UserRequiresReadWrite: true }