| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CreateSCVRoutingStepNode ( | 
|   shadow[SCVNode] ownernode, | 
|   Operation operation, | 
|   Boolean isupstream | 
| ) as shadow[SCVNode] id:Method_FormSupplyChainVisualization_CreateSCVRoutingStepNode | 
| { | 
|   #keys: '[134266.1.1601113616]' | 
|   Body: | 
|   [* | 
|     // Find existing routingstep node of this process, | 
|     // if it has been drawn, we will reuse it | 
|     scvConfig := DataHolderSCVConfiguration.Data(); | 
|     scvNode := this.GetRoutingStepNode( ownernode, operation, isupstream ); | 
|      | 
|     // Check if the routingstep node that is linked to this owner | 
|     // has already been created | 
|     if( isnull( scvNode ) ) | 
|     { | 
|       scvNode := scvConfig.SCVNode( relnew,  | 
|                                     SCVRoutingStepNode, | 
|                                     Name :=  operation.RoutingStep().Name() ); | 
|        | 
|       this.CreateSCVEdge( ownernode, scvNode, isupstream, operation ); | 
|     } | 
|      | 
|     routingStepNode := scvNode.astype( shadow[SCVRoutingStepNode] ); | 
|     if( not exists( routingStepNode, OperationInNode.Operation, op, op = operation ) ) | 
|     { | 
|       scvNode.astype( shadow[SCVRoutingStepNode] ).OperationInNode( relnew, | 
|                                                                     Operation := operation ); | 
|     } | 
|      | 
|     return scvNode; | 
|   *] | 
| } |