Quintiq file version 2.0
|
#parent: #root
|
Method CalculateSalesDemandSystemFulfilledQuantity (
|
output Real totalremaining
|
) declarative
|
{
|
Description: 'Greedy fufill the sales demands'
|
TextBody:
|
[*
|
salesdemands := this.GetSortedLeafSalesDemandsInPeriod();
|
|
traverse( salesdemands, Elements, sd )
|
{
|
if( sd.HasOptimizerFulfillment() or not sd.IsWithinThresholdQuantity() ) // Reset system fulfilled quantity
|
{
|
sd.SystemFulfilledQuantity( 0.0 );
|
}
|
else
|
{
|
// DisaggregatedSDIP qty uses AggregatedSDIP quantity
|
unallocated := minvalue( totalremaining, sd.QuantityForSystemFulfilledQuantity() );
|
sd.SystemFulfilledQuantity( unallocated );
|
totalremaining := totalremaining - unallocated;
|
}
|
|
}
|
*]
|
}
|