Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetRoutingStepNode ( 
 | 
  output owning shadow[SCVConfiguration] scvConfig, 
 | 
  shadow[SCVNode] node, 
 | 
  Operation operation, 
 | 
  Boolean isupstream 
 | 
) as shadow[SCVNode] id:Method_FormSupplyChainVisualization_GetRoutingStepNode 
 | 
{ 
 | 
  #keys: '[134266.1.1599873257]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Check if the RoutingStep is already one of the input nodes of this node 
 | 
     
 | 
    inputnode := null( shadow[SCVRoutingStepNode] ); 
 | 
     
 | 
    traverse( scvConfig, SCVNode, n,  
 | 
              n.istype( shadow[SCVRoutingStepNode] ) 
 | 
              and n.IsUpstream() = isupstream 
 | 
              and n.OwnerNodeKey() = node.Key().AsQUILL() ) 
 | 
    { 
 | 
      existingNode := n.astype( shadow[SCVRoutingStepNode] ); 
 | 
      routingStep := select( existingNode, OperationInNode.Operation.RoutingStep, rs, true ); 
 | 
       
 | 
      if( routingStep = operation.RoutingStep() ) 
 | 
      { 
 | 
        inputnode := existingNode; 
 | 
      } 
 | 
    } 
 | 
     
 | 
    return inputnode; 
 | 
  *] 
 | 
} 
 |