USP_MKTPACKAGE_GETDATALIST

Returns a list of packages.

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN
@CHANNELCODE tinyint IN
@CATEGORYCODEID uniqueidentifier IN
@SITEFILTERMODE tinyint IN
@SITESSELECTED xml IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN
@CURRENCYCODE tinyint IN

Definition

Copy


CREATE procedure dbo.[USP_MKTPACKAGE_GETDATALIST]
(
  @CURRENTAPPUSERID uniqueidentifier,
  @CHANNELCODE tinyint = null,
  @CATEGORYCODEID uniqueidentifier = null,
  @SITEFILTERMODE tinyint = 0,
  @SITESSELECTED xml = null,
  @SECURITYFEATUREID uniqueidentifier = null,
  @SECURITYFEATURETYPE tinyint,
  @CURRENCYCODE tinyint = 0
)
as
  set nocount on;

  select
    [MKTPACKAGE].[ID],
    [MKTPACKAGE].[NAME],
    [MKTPACKAGE].[CODE],
    case @CURRENCYCODE when 1 then [MKTPACKAGE].[ORGANIZATIONUNITCOST]
                       else [MKTPACKAGE].[UNITCOST] end [UNITCOST],
    [MKTPACKAGE].[COSTDISTRIBUTIONMETHOD],
    [MKTPACKAGE].[DESCRIPTION],
    dbo.[UFN_TRANSLATIONFUNCTION_SITE_GETNAME]([MKTPACKAGE].[SITEID]) as [SITE],
    [MKTPACKAGE].[CHANNEL],
    [MKTPACKAGE].[CHANNELCODE],
    [MKTPACKAGECATEGORYCODE].[DESCRIPTION] as [CATEGORY],
    case [MKTPACKAGE].[CHANNELCODE] when 0 then [LETTERCODE].[NAME]
                                    when 1 then [EMAILTEMPLATE].[NAME]
                                    when 2 then [MKTPACKAGE].[DOCUMENTFILENAME]
                                    when 3 then [MKTCREATIVE].[NAME] end as [CONTENT],
    [MKTPACKAGE].[NETCOMMUNITYTEMPLATEID],
    coalesce([EXPORTDEFINITIONEMAIL].[NAME], [EXPORTDEFINITIONMAIL].[NAME], [EXPORTDEFINITIONPACKAGE].[NAME]) as [EXPORTDEFINITION],
    case @CURRENCYCODE when 1 then dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]()
                       else [MKTPACKAGE].[BASECURRENCYID] end [CURRENCYID]
  from dbo.[MKTPACKAGE]
  left outer join dbo.[MKTPACKAGECATEGORYCODE] on [MKTPACKAGECATEGORYCODE].[ID] = [MKTPACKAGE].[PACKAGECATEGORYCODEID]
  left outer join dbo.[LETTERCODE] on [LETTERCODE].[ID] = [MKTPACKAGE].[LETTERCODEID]
  left outer join dbo.[MKTCREATIVE] on [MKTCREATIVE].[ID] = [MKTPACKAGE].[CREATIVEID]
  left outer join dbo.[EXPORTDEFINITION] as [EXPORTDEFINITIONMAIL] on [EXPORTDEFINITIONMAIL].[ID] = isnull(case [MKTPACKAGE].[CHANNELCODE] when 0 then [LETTERCODE].[EXPORTDEFINITIONID] else null end, [MKTPACKAGE].[EXPORTDEFINITIONID])
  left outer join dbo.[MKTEXPORTDEFINITION] on ([MKTEXPORTDEFINITION].[NETCOMMUNITYDATASOURCEID] = [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] and [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] > 0)
  left outer join dbo.[EXPORTDEFINITION] as [EXPORTDEFINITIONEMAIL] on [EXPORTDEFINITIONEMAIL].[ID] = isnull(case [MKTPACKAGE].[CHANNELCODE] when 1 then [MKTEXPORTDEFINITION].[EXPORTDEFINITIONID] else null end, [MKTPACKAGE].[EXPORTDEFINITIONID])
  left outer join dbo.[EXPORTDEFINITION] as [EXPORTDEFINITIONPACKAGE] on [EXPORTDEFINITIONPACKAGE].[ID] = [MKTPACKAGE].[EXPORTDEFINITIONID]
  left outer join dbo.[EMAILTEMPLATE] as [EMAILTEMPLATE] on [EMAILTEMPLATE].[ID] = [MKTPACKAGE].[NETCOMMUNITYTEMPLATEID]
  where 
    (@CHANNELCODE is null or @CHANNELCODE = [MKTPACKAGE].[CHANNELCODE])
  and 
    (@CATEGORYCODEID is null or @CATEGORYCODEID = [MKTPACKAGE].[PACKAGECATEGORYCODEID])
  and (
        (
          ( -- check site security

            select count(*
            from
              (select [SITEID]
               from dbo.[MKTPACKAGE] as [PACKAGESITE]
               where [PACKAGESITE].[ID] = [MKTPACKAGE].[ID]) 
            as [PACKAGESITE]
            where (dbo.[UFN_APPUSER_ISSYSADMIN](@CURRENTAPPUSERID) = 1 or exists (select top 1 1 from dbo.[UFN_SITESFORUSERONFEATURE](@CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) where SITEID = [PACKAGESITE].[SITEID] or (SITEID is null and [PACKAGESITE].[SITEID] is null)))
          ) > 0
        )
      and 
        ( -- apply site filter

          @SITEFILTERMODE = 0
          or [MKTPACKAGE].[SITEID] in (select [SITEID] from dbo.[UFN_SITE_BUILDDATALISTSITEFILTER](@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED))
        )
      )    
  and [MKTPACKAGE].[ISSYSTEM] = 0

  order by
    [NAME];

  return 0;