Quintiq file version 2.0
#parent: #root
Method SetLevel (
  structured[shadow[KPIWeight]] kpiweights,
  Number addedlevel
) id:Method_ScenarioManager_DialogCreateEditStrategy_SetLevel
{
  #keys: '[112884.0.700862870]'
  Body:
  [*
    // Set selected kpi weights level
    
    traverse( kpiweights, Elements, kpi )
    {
      level := kpi.Level() + addedlevel;
      level := maxvalue( level, 0 );      // lowerbound
      level := minvalue( level, GlobalParameters_MP::GetDefaultNumberOfStrategyLevel() );      // upperbound
      kpi.Level( level );
    }
    
    activekpis := selectset( kpiweights, Elements, kpi, kpi.Level() > 0 );
    inactivekpis := selectset( kpiweights, Elements, kpi, kpi.Level() = 0 );
    
    ApplicationLibMacroPlanner.AutoSelectElementsInList( ListActiveGoal, activekpis );
    ApplicationLibMacroPlanner.AutoSelectElementsInList( ListInactiveGoal, inactivekpis );
  *]
}
