Quintiq file version 2.0
#parent: #root
Method GetPISPIPNode (
  shadow[SCVNode] node,
  ProductInStockingPointInPeriod pispip,
  Boolean isupstream
) as shadow[SCVNode] id:Method_FormSupplyChainVisualization_GetPISPIPNode
{
  #keys: '[134266.1.1599605422]'
  Body:
  [*
    // Check if the PISPIP is already one of the input nodes of this node
    scvconfig := DataHolderSCVConfiguration.Data();
    
    inputnode := null( shadow[SCVPISPIPNode] );
    
    traverse( scvconfig, SCVNode, n, 
              n.istype( shadow[SCVPISPIPNode] )
              and n.Depth() = node.Depth() + 1
              and n.IsUpstream() = isupstream
              and n.Name() = pispip.ProductInStockingPoint_MP().Name()
              and n.OwnerNodeKey() = node.Key().AsQUILL() )
    {
      inputnode := n.astype( shadow[SCVPISPIPNode] );
    }
    
    return inputnode;
  *]
}
