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 ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |