USP_FEPSUBMITPROCESS_GETDATAFOREXPORT
This stored procedure will retrieve information needed for the export file of the fundraising effectiveness project submit process.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@SITEID | uniqueidentifier | IN | |
@NUMGIFTS | int | INOUT | |
@LARGESTGIFT | decimal(18, 0) | INOUT |
Definition
Copy
create procedure dbo.USP_FEPSUBMITPROCESS_GETDATAFOREXPORT
(
@STARTDATE datetime,
@ENDDATE datetime,
@SITEID uniqueidentifier = null,
@NUMGIFTS integer = 0 output,
@LARGESTGIFT decimal = 0 output
)
as
begin
declare @REVENUE table(
REVENUEID uniqueidentifier,
CONSTITUENTID uniqueidentifier,
AMOUNT money,
DATE datetime
)
insert into @REVENUE
select
REVENUE.ID,
REVENUE.CONSTITUENTID,
sum(REVENUESPLIT.AMOUNT) [AMOUNT],
REVENUE.DATE
from dbo.REVENUE
inner join dbo.REVENUESPLIT
on REVENUE.ID = REVENUESPLIT.REVENUEID
inner join dbo.CONSTITUENT
on REVENUE.CONSTITUENTID = CONSTITUENT.ID
where REVENUE.TRANSACTIONTYPECODE = 0 -- all donations, regardless of application type
and REVENUE.DATE between @STARTDATE and @ENDDATE
and (@SITEID is null or @SITEID = dbo.UFN_SITEID_MAPFROM_DESIGNATIONID(REVENUESPLIT.DESIGNATIONID))
group by REVENUE.ID, REVENUE.CONSTITUENTID, REVENUE.TRANSACTIONTYPECODE, REVENUE.DATE;
select
@NUMGIFTS = count(distinct REVENUEID)
from @REVENUE;
declare @CONSTITUENTREVENUE table (
CONSTITUENTID uniqueidentifier,
AMOUNT money
)
insert into @CONSTITUENTREVENUE (CONSTITUENTID, AMOUNT)
select
CONSTITUENTID,
sum(AMOUNT)
from @REVENUE
group by CONSTITUENTID;
select
@LARGESTGIFT = max(AMOUNT)
from @CONSTITUENTREVENUE;
select @NUMGIFTS, @LARGESTGIFT;
end