| Quintiq file version 2.0 | 
| #parent: #root | 
| DeclarativeReferenceRelation CalcNettedForecast | 
| { | 
|   #keys: '1[151892.2.1029842722]' | 
|   Expression: | 
|   [* | 
|     // select leaf forecast before product in higher level | 
|     forecast := null( Forecast ); | 
|     if ( not this.MacroPlan().GlobalParameters_MP().IsNoNetting() and this.IsEligibleForNetting() ) | 
|     { | 
|       sdips := selectset( this,  | 
|                           PlanningSalesDemandInPeriod.ProductInStockingPointInPeriodPlanning.SalesDemandInPeriodBase, sdip, not sdip.IsPostponed() ); | 
|                             | 
|       forecast := minselect( sdips,  | 
|                              Elements.MasterSalesDemand.astype( Forecast ),  | 
|                              f, f.SalesSegment_MP() = this.SalesSegment_MP(), -f.Product_MP().Level() ); | 
|        | 
|       if ( exists( forecast, SalesDemandFulfillmentRestriction.FulfillmentRestriction.Product_MP, product, product = this.Product_MP() )) | 
|       { | 
|         forecast := null( Forecast );   | 
|       } | 
|     }   | 
|     return forecast; | 
|   *] | 
|   Relation: NettedForecast | 
| } |