1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  | Quintiq file version 2.0 
 |  #parent: #root 
 |  Method GetEdge ( 
 |    GraphProgramGraph graph, 
 |    GraphProgramNode parent_node, 
 |    ProductInStockingPoint_MP child_pisp 
 |  ) as GraphProgramEdge 
 |  { 
 |    TextBody: 
 |    [* 
 |      edge_name := parent_node.Name() + '->' + child_pisp.Name() 
 |       
 |      // Find or create node corresponding to PISP 
 |      child_node := graph.FindNode( child_pisp.Name(), child_pisp ); 
 |      if( isnull( child_node ) ) 
 |      { 
 |        child_node := graph.NewNode( child_pisp.Name(), child_pisp ); 
 |      } 
 |       
 |      edge := graph.FindEdge( edge_name, parent_node, child_node ); 
 |      if( isnull( edge ) ) 
 |      { 
 |        edge := graph.NewEdge( edge_name, parent_node, child_node ); 
 |      } 
 |       
 |      return edge; 
 |    *] 
 |  } 
 |  
  |