Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method NeedsCapacitySmoothing () const declarative as Boolean 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    1. Owning unit and its children have operations 
 | 
    2. Owning unit has capacity smoothing enabled 
 | 
    3. Capacity smoothing length >= 2 
 | 
    4. Is not in a frozen period 
 | 
    5. Number of open units > 0 
 | 
    6. Other things specified in subclasses 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Wayne Sep-5-2013 (created) 
 | 
    // gan dickson Nov-9-2016 (modified) 
 | 
    // FrozenPeriod moves to Unit level 
 | 
     
 | 
    value := this.Unit().CanBePlanned() 
 | 
             and this.Unit().HasCapacitySmoothing() 
 | 
             and this.Unit().CapacitySmoothingLength() >= 2 
 | 
             and not this.IsPeriodFrozen() 
 | 
             and this.NrOfOpen() > 0 
 | 
             and this.IsPlanning(); 
 | 
     
 | 
    return value; 
 | 
  *] 
 | 
} 
 |