USP_DATALIST_PLEDGEREMINDERFORMATTEDOUTPUT
Returns a list of records from the pledge reminder process with selected formatting applied in constituent mail 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 |
@NAMEFORMATPARAMETERID | uniqueidentifier | IN | Name format ID |
@ADDRESSPROCESSINGOPTIONID | uniqueidentifier | IN | Address format |
@PARAMETERSETID | uniqueidentifier | IN | Parameter set ID |
@STARTDATE | datetime | IN | |
@EXCLUDEDECEASED | bit | IN | |
@EXCLUDEINACTIVE | bit | IN | |
@INCLUSIONS | xml | IN | |
@EXCLUSIONS | xml | IN | |
@OWNERID | uniqueidentifier | 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_PLEDGEREMINDERFORMATTEDOUTPUT
(
@SELECTIONID uniqueidentifier = null,
@DATE datetime,
@MAXROWS int,
@EXCLUDEMAIL bit,
@EXCLUDEPHONE bit,
@EXCLUDEEMAIL bit,
@NAMEFORMATPARAMETERID uniqueidentifier = null,
@ADDRESSPROCESSINGOPTIONID uniqueidentifier = null,
@PARAMETERSETID uniqueidentifier = null,
@STARTDATE datetime = null,
@EXCLUDEDECEASED bit = null,
@EXCLUDEINACTIVE bit = null,
@INCLUSIONS xml = null,
@EXCLUSIONS xml = null,
@OWNERID uniqueidentifier = null,
--@OVERRIDEREQUIREDEXCLUSIONS bit = 0,
--@REQUIREDEXCLUSIONS xml = null
@CURRENTAPPUSERID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as
/*
This is not really used anymore for preview but the metadata is for the BP
The Stored procedure has become to complex to be loaded anymore.
Ideally we should rewrite
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)
REVENUE.ID as REVENUEID,
REVENUE.TRANSACTIONTYPECODE as TC
from
dbo.REVENUE with (nolock)
inner join
dbo.REVENUESCHEDULE SCHEDULE on REVENUE.ID = SCHEDULE.ID
inner join
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITIDS_FORBUSINESSPROCESS(@OWNERID, @BPID) as CONSTIT_RACS on REVENUE.CONSTITUENTID = CONSTIT_RACS.ID
inner join
dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUE.CONSTITUENTID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (REVENUE.TRANSACTIONTYPECODE = 1 and dbo.UFN_PLEDGE_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
or (REVENUE.TRANSACTIONTYPECODE = 2 and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
and exists
(
select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.REVENUEID = REVENUE.ID
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)))
)
)
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_PLEDGEREMINDEROUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@PARAMETERSETID,@STARTDATE) STANDARDVIEW on REM.REVENUEID = STANDARDVIEW.REVENUEID
order by
STANDARDVIEW.CONSTITUENTNAME;
end
else
begin
set nocount on;
with REMINDER_CTE as (
select top (@MAXROWS)
REVENUE.ID as REVENUEID,
REVENUE.TRANSACTIONTYPECODE as TC
from
dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID) SELECTION
inner join
dbo.REVENUE on SELECTION.ID = REVENUE.ID
inner join
dbo.REVENUESCHEDULE SCHEDULE on REVENUE.ID = SCHEDULE.ID
inner join
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITIDS_FORBUSINESSPROCESS(@OWNERID, @BPID) as CONSTIT_RACS on REVENUE.CONSTITUENTID = CONSTIT_RACS.ID
inner join
dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUE.CONSTITUENTID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (REVENUE.TRANSACTIONTYPECODE = 1 and dbo.UFN_PLEDGE_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
or (REVENUE.TRANSACTIONTYPECODE = 2 and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
and exists
(
select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.REVENUEID = REVENUE.ID
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)))
)
)
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_PLEDGEREMINDEROUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@PARAMETERSETID,@STARTDATE) 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)
REVENUE.ID as REVENUEID,
REVENUE.TRANSACTIONTYPECODE as TC
from
dbo.REVENUE with (nolock)
inner join
dbo.REVENUESCHEDULE SCHEDULE on REVENUE.ID = SCHEDULE.ID
inner join
dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUE.CONSTITUENTID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (REVENUE.TRANSACTIONTYPECODE = 1 and dbo.UFN_PLEDGE_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
or (REVENUE.TRANSACTIONTYPECODE = 2 and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
and exists
(
select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.REVENUEID = REVENUE.ID
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)))
)
)
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_PLEDGEREMINDEROUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@PARAMETERSETID,@STARTDATE) STANDARDVIEW on REM.REVENUEID = STANDARDVIEW.REVENUEID
order by
STANDARDVIEW.CONSTITUENTNAME;
end
else
begin
set nocount on;
with REMINDER_CTE as (
select top (@MAXROWS)
REVENUE.ID as REVENUEID,
REVENUE.TRANSACTIONTYPECODE as TC
from
dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID) SELECTION
inner join
dbo.REVENUE on SELECTION.ID = REVENUE.ID
inner join
dbo.REVENUESCHEDULE SCHEDULE on REVENUE.ID = SCHEDULE.ID
inner join
dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUE.CONSTITUENTID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (REVENUE.TRANSACTIONTYPECODE = 1 and dbo.UFN_PLEDGE_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
or (REVENUE.TRANSACTIONTYPECODE = 2 and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
and exists
(
select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.REVENUEID = REVENUE.ID
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)))
)
)
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_PLEDGEREMINDEROUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@PARAMETERSETID,@STARTDATE) STANDARDVIEW on REM.REVENUEID = STANDARDVIEW.REVENUEID
order by
STANDARDVIEW.CONSTITUENTNAME;
end
end
*/
with REMINDER_CTE as (
select top (@MAXROWS)
REVENUE.ID as REVENUEID,
REVENUE.TRANSACTIONTYPECODE as TC
from
dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID) SELECTION
inner join dbo.REVENUE on SELECTION.ID = REVENUE.ID and @SELECTIONID is not null
inner join dbo.REVENUESCHEDULE SCHEDULE on REVENUE.ID = SCHEDULE.ID
inner join dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUE.CONSTITUENTID = EXC.ID
where
SCHEDULE.SENDPLEDGEREMINDER = 1
and (REVENUE.TRANSACTIONTYPECODE = 1 and dbo.UFN_PLEDGE_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
or (REVENUE.TRANSACTIONTYPECODE = 2 and dbo.UFN_RECURRINGGIFT_PAYMENTDUE(REVENUE.ID, @DATE) > 0)
and exists
(
select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.REVENUEID = REVENUE.ID
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)))
)
)
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_PLEDGEREMINDEROUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@PARAMETERSETID,@STARTDATE) STANDARDVIEW on REM.REVENUEID = STANDARDVIEW.REVENUEID
order by
STANDARDVIEW.CONSTITUENTNAME;