Quintiq file version 2.0
|
#parent: #root
|
Method GetInvalidCapacitySmoothingMsg () as String
|
{
|
Description: 'For a capacity smoothing head, the capacity usages of its elements conform to capacity smoothing constraints'
|
TextBody:
|
[*
|
// srt Jul-8-2014 (created)
|
// Is capacity smoothing head and delta > Unit.CapacitySmoothingPercentageDelta
|
// Use rounding as capacites won't match exatly when optimizing with PercentageDelta = 0
|
value := '';
|
if( not isnull( this.AsCapacitySmoothingHead() ) )
|
{
|
maxusage := max( this.GetCapacitySmoothingElements(), Elements, csup, csup.UtilizationPercentage() );
|
minusage := min( this.GetCapacitySmoothingElements(), Elements, csup, csup.UtilizationPercentage() );
|
nrofdecimals := this.MacroPlan().GlobalParameters_MP().NumberOfDecimals();
|
|
if( ( maxusage - minusage ).Round( nrofdecimals ) > this.Unit().CapacitySmoothingPercentageDelta() )
|
{
|
value := Translations::MP_UnitPeriod_InvalidCapacitySmoothing(
|
this.Start(),
|
maxselect( this.GetCapacitySmoothingElements(), Elements, csup, true, csup.CapacitySmoothingSequenceNr() ).End(),
|
maxusage,
|
minusage,
|
this.Unit().CapacitySmoothingPercentageDelta() );
|
}
|
}
|
return value;
|
*]
|
}
|