UFN_QUERY_MKTEXPORTDEFINITION

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN
@SITEFILTERMODE tinyint IN
@SITESSELECTED xml IN

Definition

Copy


CREATE function dbo.[UFN_QUERY_MKTEXPORTDEFINITION]
(
  @CURRENTAPPUSERID uniqueidentifier,
  @SITEFILTERMODE tinyint = 0,
  @SITESSELECTED xml = null
)
returns table as
return 
(
  with xmlnamespaces ('bb_appfx_queryview' as tns, 'bb_appfx_commontypes' as common),
  [GRANTEDVIEWS_CTE] ([OBJECTNAME]) as
  (
    select [QUERYVIEWCATALOG].[OBJECTNAME]
    from dbo.[QUERYVIEWCATALOG]
    where
      [QUERYVIEWCATALOG].[ID] in
      (
        select [GRANTEDVIEWS].[QUERYVIEWCATALOGID]
        from dbo.[UFN_SECURITY_GETGRANTEDQUERYVIEWSFORUSER](@CURRENTAPPUSERID) as [GRANTEDVIEWS]
      )
      or
      (
        coalesce(QUERYVIEWCATALOG.QUERYVIEWSPEC.value('(tns:QueryViewSpec/@SecurityUIDisplayFeature)[1]', 'bit'), 1) = 0 and
        coalesce(QUERYVIEWCATALOG.QUERYVIEWSPEC.value('(tns:QueryViewSpec/@UseForExportDefinitionsOnly)[1]', 'bit'), 0) = 1
      )
  )
  select
    [EXPORTDEFINITION].[ID],
    [EXPORTDEFINITION].[NAME],
    case [RECORDTYPE].[NAME]
      when 'Direct Marketing Effort Segment Member Export' then 'Direct marketing'
      when 'Marketing Acknowledgement Segment Member Export' then 'Marketing acknowledgement'
      when 'Membership Effort Segment Member Export' then 'Membership renewal'
      when 'Sponsorship Effort Segment Member Export' then 'Sponsorship'
      when 'Acknowledgement Segment Member Export' then 'Marketing acknowledgement'
    end as [MAILINGTYPE],
    cast
    (
      case
        when exists (select top 1 1 from dbo.[MKTSEGMENTATIONEXPORTPROCESS] where [MAILEXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID]) then 1
        when exists (select top 1 1 from dbo.[MKTSEGMENTATIONEXPORTPROCESS] where [EMAILEXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID]) then 1
        when exists (select top 1 1 from dbo.[MKTSEGMENTATIONEXPORTPROCESS] where [PHONEEXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID]) then 1
        when exists (select top 1 1 from dbo.[LETTERCODE] where [EXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID]) then 1
        when exists (select top 1 1 from dbo.[MKTPACKAGE] where [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] = [MKTEXPORTDEFINITION].[NETCOMMUNITYDATASOURCEID] and [MKTEXPORTDEFINITION].[NETCOMMUNITYDATASOURCEID] > 0) then 1
        when exists (select top 1 1 from dbo.[MKTPACKAGE] where [EXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID]) then 1
        when exists (select top 1 1 from dbo.[MKTCOMMUNICATIONTEMPLATEDEFAULT] where [MAILEXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID] or [EMAILEXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID] or [PHONEEXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID])
               then 1
        else 0
      end
    as bit) as [INUSE],
    (
      select coalesce([NAME],'')
      from dbo.[MKTPOSTALTEMPLATE]
      where [ID] = [MKTEXPORTDEFINITION].[POSTALTEMPLATEID]
    ) as [POSTALTEMPLATE],
    [EXPORTDEFINITION].[DESCRIPTION],
    case [RECORDTYPE].[NAME]
      when 'Direct Marketing Effort Segment Member Export' then 0
      when 'Marketing Acknowledgement Segment Member Export' then 1
      when 'Membership Effort Segment Member Export' then 2
      when 'Sponsorship Effort Segment Member Export' then 3
      when 'Reminder Segment Member Export' then 5
      when 'Acknowledgement Segment Member Export' then 1
      else 255
    end as [MAILINGTYPECODE],
    cast
    (
      case
        when exists (select top 1 1 from dbo.[TASKCATALOG] where [ID] = '17d3a2c1-8645-4c10-bc00-f9aac5760c38') then
          case when (select top 1 len([URL]) from dbo.[NETCOMMUNITYINTEGRATION]) > 0 then 1
          else 0
        end
      else 0
    end as bit) as [NETCOMMUNITYLINKESTABLISHED],
    cast (1 as bit) as [USERCANEDIT],
    [SITE].[NAME] as [SITE],
    [EXPORTDEFINITION].[LOCKFIELDS] as [LOCKED],
    [CREATEDBY].[USERNAME] as [CREATEDBY],
    [MKTEXPORTDEFINITION].[DATEADDED] as [CREATEDON],
    [CHANGEDBY].[USERNAME] as [CHANGEDBY],
    [MKTEXPORTDEFINITION].[DATECHANGED] as [CHANGEDON]
 from dbo.[EXPORTDEFINITION]
    inner join dbo.[MKTEXPORTDEFINITION] on [MKTEXPORTDEFINITION].[EXPORTDEFINITIONID] = [EXPORTDEFINITION].[ID]
    inner join dbo.[RECORDTYPE] on [RECORDTYPE].[ID] = [EXPORTDEFINITION].[RECORDTYPEID]
    left outer join dbo.[SITE] on [SITE].[ID] = [EXPORTDEFINITION].[SITEID]
    left join dbo.[CHANGEAGENT] as [CREATEDBY] on [MKTEXPORTDEFINITION].[ADDEDBYID] = [CREATEDBY].[ID]
    left join dbo.[CHANGEAGENT] as [CHANGEDBY] on [MKTEXPORTDEFINITION].[CHANGEDBYID] = [CHANGEDBY].[ID]
  where
    (
      case [RECORDTYPE].[NAME]
        when 'Direct Marketing Effort Segment Member Export' then 1
        when 'Marketing Acknowledgement Segment Member Export' then 1
        when 'Membership Effort Segment Member Export' then 1
        when 'Sponsorship Effort Segment Member Export' then 1
        else 0
      end
    ) = 1 and
    [EXPORTDEFINITION].[ISSYSTEM] = 0 and
    (
      (
        select [ISSYSADMIN]
        from dbo.[APPUSER]
        where [ID] = @CURRENTAPPUSERID
      ) = 1 or
      -- filter out restricted query views

      not exists
      (
        select [QUERYVIEWSINUSE].[OBJECTNAME]
        from dbo.[UFN_EXPORTDEFINITION_QUERYVIEWSINUSE]([EXPORTDEFINITION].[EXPORTDEFINITIONXML]) as [QUERYVIEWSINUSE]
        where
          not exists
          (
            select [GRANTEDVIEWS].[OBJECTNAME]
            from [GRANTEDVIEWS_CTE] as [GRANTEDVIEWS]
            where [GRANTEDVIEWS].[OBJECTNAME] = [QUERYVIEWSINUSE].[OBJECTNAME]
          )
      )
    ) and
    (
      (
        select [ISSYSADMIN]
        from dbo.[APPUSER]
        where [ID] = @CURRENTAPPUSERID
      ) = 1 or
      exists
      (
        select 1
        from dbo.[UFN_SITESFORUSERONFEATURE](@CURRENTAPPUSERID, '43db8afc-cb52-425f-9241-581dcac39d44', 10)
        where [SITEID] = [EXPORTDEFINITION].[SITEID] or ([SITEID] is null and [EXPORTDEFINITION].[SITEID] is null)
      )
    ) and
    (
      @SITEFILTERMODE = 0 or
      [EXPORTDEFINITION].[SITEID] in
      (
        select [SITEID]
        from dbo.[UFN_SITE_BUILDDATALISTSITEFILTER](@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED)
      )
    )
)