Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method MustInitializeUserSupplyConstraint ( 
 | 
  const RunContextForCapacityPlanning runcontext, 
 | 
  const LibOpt_Scope scope 
 | 
) const as Boolean 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    // We only need to initialize the constraint if this pispip has a totalsupplyuser 
 | 
    value := this.HasTotalSupplyUser();  
 | 
    // However, even if this pispip has a total user supply 
 | 
    // but this run will overwrite the manual planning 
 | 
    // and this is not a smart plan run or this pispip is not the primary pispip 
 | 
    // then we do not need to initialize the constraint 
 | 
     
 | 
    if( value  
 | 
        and runcontext.HasOverwrittenManualPlanning() 
 | 
        and ( not runcontext.IsSmartPlan()                                                                            // not smart plan  
 | 
              or not  scope.Contains( this.SmartPlanPrimaryPISPIPInRun() ) ) )// or current pispip is not equal to primary pispip 
 | 
    { 
 | 
      value := false;  
 | 
    } 
 | 
     
 | 
    return value; 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |