Quintiq file version 2.0
|
#parent: #root
|
MethodOverride GetQuantityForOptimizer (
|
const LibOpt_Scope scope
|
) const as Real
|
{
|
TextBody:
|
[*
|
value := 0.0
|
if( not isnull( this.AsSalesDemandInPeriodBase() ) )
|
{
|
unpostponed := this.GetUnPostponedQuantity();
|
|
postponed_outofscope := sum( this,
|
DisaggregatedSalesDemandInPeriod,
|
dsdip,
|
not isnull( dsdip.OriginalSalesDemand() ) // postponed dsdip
|
and ( dsdip.IsManuallyPostponed() // manually postponed
|
or not scope.Contains( dsdip.ProductInStockingPointInPeriodPlanning().PISPIPInOptimizerRun() ) ), // *NOT* within the opt scope (note dsdip are not added to scope as objects)
|
dsdip.Quantity() );
|
value := maxvalue( unpostponed - postponed_outofscope, 0.0 );
|
}
|
return value;
|
*]
|
}
|