UFN_DESIGNATION_RAISEDBYAPPEAL
Creates a table of appeals, their descriptions, and the associated revenue information.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN |
Definition
Copy
CREATE function dbo.UFN_DESIGNATION_RAISEDBYAPPEAL
(@STARTDATE datetime, @ENDDATE datetime)
returns @REVENUEINFO table
(
APPEALID uniqueidentifier NOT NULL,
DESID uniqueidentifier NOT NULL,
DESNAME nvarchar(500) NOT NULL,
DESTOTALRECEIVED money NOT NULL,
DESTOTALRECEIVED_REGULAR money NOT NULL,
DESGROSSAMOUNT money NOT NULL
)
as
begin
select @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE),
@ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@ENDDATE);
insert into @REVENUEINFO
select
r.APPEALID APPEALID,
d.ID DESID,
d.NAME DESNAME,
coalesce(sum(rs.AMOUNT),0) DESTOTALRECEIVED,
0 DESTOTALRECEIVED_REGULAR,
coalesce(sum(rs.AMOUNT),0) + coalesce(sum(rsga.TAXCLAIMAMOUNT),0) DESGROSSAMOUNT
from dbo.REVENUE r
inner join dbo.REVENUESPLIT rs
on r.ID=rs.REVENUEID
left outer join dbo.REVENUESPLITGIFTAID rsga
on rs.ID = rsga.ID
inner join dbo.DESIGNATION d
on rs.DESIGNATIONID=d.ID
where (r.APPEALID is not null) and
(r.DATE >= @STARTDATE or @STARTDATE is null) and
(r.DATE <= @ENDDATE or @ENDDATE is null) and
r.TRANSACTIONTYPECODE = 0
group by r.APPEALID, d.ID, d.NAME;
-- update table to include total received from regular gifts (recurring gift payments)
update @REVENUEINFO set
DESTOTALRECEIVED_REGULAR =
(
select
coalesce(sum(rs.AMOUNT),0)
from dbo.REVENUE r
inner join dbo.REVENUESPLIT rs
on r.ID=rs.REVENUEID
where (r.APPEALID = info.APPEALID) and
(rs.DESIGNATIONID = info.DESID) and
(r.DATE >= @STARTDATE or @STARTDATE is null) and
(r.DATE <= @ENDDATE or @ENDDATE is null) and
r.TRANSACTIONTYPECODE = 0 and
rs.APPLICATIONCODE = 3
)
from @REVENUEINFO info;
return;
end