| Quintiq file version 2.0 | 
| #parent: #root | 
| MethodOverride GetQuantityForOptimizer ( | 
|   const LibOpt_Scope scope | 
| ) const as Real | 
| { | 
|   TextBody: | 
|   [* | 
|     value := 0.0 | 
|     if( not isnull( this.AsSalesDemandInPeriodBase() ) ) | 
|     { | 
|       unpostponed := this.GetUnPostponedQuantity(); | 
|        | 
|       postponed_outofscope := sum(  this,  | 
|                                     DisaggregatedSalesDemandInPeriod,  | 
|                                     dsdip, | 
|                                     not isnull( dsdip.OriginalSalesDemand() )                                                           // postponed dsdip | 
|                                     and ( dsdip.IsManuallyPostponed()                                                                   // manually postponed | 
|                                           or not scope.Contains( dsdip.ProductInStockingPointInPeriodPlanning().PISPIPInOptimizerRun() ) ),    // *NOT* within the opt scope (note dsdip are not added to scope as objects) | 
|                                     dsdip.Quantity() );  | 
|       value := maxvalue(  unpostponed - postponed_outofscope, 0.0 );  | 
|     } | 
|     return value; | 
|   *] | 
| } |