Quintiq file version 2.0
#parent: #root
Method AutoExpandSelection (
  internal[List] list,
  Object obj
) as Number id:Method_ApplicationLibMacroPlanner_AutoExpandSelection
{
  #keys: '[11660.0.316121646]'
  Body:
  [*
    //Expand list
    if ( not isnull( obj ) )
    {
      parent := null( Object );
      ontype( obj )
      {
        Product_MP as product:
        {
          parent := product.Parent();
        }
        SalesSegment_MP as salessegment:
        {
          parent := salessegment.Parent();
        }
        Unit as unit:
        {
          parent := unit.Parent();
        }
        ScenarioNode as scenarionode:
        {
          parent := scenarionode.Parent();
        }
        Bookmark as bookmark:
        {
          parent := bookmark.Parent();
        }
        PeriodSpecificationPeriod as periodSpecPeriod:
        {
          parent := periodSpecPeriod.PeriodSpecification_MP();
        }
      }
    
      if( not isnull( parent ) )
      {
        this.AutoExpandSelection( list, parent );
      }
      list.SelectByKey( obj.Key() );
      list.ExpandSelectionOneLevel();
    }
    
    return 1;
  *]
}
