Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method CreateOperationNewSupplies ( 
 | 
  Operation operation, 
 | 
  Real quantity, 
 | 
  Boolean hasuser 
 | 
) 
 | 
{ 
 | 
  Description: 'Create new supplies for the leaf level from the aggregated supplies matrix' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // soh yee Nov-10-2015 (created) 
 | 
    childoperations := construct( Operations ); 
 | 
     
 | 
    if( this.ProductInStockingPoint_MP().IsLeaf() ) 
 | 
    { 
 | 
      childoperations.Add( operation ); 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      // The supply will be created at the lowest level, if the children of this unit produces the output for the leaf pispip. 
 | 
      childoperations := selectset( operation, Unit.AllChildren.AsChildren.Operation, childoperation, 
 | 
                                    childoperation.Unit().IsLowestLevelWithProcesses() ) 
 | 
    } 
 | 
     
 | 
    traverse( childoperations, Elements, childoperation ) 
 | 
    { 
 | 
      traverse( this.GetLeavesOfProductDimension(), Elements, leafpispip, 
 | 
                leafpispip.ProductInStockingPoint_MP().GetIsSuppliedByProcess( childoperation ) ) 
 | 
      { 
 | 
        leafpispip.CreateOperationNewSupply( childoperation, 0.0, hasuser ); 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |