Quintiq file version 2.0 #parent: #root Method CreateSCVSDNode ( output owning shadow[SCVConfiguration] scvConfig, shadow[SCVNode] ownernode, ProductInStockingPointInPeriod pispip, Boolean isupstream ) as shadow[SCVNode] id:Method_FormSupplyChainVisualization_CreateSCVSDNode { #keys: '[134266.1.1611597158]' Body: [* // Create inventory supply node and edge scvNode := null( shadow[SCVSDNode] ); if( pispip.SalesDemandInPeriodBase( relsize ) > 0 ) { // Make sure we are still within the limit if( ownernode.Depth() < scvConfig.DownstreamDepthLimit() ) { // Retrive sales segment names // if we get only one, means this // node is linked to only 1 sales segment salesSegments := selectuniquevalues( pispip, SalesDemandInPeriodBase, sdipbase, true, sdipbase.SalesSegmentName() ) isLinkedToMultipleSalesSegments := salesSegments.Size() > 1; scvNode := scvConfig.SCVNode( relnew, SCVSDNode, ProductInStockingPointInPeriod := pispip, IsLinkedToMultipleSalesSegments := isLinkedToMultipleSalesSegments, Name := ifexpr( isLinkedToMultipleSalesSegments, Translations::MP_SCV_Label_MultipleSalesSegments(), salesSegments.Element( 0 ) ) ); this.CreateSCVEdge( &scvConfig, ownernode, scvNode, isupstream, null( Process_MP ) ); } else { ownernode.IsDepthLimitMet( true ); } } return scvNode; *] }