xiaoding721
2024-11-22 b373f7e6e82ce3cf6b6daa13e5dc6e76a50baacb
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' }
}