1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method GetKPIProcessMinimumQuantity ( 
 |    Real epsilon 
 |  ) const declarative remote as Real 
 |  { 
 |    Description: 'Return the penalty for not reaching minimum quantity.' 
 |    TextBody: 
 |    [* 
 |      periods := selectset(  this, PeriodKPI, p, true, p.IsWithinLotSizeHorizon() );  
 |      value := sum( periods, Elements.UnitPeriod.PeriodTaskHasMinQuantity, ptr, 
 |                    ptr.Process_MP().HasMinimumQuantity() 
 |                    and ptr.QuantityToProcess() > epsilon * ptr.Operation().MinimumQuantity(),  
 |                    maxvalue( ptr.Process_MP().MinimumQuantity() - ptr.QuantityToProcess(), 0.0 ) 
 |                    * ptr.Process_MP().AsProcess_MP().DefaultUOMConversionFactor() ); 
 |      return value; 
 |    *] 
 |  } 
 |  
  |