UFN_MKTMARKETINGPLANITEMHIERARCHY

Returns a table with they keys and captions for all parent items in a marketing plan item's hierarchy

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@MARKETINGPLANITEMID uniqueidentifier IN

Definition

Copy


CREATE function dbo.[UFN_MKTMARKETINGPLANITEMHIERARCHY]
(
  @MARKETINGPLANITEMID uniqueidentifier
)
returns @HIERARCHY table (
  [ID] uniqueidentifier null,
  [PARENTMARKETINGPLANITEMID] uniqueidentifier,
  [CAPTION] nvarchar(100),
  [NAME] nvarchar(100),
  [LEVEL] int
)
as
begin
  declare @LEVEL as integer;
  select @LEVEL = [LEVEL] from dbo.[MKTMARKETINGPLANITEM] where [ID] = @MARKETINGPLANITEMID;

  insert into @HIERARCHY 
  select 
    [ID],
    [PARENTMARKETINGPLANITEMID],
    '',
    [NAME],
    [LEVEL
  from dbo.[MKTMARKETINGPLANITEM]
  where [ID] = @MARKETINGPLANITEMID;

  while (@@ROWCOUNT > 0)
    begin
      set @LEVEL = @LEVEL - 1;

      insert into @HIERARCHY
      select
        [MPI].[ID],
        [MPI].[PARENTMARKETINGPLANITEMID],
        (select [MPITI].[CAPTION] from dbo.[MKTMARKETINGPLANITEMTEMPLATEITEM] as [MPITI] where [MPITI].[MARKETINGPLANID] = [MPI].[MARKETINGPLANID] and [MPITI].[LEVEL] = [MPI].[LEVEL]),
        [MPI].[NAME],
        [MPI].[LEVEL]
      from dbo.[MKTMARKETINGPLANITEM] as [MPI]
      inner join @HIERARCHY as [HIER] on [HIER].[PARENTMARKETINGPLANITEMID] = [MPI].[ID] and [MPI].[LEVEL] = @LEVEL;
    end

  return;
end