USP_DATALIST_MKTLETTERCODE
Returns a list of letters.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@INCLUDEINACTIVE | bit | IN | Include inactive letters |
@MAILINGTYPECODE | tinyint | IN | Type |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SECURITYFEATUREID | uniqueidentifier | IN | Input parameter indicating the ID of the feature to use for site security checking. |
@SECURITYFEATURETYPE | tinyint | IN | Input parameter indicating the type of the feature to use for site security checking. |
Definition
Copy
CREATE procedure dbo.[USP_DATALIST_MKTLETTERCODE]
(
@INCLUDEINACTIVE bit = 0,
@MAILINGTYPECODE tinyint = 255,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as
set nocount on;
select
[LETTERCODE].[ID],
[LETTERCODE].[NAME],
[LETTERCODE].[DESCRIPTION],
[LETTERCODE].[WORDTEMPLATEFILENAME],
case dbo.[UFN_MKTEXPORTDEFINITION_GETMAILINGTYPECODEFROMRECORDTYPEID]([EXPORTDEFINITION].[RECORDTYPEID])
when 0 then 'Direct marketing'
when 1 then 'Marketing acknowledgement'
when 2 then 'Membership'
when 3 then 'Sponsorship'
else '' end as [MAILINGTYPE],
[EXPORTDEFINITION].[NAME],
case [LETTERCODE].[ISACTIVE] when 1 then 'Active' else 'Inactive' end as [STATUS],
[LETTERCODE].[WORDTEMPLATEFILENAME],
'WORDFILE',
'33B074F0-9EDF-4EB2-B21F-3338C4522819' as [VIEWFORMID],
[LETTERCODE].[INCLUDESRECEIPT],
[LETTERCODE].[ISACTIVE] [ISACTIVE],
stuff(
(
select ', ' + [SITE].[NAME]
from dbo.[SITE]
inner join dbo.[UFN_SITEID_MAPFROM_LETTERCODEID]([LETTERCODE].[ID]) as [LETTERCODESITES] on [LETTERCODESITES].[SITEID] = [SITE].[ID]
order by [SITE].[NAME]
for xml path(''), type
).value('.', 'varchar(max)')
, 1, 2, ''
) as [SITES]
from dbo.[LETTERCODE]
inner join dbo.[EXPORTDEFINITION] on [EXPORTDEFINITION].[ID] = [LETTERCODE].[EXPORTDEFINITIONID]
left outer join dbo.[RECORDTYPE] on [RECORDTYPE].[ID] = [EXPORTDEFINITION].[RECORDTYPEID]
where (@INCLUDEINACTIVE = 1 or (@INCLUDEINACTIVE = 0 and [LETTERCODE].[ISACTIVE] = 1))
and (@MAILINGTYPECODE is null or @MAILINGTYPECODE = 255 or dbo.[UFN_MKTEXPORTDEFINITION_GETMAILINGTYPECODEFROMRECORDTYPEID]([EXPORTDEFINITION].[RECORDTYPEID]) = @MAILINGTYPECODE)
and [LETTERCODE].[ISSYSTEM] = 0
and (
select count(1)
from dbo.[UFN_SITEID_MAPFROM_LETTERCODEID]([LETTERCODE].[ID]) [LETTERCODESITES]
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[LETTERCODESITES].[SITEID] or (SITEID is null and [LETTERCODESITES].[SITEID] is null)))
) > 0
and (
@SITEFILTERMODE = 0
or exists(
select 1
from dbo.[UFN_SITE_BUILDDATALISTSITEFILTER](@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) [SITEFILTER]
inner join dbo.[UFN_SITEID_MAPFROM_LETTERCODEID]([LETTERCODE].[ID]) [LETTERCODESITES] on [LETTERCODESITES].[SITEID] = [SITEFILTER].[SITEID]
)
)
and (dbo.[UFN_MKTEXPORTDEFINITION_GETMAILINGTYPECODEFROMRECORDTYPE]([RECORDTYPE].[NAME]) in (0, 1, 2, 3))
order by [LETTERCODE].[NAME];
return 0;