haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Quintiq file version 2.0
#parent: #root
Method SetPISPIPLaneLegs (
  ProductInStockingPointInPeriods pispips,
  LaneLeg process,
  LibOpt_Scope scope,
  RunContextForCapacityPlanning runcontext
)
{
  Description: 'Set the relation to the LaneLegs of the given PISPIPs which are used for smart plan 1 step upstream.'
  TextBody:
  [*
    // tomvdh Nov-17-2016 (created)
    traverse( pispips, 
              Elements.ProductInStockingPoint_MP.LaneLegOutput.LaneLeg, 
              laneleg, 
              ifexpr( runcontext.IsSmartPlanForPeriodTask(), isnull( process ) or laneleg = process, true ) //Only check this for period task smart plan. When an operation is specified, only set the LaneLeg of that operation
              and laneleg.GetIsAvailableForOptimization() )
    {
      scope.Add(  laneleg.LaneLegOfSmartPlanPISPIPInOptimizerRun( relnew ) );   
    }
  *]
  InterfaceProperties { Accessibility: 'Module' }
}