xiaoding721
2024-08-21 37d5e499ff0d2aa0d4d3d7a4c6ec65ec2ffd1d70
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' }
}