USP_DATALIST_DISTINCTMKTMARKETINGPLANITEMTEMPLATEITEMS

Displays a distinct list of the marketing plan item template item captions and backcolors.

Parameters

Parameter Parameter Type Mode Description
@MARKETINGPLANITEMID uniqueidentifier IN Marketing plan item ID

Definition

Copy


CREATE procedure dbo.[USP_DATALIST_DISTINCTMKTMARKETINGPLANITEMTEMPLATEITEMS]
(
  @MARKETINGPLANITEMID uniqueidentifier = null
)
as
  set nocount on;

  declare @LEVEL tinyint;
  declare @MARKETINGPLANID uniqueidentifier;

  select
    @LEVEL = [LEVEL],
    @MARKETINGPLANID = [MARKETINGPLANID]
  from dbo.[MKTMARKETINGPLANITEM]
  where [ID] = @MARKETINGPLANITEMID;

  set @LEVEL = coalesce(@LEVEL, 0);

  select distinct
    [MPITI].[CAPTION],
    [MPITI].[BACKCOLOR],
    [MPITI].[LEVEL],
    coalesce((select [T0].[CAPTION] + cast([T0].[BACKCOLOR] as nvarchar(25)) + cast([T0].[LEVEL] as nvarchar(1)) from dbo.[MKTMARKETINGPLANITEMTEMPLATEITEM] as [T0] where [T0].[LEVEL] = 0 and [T0].[MARKETINGPLANID] = [MPITI].[MARKETINGPLANID]), '') +
    coalesce((select [T1].[CAPTION] + cast([T1].[BACKCOLOR] as nvarchar(25)) + cast([T1].[LEVEL] as nvarchar(1)) from dbo.[MKTMARKETINGPLANITEMTEMPLATEITEM] as [T1] where [T1].[LEVEL] = 1 and [T1].[MARKETINGPLANID] = [MPITI].[MARKETINGPLANID]), '') +
    coalesce((select [T2].[CAPTION] + cast([T2].[BACKCOLOR] as nvarchar(25)) + cast([T2].[LEVEL] as nvarchar(1)) from dbo.[MKTMARKETINGPLANITEMTEMPLATEITEM] as [T2] where [T2].[LEVEL] = 2 and [T2].[MARKETINGPLANID] = [MPITI].[MARKETINGPLANID]), '') +
    coalesce((select [T3].[CAPTION] + cast([T3].[BACKCOLOR] as nvarchar(25)) + cast([T3].[LEVEL] as nvarchar(1)) from dbo.[MKTMARKETINGPLANITEMTEMPLATEITEM] as [T3] where [T3].[LEVEL] = 3 and [T3].[MARKETINGPLANID] = [MPITI].[MARKETINGPLANID]), '') +
    coalesce((select [T4].[CAPTION] + cast([T4].[BACKCOLOR] as nvarchar(25)) + cast([T4].[LEVEL] as nvarchar(1)) from dbo.[MKTMARKETINGPLANITEMTEMPLATEITEM] as [T4] where [T4].[LEVEL] = 4 and [T4].[MARKETINGPLANID] = [MPITI].[MARKETINGPLANID]), '')
    as [KEY]
  from dbo.[MKTMARKETINGPLANITEMTEMPLATEITEM] as [MPITI] 
  left join dbo.[MKTMARKETINGPLANITEM] [MPI] on ([MPI].[MARKETINGPLANID] = [MPITI].[MARKETINGPLANID] and [MPI].[LEVEL] = [MPITI].[LEVEL])
  where (([MPITI].[MARKETINGPLANID] = @MARKETINGPLANID and [MPI].[LEVEL] >= @LEVEL) or @MARKETINGPLANITEMID is null)
  and (select count(*) from dbo.[MKTMARKETINGPLANITEM] as [SUB] where ([SUB].[MARKETINGPLANID] = [MPITI].[MARKETINGPLANID] and [SUB].[LEVEL] = [MPITI].[LEVEL])) > 0
  and (select [ISACTIVE] from dbo.[MKTMARKETINGPLAN] as [SUB] where [SUB].[ID] = [MPITI].[MARKETINGPLANID]) <> 0
  order by 4, 3;

  return 0;