Quintiq file version 2.0
#parent: #root
Method UpdateKBList () id:Method_FormKBManagement_UpdateKBList
{
  #keys: '[11660.0.86436524]'
  Body:
  [*
    //Update KB list
    editor := CKBEditor::Create();
    
    kb := select( MacroPlan.MDSMacroPlan(), MDSKBs, kb, kb.Name().ToUpper() = ScenarioManager.CompanyKBName().ToUpper() );
    kbfullid := KBFullID::Create( kb.Domain(), kb.Name(), kb.Branch(), kb.Version(), kb.ChangeNr() );
    
    infos := editor.GetKBStructure( kbfullid.KBID() );
    
    strings := construct ( Strings );
    
    traverse(infos, Elements.KBFullID, i )
    {
      //not checking for not scenario.IsDeleted() because we still want to keep the kb
      //until the scenario is actually deleted (by deamon)
      nrOfScenarioUsing := counter(  ScenarioManager,
                                    ScenarioNode.astype( Scenario ),
                                    s,
                                    s.KBName().ToUpper() = i.Name().ToUpper()
                                    and s.KBBranch().ToUpper() = i.Branch().ToUpper()
                                    and s.KBChangeNr() = i.ChangeNr() );
    
    
      string := i.Name() +
                ':' +
                [String] i.Branch() +
                ':' +
                [String] i.ChangeNr() +
                ':' +
                [String] nrOfScenarioUsing
    
      strings.Add( string );
    
    }
    
    StringListKnowledgeBase.Strings( strings.ToString( ';' ) );
  *]
}
