| Quintiq file version 2.0 | 
| #parent: #root | 
| Function CalcShelfLifeAgeQuantityVectorAsBinaryValue | 
| { | 
|   TextBody: | 
|   [* | 
|     pispippl := this.ProductInStockingPointInPeriodPlanningLeaf(); | 
|     product := pispippl.ProductInStockingPoint_MP().Product_MP(); | 
|     if( product.HasShelfLifeOrMaturation() and not isnull( pispippl.ShelfLife() )  ) | 
|     { | 
|       quantityvector := RealVector::Construct(); | 
|       agevector := RealVector::Construct(); | 
|       shelflifefulfilled := 0.0; | 
|      | 
|       shelflife := pispippl.ShelfLife();   | 
|        | 
|       // Retrieve the vectors from PISPIP | 
|       source_quantityvector := RealVector::Construct( shelflife.ShelfLifeDDQuantityVectorAsBinaryValue() ); | 
|       source_agevector := RealVector::Construct( shelflife.ShelfLifeDDAgeVectorAsBinaryValue() ); | 
|       source_indexvector := NumberVector::Construct( shelflife.ShelfLifeDDIndexVectorAsBinaryValue() ); | 
|        | 
|       // Get this DependentDemand's index within the sorted set | 
|       sorted_dds := ProductInStockingPointInPeriod::GetSortedDependentDemands( pispippl ); | 
|       current_index := sorted_dds.Find( this ); | 
|        | 
|       // Get the vectors for this DependentDemand | 
|       isforcurrentvector := source_indexvector.Equals( current_index ); | 
|       dd_quantityvector := source_quantityvector.GetSelection( isforcurrentvector ); | 
|       dd_agevector := source_agevector.GetSelection( isforcurrentvector ); | 
|        | 
|       quantityvector.Append( dd_quantityvector ); | 
|       agevector.Append( dd_agevector ); | 
|        | 
|       // Calculate the shelf life fulfilled quantity for dependent demand both from trip and routing | 
|       shelflifefulfilled := quantityvector.Sum(); | 
|      | 
|       this.ShelfLifeQuantityVectorAsBinaryValue( quantityvector.AsBinaryValue() ); | 
|       this.ShelfLifeAgeVectorAsBinaryValue( agevector.AsBinaryValue() ); | 
|       this.ShelfLifeFulfilledQuantity( shelflifefulfilled ); | 
|     } | 
|   *] | 
| } |