UFN_CONSTITUENT_GETMATCHEDTOTALFORYEARINCURRENCY
Returns the total amount matched for a constituent by an organization in a specific year for revenue in a specific currency.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@MATCHINGORGANIZATIONID | uniqueidentifier | IN | |
@YEARSTART | datetime | IN | |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_CONSTITUENT_GETMATCHEDTOTALFORYEARINCURRENCY
(
@CONSTITUENTID uniqueidentifier = null,
@MATCHINGORGANIZATIONID uniqueidentifier = null,
@YEARSTART datetime,
@TRANSACTIONCURRENCYID uniqueidentifier = null
)
returns money
as
begin
declare @r money;
declare @YEAREND datetime = dateadd(month, 12, @YEARSTART);
if @TRANSACTIONCURRENCYID is null
set @TRANSACTIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @CONSTITUENT_GIFT table
(
ID uniqueidentifier
);
insert into
@CONSTITUENT_GIFT
select
ID
from
dbo.FINANCIALTRANSACTION
where
CONSTITUENTID = @CONSTITUENTID
and
DELETEDON is null
and
[DATE] between @YEARSTART and dbo.UFN_DATE_GETLATESTTIME(@YEAREND);
select
@r = coalesce(sum(MGREVENUE.TRANSACTIONAMOUNT), 0)
from
@CONSTITUENT_GIFT as ORIGINALREVENUE
inner join
dbo.REVENUEMATCHINGGIFT as RMG on RMG.MGSOURCEREVENUEID = ORIGINALREVENUE.ID
inner join
dbo.FINANCIALTRANSACTION as MGREVENUE on MGREVENUE.ID = RMG.ID
where
MGREVENUE.CONSTITUENTID = @MATCHINGORGANIZATIONID
and
MGREVENUE.TRANSACTIONCURRENCYID = @TRANSACTIONCURRENCYID
and
MGREVENUE.DELETEDON is null;
return @r;
end