| 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' } | 
| } |