UFN_MKTSEGMENTPASSIVE_GETDATALIST

Helper function used by the media outlet, time slot and marketing location data lists.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@SEGMENTTYPECODE tinyint IN
@GROUPID uniqueidentifier IN
@SEGMENTCATEGORYCODEID uniqueidentifier IN
@VENDORID uniqueidentifier IN

Definition

Copy


CREATE function dbo.[UFN_MKTSEGMENTPASSIVE_GETDATALIST]
(
  @SEGMENTTYPECODE tinyint = null,
  @GROUPID uniqueidentifier = null,
  @SEGMENTCATEGORYCODEID uniqueidentifier = null,
  @VENDORID uniqueidentifier = null
)
returns table
as
  return
  (
    select
      [MKTSEGMENT].[ID],
      [MKTSEGMENT].[NAME],
      [MKTSEGMENT].[SEGMENTTYPECODE],
      [MKTSEGMENT].[SEGMENTTYPE],
      [MKTSEGMENTGROUP].[ID] as [GROUPID],
      [MKTSEGMENTGROUP].[NAME] as [GROUP],
      [MKTSEGMENTCATEGORYCODE].[DESCRIPTION] as [CATEGORY],
      [MKTSEGMENT].[CODE],
      [VENDOR].[NAME] as [VENDOR],
      [MEDIAOUTLET].[NAME] as [MEDIAOUTLET],
      [MKTSEGMENTPASSIVE].[SCHEDULESTARTTIME] as [STARTTIME],
      dbo.[UFN_MKTSEGMENTPASSIVE_GETDURATION]([MKTSEGMENTPASSIVE].[SCHEDULEDURATION]) as [DURATION],
      [MKTSEGMENTPASSIVE].[IMPRESSIONS],
      lower([MKTSEGMENTPASSIVE].[IMPRESSIONCALCULATIONMETHOD]) as [IMPRESSIONCALCULATIONMETHOD],
      dbo.[UFN_MKTSEGMENT_ISINUSE]([MKTSEGMENT].[ID]) as [INUSE],
      convert(bit, case when [MKTSEGMENTPASSIVE].[INACTIVE] = 1 then 0 else 1 end) as [ISACTIVE],
      [MKTSEGMENT].[SITEID],
      [SITE].[NAME] as [SITE],
      [MKTSEGMENT].[DESCRIPTION],
      [MKTGROUPSEGMENTS].[SEQUENCE]
    from dbo.[MKTSEGMENT]
    inner join dbo.[MKTSEGMENTPASSIVE] on [MKTSEGMENTPASSIVE].[ID] = [MKTSEGMENT].[ID]
    left outer join dbo.[MKTGROUPSEGMENTS] on [MKTSEGMENT].[ID] = [MKTGROUPSEGMENTS].[SEGMENTID]
    left outer join dbo.[MKTSEGMENTGROUP] on [MKTGROUPSEGMENTS].[SEGMENTGROUPID] = [MKTSEGMENTGROUP].[ID]
    left outer join dbo.[MKTSEGMENTCATEGORYCODE] on [MKTSEGMENTCATEGORYCODE].[ID] = [MKTSEGMENT].[SEGMENTCATEGORYCODEID]
    left outer join dbo.[CONSTITUENT] as [VENDOR] on [VENDOR].[ID] = [MKTSEGMENTPASSIVE].[VENDORID]
    left outer join dbo.[MKTSEGMENT] as [MEDIAOUTLET] on [MEDIAOUTLET].[ID] = [MKTSEGMENTPASSIVE].[PARENTMEDIAOUTLETSEGMENTID]
    left outer join dbo.[SITE] on [SITE].[ID] = [MKTSEGMENT].[SITEID]
    where (@SEGMENTTYPECODE is null or [MKTSEGMENT].[SEGMENTTYPECODE] = @SEGMENTTYPECODE)
    and (@GROUPID is null or [MKTSEGMENTGROUP].[ID] = @GROUPID)
    and (@SEGMENTCATEGORYCODEID is null or [MKTSEGMENT].[SEGMENTCATEGORYCODEID] = @SEGMENTCATEGORYCODEID)
    and (@VENDORID is null or ([MKTSEGMENT].[SEGMENTTYPECODE] in (6, 8) and [MKTSEGMENTPASSIVE].[VENDORID] = @VENDORID))
  );