Quintiq file version 2.0
|
#parent: #root
|
Method SmartPlanSetFinalRunRelations (
|
Boolean isupstream,
|
LibOpt_Scope scope,
|
RunContextForCapacityPlanning runcontext
|
)
|
{
|
Description: 'set relations to algorithmrun object of sub puzzle'
|
TextBody:
|
[*
|
// If an operation has multiple outputs, we need to make sure the pispips of all those outputs are in the optimizer run
|
if( isupstream )
|
{
|
traverse( scope.GetPeriodTaskOperationInOptimizerRun(), Elements.NewSupply.ProductInStockingPointInPeriodPlanningLeaf, nspispip,
|
not scope.Contains( nspispip.PISPIPInOptimizerRun() ) )
|
{
|
scope.Add( nspispip );
|
}
|
}
|
else
|
// If an operation has multiple inputs, we need to make sure the pispips of all those outputs are in the optimizer run
|
{
|
Transaction::Transaction().Propagate( relation( PeriodTaskOperation, DependentDemand ) ); // smart plan creates the PeriodTaskOperation object - so we need to make sure the relation is set
|
traverse( scope.GetPeriodTaskOperationInOptimizerRun(), Elements.DependentDemand.ProductInStockingPointInPeriodPlanningLeaf, ddpispip,
|
not scope.Contains( ddpispip.PISPIPInOptimizerRun() ) )
|
{
|
scope.Add( ddpispip );
|
}
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|