UFN_MKTMARKETINGPLANITEMHIERARCHYFROMID
Returns a table with they keys all child 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_MKTMARKETINGPLANITEMHIERARCHYFROMID]
(
@MARKETINGPLANITEMID uniqueidentifier = null
)
returns @HIERARCHY table (
[ID] uniqueidentifier,
[PARENTMARKETINGPLANITEMID] uniqueidentifier,
[NAME] nvarchar(100),
[LEVEL] integer,
[ISAPPROVED] bit
)
as
begin
declare @LEVEL AS int;
select @LEVEL = [LEVEL] from dbo.[MKTMARKETINGPLANITEM] where [ID] = @MARKETINGPLANITEMID;
set @LEVEL = isnull(@LEVEL, 0);
insert into @HIERARCHY
select
[ID],
[PARENTMARKETINGPLANITEMID],
[NAME],
[LEVEL],
[ISAPPROVED]
from dbo.[MKTMARKETINGPLANITEM]
where [ID] = @MARKETINGPLANITEMID
or (@MARKETINGPLANITEMID is null and [PARENTMARKETINGPLANITEMID] is null);
while (@@ROWCOUNT > 0)
begin
set @LEVEL = @LEVEL + 1;
insert into @HIERARCHY
select
[MPI].[ID],
[MPI].[PARENTMARKETINGPLANITEMID],
[MPI].[NAME],
[MPI].[LEVEL],
[MPI].[ISAPPROVED]
from dbo.[MKTMARKETINGPLANITEM] as [MPI]
inner join @HIERARCHY as [HIER] on [MPI].[PARENTMARKETINGPLANITEMID] = [HIER].[ID] and [MPI].[LEVEL] = @LEVEL
order by [MPI].[NAME];
end
return;
end