Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetBaseCost ( 
 | 
  AccountCost accountcost, 
 | 
  StockingPointInPeriod spip 
 | 
) remote as Real 
 | 
{ 
 | 
  Description: 'Returns base cost of a given period - used in designer' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // tyg2 Aug-15-2016 (created) 
 | 
     
 | 
    basecost := 0.0; 
 | 
     
 | 
    if( not isnull( spip ) ) 
 | 
    { 
 | 
      if( spip.Period_MP().IsPlanning() ) 
 | 
      { 
 | 
        if( this.CostDriver() = Translations::MP_AccountAssignmentCostDriverFixed() ) 
 | 
        { 
 | 
          basecost := spip.GetFixedBaseCost( this, accountcost ); 
 | 
        } 
 | 
      } 
 | 
      else if( spip.IsBase() )  // Base, fraction the value from planning period 
 | 
      { 
 | 
        planningup := select( spip.StockingPoint_MP(), StockingPointInPeriod, e, 
 | 
                              e.Period_MP() = spip.Period_MP().PlanningPeriod() ); 
 | 
        basecost := this.GetBaseCost( accountcost, planningup ) * guard( planningup.Period_MP().PlanningSystemRatio(), 1.0 ); 
 | 
      } 
 | 
      else                      // Non base non planning, retrieve the value of base periods 
 | 
      { 
 | 
        basecost := sum( spip.GetChildrenOfPeriodDimension(), Elements, up, this.GetBaseCost( accountcost, up ) ) 
 | 
      } 
 | 
    } 
 | 
     
 | 
    return basecost; 
 | 
  *] 
 | 
} 
 |