USP_MKTACKNOWLEDGEMENTMAILINGPROCESS_GETREVIEWDATALIST
Returns a status list of all marketing acknowledgement processes.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@NUMDAYS | int | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTACKNOWLEDGEMENTMAILINGPROCESS_GETREVIEWDATALIST]
(
@CURRENTAPPUSERID uniqueidentifier,
@NUMDAYS int = 7
)
as
set nocount on;
declare @SECURITYFEATUREID uniqueidentifier;
declare @SECURITYFEATURETYPE tinyint;
set @SECURITYFEATUREID = 'C29FD902-ACD9-40F8-A74E-2C0C61657488';
set @SECURITYFEATURETYPE = 2;
select
[BUSINESSPROCESSSTATUS].[ID],
[MKTACKNOWLEDGEMENTMAILINGPROCESS].[NAME],
[BUSINESSPROCESSSTATUS].[STATUSCODE],
[BUSINESSPROCESSSTATUS].[STATUS],
[BUSINESSPROCESSSTATUS].[STARTEDON],
[BUSINESSPROCESSSTATUS].[ENDEDON],
[BUSINESSPROCESSSTATUS].[NUMBERPROCESSED],
[BUSINESSPROCESSSTATUS].[NUMBEROFEXCEPTIONS],
[MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION].[ACKNOWLEDGEDATE] as [ACKNOWLEDGERECEIPTDATE],
[MKTSEGMENTATION].[NAME] as [MAILINGNAME],
[MKTSEGMENTATION].[ID] as [MAILINGID],
datediff(s, [BUSINESSPROCESSSTATUS].[STARTEDON], coalesce([BUSINESSPROCESSSTATUS].[ENDEDON], getdate())) as [DURATION],
[MKTACKNOWLEDGEMENTMAILINGPROCESS].[ID] as "ACKNOWLEDGEMENTMAILINGPROCESSID"
from dbo.[BUSINESSPROCESSSTATUS]
inner join dbo.[MKTACKNOWLEDGEMENTMAILINGPROCESSSTATUS] on [MKTACKNOWLEDGEMENTMAILINGPROCESSSTATUS].[ID] = [BUSINESSPROCESSSTATUS].[ID]
inner join dbo.[MKTACKNOWLEDGEMENTMAILINGPROCESS] on [MKTACKNOWLEDGEMENTMAILINGPROCESSSTATUS].[PARAMETERSETID] = [MKTACKNOWLEDGEMENTMAILINGPROCESS].[ID]
left join dbo.[MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION] on [MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION].[ACKNOWLEDGEMENTMAILINGPROCESSSTATUSID] = [BUSINESSPROCESSSTATUS].[ID]
left join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = [MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION].[SEGMENTATIONID]
where dbo.[UFN_SECURITY_APPUSER_GRANTED_BUSINESSPROCESSINSTANCE_IN_SYSTEMROLE](@CURRENTAPPUSERID, [MKTACKNOWLEDGEMENTMAILINGPROCESS].[ID]) = 1
--The "GETEARLIESTTIME" date function has been inlined here for performance (the part with "cast(@DATE as date)")...
--The "GETLATESTTIME" date function has been inlined here for performance (the part with "dateadd(ms, -003...")...
and (isnull(@NUMDAYS, 0) <= 0 or dateadd(ms, -003, dateadd(d, 1, cast(cast([BUSINESSPROCESSSTATUS].[STARTEDON] as date) as datetime))) > cast(dateadd(dd, -@NUMDAYS, getdate()) as date))
and
( -- check site security
select count(*)
from
(select [SITEID]
from dbo.[MKTSEGMENTATION] as [SEGMENTATIONSITE]
where [SEGMENTATIONSITE].[ID] = [MKTSEGMENTATION].[ID])
as [SEGMENTATIONSITE]
where (dbo.[UFN_APPUSER_ISSYSADMIN](@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.[UFN_SITESFORUSERONFEATURE](@CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) where [SITEID] = [SEGMENTATIONSITE].[SITEID] or ([SITEID] is null and [SEGMENTATIONSITE].[SITEID] is null)))
) > 0
order by [BUSINESSPROCESSSTATUS].[STARTEDON] desc;
return 0;