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
|
*]
|
}
|