yanyuan
2023-11-10 143ef74e2eeee697ac8fda3d9032a790fbb4e146
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Quintiq file version 2.0
#parent: #root
Function CalcHasBottleNeckUtilization
{
  TextBody:
  [*
    // Flag bottleneck when utilization is more than bottleneck threshold
    value := not this.IsPlannedInfinite()
             and this.DisplayUtilizationPercentageWithMaxLoadRatio() > this.BottleneckThreshold();
    
    // Flag aggregated child when the parent is bottleneck. 
    // Agg-child is wont be utilize because the capacity usage is aggregated up to parent level, thus flag according to parent
    if( this.GetHasAvailableCapacity() and this.Unit().IsForCapacityAggregation())
    {
      value := this.ParentOfUnitDimension().IsBottleneck();
    }
    
    this.HasBottleNeckUtilization( value );
  *]
  InterfaceProperties { Accessibility: 'Module' }
}