| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ApplyNoiseThreshold ( | 
|   LibOpt_Task task | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     // mjn3 Jan-29-2020 (created) | 
|      | 
|     //  pispip.OptimizerFulfilledTargetInventoryQuantity( this.GetOptimalValue( program.TargetInvQtyVariables().Get( pispip ) ) );  | 
|      | 
|     //pt.SetOptimizerQuantity( quantity );   | 
|      | 
|     //ptct.Quantity( this.GetOptimalValue( program.PTCampaignQtyVariables().Get( ptct.OperationInCampaign(), period ) ) ); | 
|      | 
|     /* | 
|     traverse( periodtaskoperation,  | 
|               DependentDemandInputGroup,  | 
|               dd,  | 
|               dd.HasRegularProductForOptimizer() or dd.OperationInput().GetIsProductInOptimizerRun( runcontext.IsPostProcessing() ) ) | 
|     { | 
|       fulfilledqty := this.GetOptimalValue( program.OperationDemandQtyVariables().Get( dd.OperationInput(), ptperiod ) ); | 
|      | 
|       if( operation.HasLeadTime() )     // Get the dependent demands that is located at different period from the period of period task. | 
|       { | 
|         pispipperiods := construct( Period_MPs);  | 
|         CapacityPlanningSuboptimizer::GetOperationDependentDemandPeriods( ptperiod, operation, pispipperiods ); | 
|      | 
|         fulfilledqty := sum( pispipperiods, Elements, pispipperiod, | 
|                              this.GetOptimalValue( program.PartialOperationDemandQtyVariables().Get( dd.OperationInput(), pispipperiod, ptperiod ) ) ); | 
|       } | 
|      | 
|       dd.OptimizerFulfilledQuantity( fulfilledqty ); | 
|     */ | 
|      | 
|     /* | 
|     traverse( scope.GetLeafSalesDemandInPeriodInRun(), Elements, sd, isnull( sd.OriginalSalesDemand() ) ) | 
|     { | 
|       qty := this.GetOptimalValue( program.SalesDemandQtyVariables().Get( sd ) ); | 
|       sd.UpdateOptimizerFulfillment( true, qty ); | 
|        | 
|       this.HandleFeasibleDelayedSalesDemand( sd, program, runcontext, scope ); | 
|     } | 
|     */ | 
|      | 
|      | 
|     /* | 
|     traverse( scope.GetAggregatedSalesDemandInPeriodInRun(), Elements, asdip ) // Aggregated does not have pisp asdip.ProductInStockingPoint_MP().GetIsInOptimizerRun() | 
|     {  | 
|       // No optimizer variables for AggregatedSalesDemandInPeriod | 
|       // Traverse the children ( Disaggregated Sales demands ) | 
|       // skip postponed sales demand. Instead of using IsPostponed which requires a transaction propagate, we will just check for null OriginalSalesDemand | 
|       traverse ( asdip, DisaggregatedSalesDemandInPeriod, dasdip,  | 
|                  isnull( dasdip.OriginalSalesDemand() ) | 
|                  and scope.Contains( dasdip.AsPlanningBaseSalesDemandInPeriod().PISPIPInOptimizerRun() ) )  | 
|       { | 
|         // Type    : DisaggregatedSalesDemandInPeriod | 
|         // Variable: 'DisaggregatedSalesDemandQty' UoM: PISP | 
|         var := this.GetOptimalValue( program.DisaggregatedSalesDemandQtyVariables().Get( dasdip ) ); | 
|         dasdip.UpdateOptimizerFulfillment( true, var );*/ | 
|      | 
|      | 
|     //postponed sales demand -- see handle feasible sales demand | 
|      | 
|      | 
|     // product in trips | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |