Quintiq file version 2.0
|
#parent: #root
|
Function CalcIsBottleneck
|
{
|
TextBody:
|
[*
|
// ying ying Jul-18-2014 (created)
|
|
numofup := this.MacroPlan().PeriodInBottleneckWindow( relsize );
|
bottleneckpercentage := 0.0;
|
|
if( numofup > 0 )
|
{
|
bottleneckpercentage := ( this.NumBottleneckPeriods() / numofup ) * 100; // we take percentage
|
}
|
|
// Must exceed the GP tolerance in order to flag as bottleneck
|
// If tolerance is 50%, at most can tolerate half of the periods to be bottleneck
|
// If tolerance is 100%, then unit will never be bottleneck even though all periods within window are bottleneck
|
value := bottleneckpercentage > this.MacroPlan().GlobalParameters_MP().BottleneckTolerance();
|
|
if( this.Child( relsize ) > 0 )
|
{
|
value := value or exists( this, Child, c, c.IsBottleneck() );
|
}
|
|
this.IsBottleneck( value );
|
*]
|
}
|