USP_DATALIST_PLEDGEREMINDERPROCESSEMAILOUTPUT
Returns a list of records from the pledge reminder process in email output form.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SELECTIONID | uniqueidentifier | IN | SelectionID |
@DATE | datetime | IN | Date |
@MAXROWS | int | IN | Input parameter indicating the maximum number of rows to return. |
@EXCLUDEMAIL | bit | IN | Exclude mail |
@EXCLUDEPHONE | bit | IN | Exclude phone |
@EXCLUDEEMAIL | bit | IN | Exclude email |
@OWNERID | uniqueidentifier | IN | |
@STARTDATE | datetime | IN | |
@EXCLUDEDECEASED | bit | IN | |
@EXCLUDEINACTIVE | bit | IN | |
@INCLUSIONS | xml | IN | |
@EXCLUSIONS | xml | IN | |
@PARAMETERSETID | uniqueidentifier | IN | Parameter set ID |
@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_PLEDGEREMINDERPROCESSEMAILOUTPUT
(
@SELECTIONID uniqueidentifier = null,
@DATE datetime,
@MAXROWS int,
@EXCLUDEMAIL bit,
@EXCLUDEPHONE bit,
@EXCLUDEEMAIL bit,
@OWNERID uniqueidentifier = null,
@STARTDATE datetime =null,
@EXCLUDEDECEASED bit =null,
@EXCLUDEINACTIVE bit = null,
@INCLUSIONS xml =null,
@EXCLUSIONS xml =null,
@PARAMETERSETID uniqueidentifier = null,
--@OVERRIDEREQUIREDEXCLUSIONS bit = 0,
--@REQUIREDEXCLUSIONS xml = null
@CURRENTAPPUSERID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as
declare @BYPASSSECURITY bit;
declare @BPID uniqueidentifier;
set @BPID = '84414BD2-3196-4697-998A-2493C29A302A';
set @BYPASSSECURITY = 0;
set @CURRENTAPPUSERID = @OWNERID;
if @OWNERID is not null
begin
select @BYPASSSECURITY = dbo.UFN_APPUSER_ISSYSADMIN(@OWNERID);
if @BYPASSSECURITY = 0
select @BYPASSSECURITY = dbo.UFN_SECURITY_APPUSER_GRANTED_BUSINESSPROCESS_IN_NONRACROLE(@OWNERID, @BPID);
end
else
set @BYPASSSECURITY = 1;
if @BYPASSSECURITY = 0
begin
if @SELECTIONID is null
begin
set nocount on;
with REMINDER_CTE as (
select top (@MAXROWS)
FINANCIALTRANSACTION.ID as REVENUEID,
FINANCIALTRANSACTION.TYPECODE as TC
from
dbo.FINANCIALTRANSACTION with (nolock)
inner join
dbo.REVENUESCHEDULE SCHEDULE on FINANCIALTRANSACTION.ID = SCHEDULE.ID
inner join
dbo.CONSTITUENT on FINANCIALTRANSACTION.CONSTITUENTID = CONSTITUENT.ID
inner join
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITIDS_FORBUSINESSPROCESS(@OWNERID, @BPID) as CONSTIT_RACS on CONSTITUENT.ID = CONSTIT_RACS.ID
inner join
dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON CONSTITUENT.ID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (FINANCIALTRANSACTION.TYPECODE = 1 or FINANCIALTRANSACTION.TYPECODE = 2)
and (dbo.UFN_PLEDGE_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) is not null
and dbo.UFN_PLEDGE_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) > 0)
or (dbo.UFN_RECURRINGGIFT_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) is not null
and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) > 0)
and ((CONSTITUENT.DONOTMAIL = case @EXCLUDEMAIL when 1 then 0 end) or (CONSTITUENT.DONOTMAIL = case @EXCLUDEMAIL when 0 then 1 end or CONSTITUENT.DONOTMAIL = 0))
and ((CONSTITUENT.DONOTPHONE = case @EXCLUDEPHONE when 1 then 0 end) or (CONSTITUENT.DONOTPHONE = case @EXCLUDEPHONE when 0 then 1 end or CONSTITUENT.DONOTPHONE = 0))
and ((CONSTITUENT.DONOTEMAIL = case @EXCLUDEEMAIL when 1 then 0 end) or (CONSTITUENT.DONOTEMAIL = case @EXCLUDEEMAIL when 0 then 1 end or CONSTITUENT.DONOTEMAIL = 0))
and exists
(
select top 1 RSSUB.ID from dbo.FINANCIALTRANSACTIONLINEITEM RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and RSSUB.DELETEDON is null
and RSSUB.TYPECODE != 1
and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
)
and FINANCIALTRANSACTION.DELETEDON is null
)
select top (@MAXROWS)
STANDARDVIEW.*,
case when REM.TC = 1 then dbo.UFN_PLEDGE_PAYMENTDUE(REM.REVENUEID, @DATE) else dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REM.REVENUEID, @DATE) end as AMOUNTDUE
from
REMINDER_CTE REM with (nolock)
inner join
dbo.UFN_QUERY_PLEDGEREMINDERPROCESSEMAILOUTPUT(@PARAMETERSETID) STANDARDVIEW on REM.REVENUEID = STANDARDVIEW.REVENUEID
order by
STANDARDVIEW.CONSTITUENTNAME;
end
else
begin
set nocount on;
with REMINDER_CTE as (
select top (@MAXROWS)
FINANCIALTRANSACTION.ID as REVENUEID,
FINANCIALTRANSACTION.TYPECODE as TC
from
dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID) SELECTION
inner join
dbo.FINANCIALTRANSACTION on SELECTION.ID = FINANCIALTRANSACTION.ID
inner join
dbo.REVENUESCHEDULE SCHEDULE on FINANCIALTRANSACTION.ID = SCHEDULE.ID
inner join
dbo.CONSTITUENT on FINANCIALTRANSACTION.CONSTITUENTID = CONSTITUENT.ID
inner join
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITIDS_FORBUSINESSPROCESS(@OWNERID, @BPID) as CONSTIT_RACS on CONSTITUENT.ID = CONSTIT_RACS.ID
inner join
dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON CONSTITUENT.ID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (FINANCIALTRANSACTION.TYPECODE = 1 or FINANCIALTRANSACTION.TYPECODE = 2)
and (dbo.UFN_PLEDGE_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) is not null
and dbo.UFN_PLEDGE_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) > 0)
or (dbo.UFN_RECURRINGGIFT_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) is not null
and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) > 0)
and ((CONSTITUENT.DONOTMAIL = case @EXCLUDEMAIL when 1 then 0 end) or (CONSTITUENT.DONOTMAIL = case @EXCLUDEMAIL when 0 then 1 end or CONSTITUENT.DONOTMAIL = 0))
and ((CONSTITUENT.DONOTPHONE = case @EXCLUDEPHONE when 1 then 0 end) or (CONSTITUENT.DONOTPHONE = case @EXCLUDEPHONE when 0 then 1 end or CONSTITUENT.DONOTPHONE = 0))
and ((CONSTITUENT.DONOTEMAIL = case @EXCLUDEEMAIL when 1 then 0 end) or (CONSTITUENT.DONOTEMAIL = case @EXCLUDEEMAIL when 0 then 1 end or CONSTITUENT.DONOTEMAIL = 0))
and exists
(
select top 1 RSSUB.ID from dbo.FINANCIALTRANSACTIONLINEITEM RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and RSSUB.DELETEDON is null
and RSSUB.TYPECODE != 1
and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
)
and FINANCIALTRANSACTION.DELETEDON is null
)
select top (@MAXROWS)
STANDARDVIEW.*,
case when REM.TC = 1 then dbo.UFN_PLEDGE_PAYMENTDUE(REM.REVENUEID, @DATE) else dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REM.REVENUEID, @DATE) end as AMOUNTDUE
from
REMINDER_CTE REM
inner join
dbo.UFN_QUERY_PLEDGEREMINDERPROCESSEMAILOUTPUT(@PARAMETERSETID) STANDARDVIEW on REM.REVENUEID = STANDARDVIEW.REVENUEID
order by
STANDARDVIEW.CONSTITUENTNAME;
end
end
else
begin
if @SELECTIONID is null
begin
set nocount on;
with REMINDER_CTE as (
select top (@MAXROWS)
FINANCIALTRANSACTION.ID as REVENUEID,
FINANCIALTRANSACTION.TYPECODE as TC
from
dbo.FINANCIALTRANSACTION with (nolock)
inner join
dbo.REVENUESCHEDULE SCHEDULE on FINANCIALTRANSACTION.ID = SCHEDULE.ID
inner join
dbo.CONSTITUENT on FINANCIALTRANSACTION.CONSTITUENTID = CONSTITUENT.ID
inner join
dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON CONSTITUENT.ID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (FINANCIALTRANSACTION.TYPECODE = 1 or FINANCIALTRANSACTION.TYPECODE = 2)
and (dbo.UFN_PLEDGE_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) is not null
and dbo.UFN_PLEDGE_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) > 0)
or (dbo.UFN_RECURRINGGIFT_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) is not null
and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) > 0)
and ((CONSTITUENT.DONOTMAIL = case @EXCLUDEMAIL when 1 then 0 end) or (CONSTITUENT.DONOTMAIL = case @EXCLUDEMAIL when 0 then 1 end or CONSTITUENT.DONOTMAIL = 0))
and ((CONSTITUENT.DONOTPHONE = case @EXCLUDEPHONE when 1 then 0 end) or (CONSTITUENT.DONOTPHONE = case @EXCLUDEPHONE when 0 then 1 end or CONSTITUENT.DONOTPHONE = 0))
and ((CONSTITUENT.DONOTEMAIL = case @EXCLUDEEMAIL when 1 then 0 end) or (CONSTITUENT.DONOTEMAIL = case @EXCLUDEEMAIL when 0 then 1 end or CONSTITUENT.DONOTEMAIL = 0))
and exists
(
select top 1 RSSUB.ID from dbo.FINANCIALTRANSACTIONLINEITEM RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and RSSUB.DELETEDON is null
and RSSUB.TYPECODE != 1
and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
)
and FINANCIALTRANSACTION.DELETEDON is null
)
select top (@MAXROWS)
STANDARDVIEW.*,
case when REM.TC = 1 then dbo.UFN_PLEDGE_PAYMENTDUE(REM.REVENUEID, @DATE) else dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REM.REVENUEID, @DATE) end as AMOUNTDUE
from
REMINDER_CTE REM with (nolock)
inner join
dbo.UFN_QUERY_PLEDGEREMINDERPROCESSEMAILOUTPUT(@PARAMETERSETID) STANDARDVIEW on REM.REVENUEID = STANDARDVIEW.REVENUEID
order by
STANDARDVIEW.CONSTITUENTNAME;
end
else
begin
set nocount on;
with REMINDER_CTE as (
select top (@MAXROWS)
FINANCIALTRANSACTION.ID as REVENUEID,
FINANCIALTRANSACTION.TYPECODE as TC
from
dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID) SELECTION
inner join
dbo.FINANCIALTRANSACTION on SELECTION.ID = FINANCIALTRANSACTION.ID
inner join
dbo.REVENUESCHEDULE SCHEDULE on FINANCIALTRANSACTION.ID = SCHEDULE.ID
inner join
dbo.CONSTITUENT on FINANCIALTRANSACTION.CONSTITUENTID = CONSTITUENT.ID
inner join
dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON CONSTITUENT.ID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (FINANCIALTRANSACTION.TYPECODE = 1 or FINANCIALTRANSACTION.TYPECODE= 2)
and (dbo.UFN_PLEDGE_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) is not null
and dbo.UFN_PLEDGE_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) > 0)
or (dbo.UFN_RECURRINGGIFT_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) is not null
and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(FINANCIALTRANSACTION.ID, @DATE) > 0)
and ((CONSTITUENT.DONOTMAIL = case @EXCLUDEMAIL when 1 then 0 end) or (CONSTITUENT.DONOTMAIL = case @EXCLUDEMAIL when 0 then 1 end or CONSTITUENT.DONOTMAIL = 0))
and ((CONSTITUENT.DONOTPHONE = case @EXCLUDEPHONE when 1 then 0 end) or (CONSTITUENT.DONOTPHONE = case @EXCLUDEPHONE when 0 then 1 end or CONSTITUENT.DONOTPHONE = 0))
and ((CONSTITUENT.DONOTEMAIL = case @EXCLUDEEMAIL when 1 then 0 end) or (CONSTITUENT.DONOTEMAIL = case @EXCLUDEEMAIL when 0 then 1 end or CONSTITUENT.DONOTEMAIL = 0))
and exists
(
select top 1 RSSUB.ID from dbo.FINANCIALTRANSACTIONLINEITEM RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and RSSUB.DELETEDON is null
and RSSUB.TYPECODE != 1
and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
)
and FINANCIALTRANSACTION.DELETEDON is null
)
select top (@MAXROWS)
STANDARDVIEW.*,
case when REM.TC = 1 then dbo.UFN_PLEDGE_PAYMENTDUE(REM.REVENUEID, @DATE) else dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REM.REVENUEID, @DATE) end as AMOUNTDUE
from
REMINDER_CTE REM
inner join
dbo.UFN_QUERY_PLEDGEREMINDERPROCESSEMAILOUTPUT(@PARAMETERSETID) STANDARDVIEW on REM.REVENUEID = STANDARDVIEW.REVENUEID
order by
STANDARDVIEW.CONSTITUENTNAME;
end
end