Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method ResetQuantitySetByOptimizer ( 
 | 
  LibOpt_Scope scope 
 | 
) 
 | 
{ 
 | 
  Description: 'Reset optimizer reserved quantity and optimizer fulfillment quantity for all sales demands of this pispip' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // soh yee Sep-6-2015 (created) 
 | 
    this.OptimizerFulfilledTargetInventoryQuantity( 0.0 );  
 | 
     
 | 
    traverse( this, PlanningBaseSalesDemandInPeriod, sd ) 
 | 
    { 
 | 
      sd.ResetOptimizerFulfillment();  
 | 
    } 
 | 
     
 | 
    // Example we have the following operations and we're going to set the supply qty for C to 0 (also means PT1 qty = 0). 
 | 
    // A & B -> PT1 -> C 
 | 
    // C & D -> PT2 -> E 
 | 
    // Since supply of C = 0, reset optimizer fulfilled quantity for C and D (that belongs to same group) because supply of C is reset 
 | 
    // The dependent demand in this input group will use the default factor instead of getting assigned factor from the optimizer. 
 | 
    traverse( this, DependentDemand.DependentDemandInputGroup, ddgroup, 
 | 
              isnull( scope ) or scope.Contains( ddgroup.PeriodTaskOperation().PeriodTaskOperationInOptimizerRun() ) //when we set the opt fulfilled qty = 0 then the optimizer should have the periodtaskop in scope because otherwise it can never set it back.  
 | 
            ) 
 | 
    { 
 | 
      traverse( ddgroup, PeriodTaskOperation.DependentDemandInputGroup, ddofsamegroup, 
 | 
                ddofsamegroup.OperationInput().OperationInputGroup() = ddgroup.OperationInput().OperationInputGroup() ) 
 | 
      { 
 | 
        ddofsamegroup.OptimizerFulfilledQuantity( 0.0 ); 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |