Quintiq file version 2.0
|
#parent: #root
|
Function CalcMaxDurationCombi
|
{
|
TextBody:
|
[*
|
maxdurationbasedonminduration := Duration::MinDuration();
|
maxdurationbasedonminquantity := Duration::MinDuration();
|
value := Duration::Zero();
|
if( this.HasMaxDuration() )
|
{
|
maxdurationbasedonminduration := this.MaxDuration()
|
}
|
|
if( this.HasMaxQuantity() )
|
{
|
//we estimate min duration based on min quantity and maximum throughout (See OSD, Known Limitations section)
|
maxqty := this.MaxQuantity()
|
operations := this.GetOperationsInOptCampaignElementType()
|
minthroughput := min( operations, Elements, op, op.Throughput() )
|
maxdurationbasedonminquantity := guard( Duration::Hours( maxqty / minthroughput ), Duration::MaxDuration() )
|
}
|
if( this.HasMaxDuration() or this.HasMaxQuantity() )
|
{
|
value := maxvalue( maxdurationbasedonminduration, maxdurationbasedonminquantity );
|
}
|
|
this.MaxDurationCombi( value );
|
*]
|
}
|