Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GenerateBenchmarkIncreaseCapacity ( 
 | 
  Real ratio 
 | 
) 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    traverse( this, Unit.UnitAvailability, avail )  
 | 
    { 
 | 
      avail.Efficiency( avail.Efficiency() * ratio );  
 | 
    } 
 | 
     
 | 
    traverse( this, Unit.UnitCapacity, cap )  
 | 
    { 
 | 
      cap.MaxCapacity( cap.MaxCapacity() * ratio );  
 | 
    }  
 | 
     
 | 
    traverse( this, StockingPoint_MP.StockingPointCapacity, spc )  
 | 
    { 
 | 
      spc.MaxCapacity( spc.MaxCapacity() * ratio );  
 | 
    } 
 | 
     
 | 
    traverse( this, Unit.TransportCapacity, tcap )  
 | 
    { 
 | 
      tcap.MaximumCapacity( tcap.MaximumCapacity() * ratio );  
 | 
      tcap.SecondaryMaximumCapacity( tcap.SecondaryMaximumCapacity() * ratio );  
 | 
    } 
 | 
     
 | 
    traverse( this, Unit.TransportAvailability, tavail)  
 | 
    { 
 | 
      tavail.MaximumQuantity( tavail.MaximumQuantity() * ratio );  
 | 
    } 
 | 
     
 | 
    gp := this.GlobalParameters_MP();  
 | 
    gp.DefaultMaxLoadPercentage( gp.DefaultMaxLoadPercentage() * ratio );  
 | 
    gp.DefaultMaxCapacityPerDayForUnit( gp.DefaultMaxCapacityPerDayForUnit() * ratio );  
 | 
    gp.DefaultMaxCapacityForStockingPoint( gp.DefaultMaxCapacityForStockingPoint() * ratio );  
 | 
    gp.DefaultEfficiency( gp.DefaultEfficiency() );  
 | 
     
 | 
     
 | 
    // update actual inventories using ratio 
 | 
    traverse( this, Actual.astype( ActualProductInStockingPointInPeriod ), a )  
 | 
    { 
 | 
      a.ActualInventoryLevelEnd( a.ActualInventoryLevelEnd() * ratio );  
 | 
    } 
 | 
     
 | 
    // ? inventory supplies . not present in dataset metal demo 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |