| Quintiq file version 2.0 | 
| #parent: #root | 
| DeclarativeReferenceRelation CalcProductInStockingPointInPeriodPlanningLeafWhenUpstreamNonFrozen | 
| { | 
|   #keys: '1[141320.5.1206109165]' | 
|   Expression: | 
|   [* | 
|     value := null( ProductInStockingPointInPeriodPlanningLeaf );  | 
|     if ( not this.PeriodTask_MP().IsFrozenForOptimizerUpstream() )  | 
|     { | 
|       pispip := this.ProductInStockingPointInPeriodPlanningLeafWhenForOperation();  | 
|       if ( not isnull( pispip ) and  | 
|            this.PeriodTaskOperation().IsPeriodTaskInCurrentOptimizerSubPuzzle() and  | 
|            PeriodTaskOperation::GetIsValidPeriodTask( this.PeriodTaskOperation().Operation(), this.PeriodTaskOperation().UnitPeriod().Period_MP() ) and | 
|            ( not pispip.ProductInStockingPoint_MP().Product_MP().IsDerivedByProduct()  | 
|              or this.PeriodTaskOperation().Operation().AllOutputAreDerivedByProducts() ) ) | 
|       { | 
|         value := pispip;  | 
|       } | 
|     } | 
|     return value; | 
|   *] | 
|   Relation: ProductInStockingPointInPeriodPlanningLeafWhenOperationForMeta | 
| } |