Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetIncludedLaneLegs ( 
 | 
  Units includedunits, 
 | 
  ProductInStockingPoint_MPs includedPISPs 
 | 
) as owning LaneLegs 
 | 
{ 
 | 
  Description: 'Get Laneleg that are in the scope of the optimizer puzzle ( product and sp included )' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Get Process in optimizer puzzle scope 
 | 
    lanelegs := construct( LaneLegs ); 
 | 
     
 | 
    if( this.IsWorld() ) 
 | 
    { 
 | 
      lanelegs := selectset( this, 
 | 
                             MacroPlan.Unit.Lane.LaneLeg, 
 | 
                             ll, 
 | 
                             true ); 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      // Select only Process LANELEG in MacroPlan included in the optimizerpuzzle, 
 | 
      // It's checking product and destination SP. 
 | 
      unitLegs := selectset( includedunits, Elements.Lane.LaneLeg, ll, true ); 
 | 
      pispLegs := selectset( includedPISPs, Elements.LaneLegOutput.LaneLeg, ll, true ); 
 | 
      lanelegs := unitLegs.Intersect( pispLegs ); 
 | 
    } 
 | 
     
 | 
    return &lanelegs; 
 | 
  *] 
 | 
} 
 |