USP_DATALIST_MKTSOURCECODEPARTS

Displays a list of the source code parts for a given marketing effort.

Parameters

Parameter Parameter Type Mode Description
@PARENTID uniqueidentifier IN
@SOURCECODEITEMID uniqueidentifier IN
@MARKETINGPLANITEMID uniqueidentifier IN
@SEGMENTATIONID uniqueidentifier IN
@CHANNELCODE tinyint IN CHANNELCODE
@ACKNOWLEDGEMENTMAILINGTEMPLATEID uniqueidentifier IN
@MEMBERSHIPMAILINGTEMPLATEID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.[USP_DATALIST_MKTSOURCECODEPARTS]
(
  @PARENTID uniqueidentifier, 
  @SOURCECODEITEMID uniqueidentifier = null
  @MARKETINGPLANITEMID uniqueidentifier = null
  @SEGMENTATIONID uniqueidentifier = null,
  @CHANNELCODE tinyint = null,
  @ACKNOWLEDGEMENTMAILINGTEMPLATEID uniqueidentifier = null,
  @MEMBERSHIPMAILINGTEMPLATEID uniqueidentifier = null
)
as 
  set nocount on;

  declare @ACTIVE bit;
  if @SEGMENTATIONID is null
    set @ACTIVE = 0
  else
    select @ACTIVE = [ACTIVE] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID;

  if @ACTIVE = 0
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTMARKETINGPLANITEM] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTMARKETINGPLANITEM] where [ID] = @MARKETINGPLANITEMID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 0)   where [P].[ID] = @MARKETINGPLANITEMID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [P].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [S].[ID] [PARENTID], [S].[CODE] from dbo.[MKTSEGMENTATION] as [S] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 0) where [S].[ID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [S].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [S].[ID] [PARENTID], [S].[CODE] from dbo.[MKTSEGMENTATIONSEGMENT] as [S] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 1) where [S].[SEGMENTATIONID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [S].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [T].[ID] [PARENTID], [T].[CODE] from dbo.[MKTSEGMENTATIONTESTSEGMENT] as [T] inner join dbo.[MKTSEGMENTATIONSEGMENT] as [S] on [S].[ID] = [T].[SEGMENTID] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 1) where [S].[SEGMENTATIONID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [T].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTPACKAGE] as [P] inner join dbo.[MKTSEGMENTATIONPACKAGE] as [S] on [P].[ID] = [S].[PACKAGEID] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID))inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 2) where [S].[SEGMENTATIONID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [P].[ID] = @PARENTID 
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTSOURCECODEPART] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on [P].[SOURCECODEITEMID] = [I].[ID] inner join dbo.[MKTSOURCECODEPARTDEFINITION] on [MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] where [P].[SEGMENTATIONID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and ([P].[CHANNELCODE] = @CHANNELCODE or @CHANNELCODE is null)
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTSOURCECODEPART] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on [P].[SOURCECODEITEMID] = [I].[ID] inner join dbo.[MKTSOURCECODEPARTDEFINITION] on [MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID]   where [P].[MARKETINGPLANITEMID] = @MARKETINGPLANITEMID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and ([P].[CHANNELCODE] = @CHANNELCODE or @CHANNELCODE is null)
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [M].[ID] [PARENTID], [M].[CODE] from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATE] as [M] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from MKTACKNOWLEDGEMENTMAILINGTEMPLATE where ID = @ACKNOWLEDGEMENTMAILINGTEMPLATEID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 0) where [M].[ID] = @ACKNOWLEDGEMENTMAILINGTEMPLATEID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [M].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTSOURCECODEPART] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on [P].[SOURCECODEITEMID] = [I].[ID] inner join dbo.[MKTSOURCECODEPARTDEFINITION] on [MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] where [P].[ACKNOWLEDGEMENTMAILINGTEMPLATEID] = @ACKNOWLEDGEMENTMAILINGTEMPLATEID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and ([P].[CHANNELCODE] = @CHANNELCODE or @CHANNELCODE is null)
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [M].[ID] [PARENTID], [M].[CODE] from dbo.[MKTMEMBERSHIPMAILINGTEMPLATE] as [M] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from MKTMEMBERSHIPMAILINGTEMPLATE where ID = @MEMBERSHIPMAILINGTEMPLATEID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 0) where [M].[ID] = @MEMBERSHIPMAILINGTEMPLATEID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [M].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTSOURCECODEPART] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on [P].[SOURCECODEITEMID] = [I].[ID] inner join dbo.[MKTSOURCECODEPARTDEFINITION] on [MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] where [P].[MEMBERSHIPMAILINGTEMPLATEID] = @MEMBERSHIPMAILINGTEMPLATEID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and ([P].[CHANNELCODE] = @CHANNELCODE or @CHANNELCODE is null);
  else
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTMARKETINGPLANITEM] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTMARKETINGPLANITEM] where [ID] = @MARKETINGPLANITEMID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 0)   where [P].[ID] = @MARKETINGPLANITEMID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [P].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [S].[ID] [PARENTID], [S].[CODE] from dbo.[MKTSEGMENTATION] as [S] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 0) where [S].[ID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [S].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [S].[ID] [PARENTID], [S].[CODE] from dbo.[MKTSEGMENTATIONSEGMENT] as [S] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 1) where [S].[SEGMENTATIONID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [S].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [T].[ID] [PARENTID], [T].[CODE] from dbo.[MKTSEGMENTATIONTESTSEGMENT] as [T] inner join dbo.[MKTSEGMENTATIONSEGMENT] as [S] on [S].[ID] = [T].[SEGMENTID] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 1) where [S].[SEGMENTATIONID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [T].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [S].[CODE] from dbo.[MKTPACKAGE] as [P] inner join dbo.[MKTSEGMENTATIONPACKAGE] as [S] on [P].[ID] = [S].[PACKAGEID] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID))inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 2) where [S].[SEGMENTATIONID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [P].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTSOURCECODEPART] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on [P].[SOURCECODEITEMID] = [I].[ID] inner join dbo.[MKTSOURCECODEPARTDEFINITION] on [MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] where [P].[SEGMENTATIONID] = @SEGMENTATIONID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and ([P].[CHANNELCODE] = @CHANNELCODE or @CHANNELCODE is null)
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTSOURCECODEPART] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on [P].[SOURCECODEITEMID] = [I].[ID] inner join dbo.[MKTSOURCECODEPARTDEFINITION] on [MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID]   where [P].[MARKETINGPLANITEMID] = @MARKETINGPLANITEMID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and ([P].[CHANNELCODE] = @CHANNELCODE or @CHANNELCODE is null)
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [M].[ID] [PARENTID], [M].[CODE] from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATE] as [M] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from MKTACKNOWLEDGEMENTMAILINGTEMPLATE where ID = @ACKNOWLEDGEMENTMAILINGTEMPLATEID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 0) where [M].[ID] = @ACKNOWLEDGEMENTMAILINGTEMPLATEID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [M].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTSOURCECODEPART] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on [P].[SOURCECODEITEMID] = [I].[ID] inner join dbo.[MKTSOURCECODEPARTDEFINITION] on [MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] where [P].[ACKNOWLEDGEMENTMAILINGTEMPLATEID] = @ACKNOWLEDGEMENTMAILINGTEMPLATEID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and ([P].[CHANNELCODE] = @CHANNELCODE or @CHANNELCODE is null)
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [M].[ID] [PARENTID], [M].[CODE] from dbo.[MKTMEMBERSHIPMAILINGTEMPLATE] as [M] inner join dbo.[MKTSOURCECODEITEM] as [I] on ([I].[SOURCECODEID] = (select [SOURCECODEID] from MKTMEMBERSHIPMAILINGTEMPLATE where ID = @MEMBERSHIPMAILINGTEMPLATEID)) inner join dbo.[MKTSOURCECODEPARTDEFINITION] on ([MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] and [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE] = 0) where [M].[ID] = @MEMBERSHIPMAILINGTEMPLATEID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and [M].[ID] = @PARENTID
    union
    select [MKTSOURCECODEPARTDEFINITION].[ITEMTYPECODE], [P].[ID] [PARENTID], [P].[CODE] from dbo.[MKTSOURCECODEPART] as [P] inner join dbo.[MKTSOURCECODEITEM] as [I] on [P].[SOURCECODEITEMID] = [I].[ID] inner join dbo.[MKTSOURCECODEPARTDEFINITION] on [MKTSOURCECODEPARTDEFINITION].[ID] = [I].[MKTSOURCECODEPARTDEFINITIONID] where [P].[MEMBERSHIPMAILINGTEMPLATEID] = @MEMBERSHIPMAILINGTEMPLATEID and ([I].[ID] = @SOURCECODEITEMID or @SOURCECODEITEMID is null) and ([P].[CHANNELCODE] = @CHANNELCODE or @CHANNELCODE is null);

  return 0;