Lai,Risheng
2023-11-02 30c02e0c981b16be0918483543f4b812956c45d4
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' }
}