Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetHasNoOverload () declarative remote as Boolean 
 | 
{ 
 | 
  Description: 'Check if unit period has no overload' 
 | 
  TextBody: 
 | 
  [* 
 | 
    value := true; 
 | 
    if( this.IsPlanning() 
 | 
        and this.NrOfOpen() > 0 ) 
 | 
    { 
 | 
      overloadthreshold := this.MaximumLoadPercentage(); 
 | 
      nooverload := this.DisplayUtilizationPercentageWithMaxLoadRatio() <= overloadthreshold 
 | 
                    or this.MacroPlan().GlobalParameters_MP().GetIsBalanceWithinTolerance( this.DisplayUtilizationPercentageWithMaxLoadRatio(), overloadthreshold ); 
 | 
       
 | 
      //when no capacity is defined, any utilization should fire an overload error 
 | 
      if( not this.GetHasAvailableCapacity() ) 
 | 
      { 
 | 
        nooverload := this.UtilizationPercentage() = 0 
 | 
      } 
 | 
     
 | 
      value := this.IsPlannedInfinite() or nooverload; 
 | 
    } 
 | 
     
 | 
    // Flag aggregated child when the parent is overloaded.  
 | 
    // Agg-child is wont be utilize because the capacity usage is aggregated up to parent level, thus flag according to parent 
 | 
    if( this.IsPlanning() and this.Unit().IsForCapacityAggregation() and this.GetHasAvailableCapacity() ) 
 | 
    { 
 | 
      value := this.ParentOfUnitDimension().HasNoOverload(); 
 | 
    } 
 | 
     
 | 
    return value 
 | 
  *] 
 | 
} 
 |