UFN_NFGLEVEL_GETFULLPATHNAME

Return

Return Type
nvarchar(500)

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@SEPARATOR nvarchar(10) IN
@CONTAINNFGNAME bit IN

Definition

Copy


CREATE function dbo.UFN_NFGLEVEL_GETFULLPATHNAME
(
  @ID uniqueidentifier,
  @SEPARATOR nvarchar(10) = null,
  @CONTAINNFGNAME bit = 0
)
returns nvarchar(500)
with execute as caller
as begin

  declare @NFGCAMPAIGNID uniqueidentifier,
          @CURRENTPATH hierarchyid,
          @ROOTPATH hierarchyid,
          @FULLNAME nvarchar(500) = '',
          @TEMPNAME nvarchar(50);

  if @SEPARATOR is null
    set @SEPARATOR = '/'

  select @CURRENTPATH = HIERARCHYPATH, @NFGCAMPAIGNID = NFGCAMPAIGNID from FAFNFGCAMPAIGNLEVEL where ID = @ID

  select @ROOTPATH = MIN(HIERARCHYPATH) from FAFNFGCAMPAIGNLEVEL where NFGCAMPAIGNID = @NFGCAMPAIGNID

  while @CURRENTPATH is not null and @CURRENTPATH.GetLevel() > 0 and (@CURRENTPATH <> @ROOTPATH or @CONTAINNFGNAME = 1)
  begin
    select @TEMPNAME = NAME from FAFNFGCAMPAIGNLEVEL where HIERARCHYPATH = @CURRENTPATH
    if @FULLNAME = ''
      set @FULLNAME = @TEMPNAME
    else
      set @FULLNAME = @TEMPNAME + @SEPARATOR + @FULLNAME
    set @CURRENTPATH = @CURRENTPATH.GetAncestor(1)
  end

    return @FULLNAME
end