Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method SelectKBBranch ( 
 | 
  Scenario scenario 
 | 
) id:Method_ApplicationLibMacroPlanner_SelectKBBranch 
 | 
{ 
 | 
  #keys: '[11122.0.58944127]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Select a kb branch 
 | 
    dlg := construct( dlgSelectKnowledge ); 
 | 
    componentmds := ComponentMDS::CreateForLoadedMDSsOnly( Application ); 
 | 
    mdsinstance := selectobject( componentmds, ComponentMDSKinds.ComponentMDSInstances, m, m.MDSID().Equals( scenario.DatasetMDSID() ) ); 
 | 
    mdshandle := mdsinstance.GetMDSHandle(); 
 | 
    dlg.dpMDSHandle().Data( mdshandle ); 
 | 
     
 | 
    kbinfo := null( MDSObjectKB ); 
 | 
    if ( scenario.istype( ScenarioMP ) ) 
 | 
    { 
 | 
      kbinfo := select( mdsinstance.GetMDSHandle().AsMacroPlan().MDSMacroPlan(), MDSKBs, kb, kb.Name().ToUpper() = GlobalParameters_MP::GetKBName().ToUpper() ); 
 | 
    } 
 | 
     
 | 
    if ( not isnull( kbinfo ) ) 
 | 
    { 
 | 
      kbfullid := KBFullID::Create( kbinfo.Domain(), kbinfo.Name(), kbinfo.Branch(), kbinfo.Version(), kbinfo.ChangeNr() ); 
 | 
      dlg.Data( kbfullid ); 
 | 
     
 | 
      result := dlg.DoModal( this ); 
 | 
     
 | 
      if ( result > 0 ) 
 | 
      { 
 | 
        ScenarioManager.UpdateScenarioKBInfo( scenario, dlg.dpSelected().Data().Name(), dlg.dpSelected().Data().Branch(), dlg.dpSelected().Data().ChangeNr(), scenario.State(), scenario.KBDescription() ); 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |