Quintiq file version 2.0 
 | 
#parent: #root 
 | 
MethodOverride IsInScopeForShiftOptimization ( 
 | 
  const LibOpt_Scope scope 
 | 
) const as Boolean 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Check if this unit or a parent unit is in scope for shift optimization. 
 | 
    unitinscope :=  scope.Contains( this.UnitPeriodInOptimizerRun() ) 
 | 
                    or guard( this.ParentOfUnitDimension().IsInScopeForShiftOptimization( scope ), false ) 
 | 
     
 | 
    // Check if shift optimization is allowed on this unit. 
 | 
    // Note: we are not checking for a parent explicitly, because this will already be done in the recursive call above. 
 | 
    shiftoptimallowed :=  this.Unit().UseShiftOptimization(); 
 | 
     
 | 
    return unitinscope and shiftoptimallowed; 
 | 
  *] 
 | 
} 
 |