UFN_PLANNEDGIFT_GETTRANSACTIONREALIZEDAMOUNT
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_PLANNEDGIFT_GETTRANSACTIONREALIZEDAMOUNT
(
@ID uniqueidentifier
)
returns money
with execute as caller
as
begin
declare @REALIZEDAMOUNT money;
set @REALIZEDAMOUNT = 0;
if(dbo.UFN_PLANNEDGIFT_AUTOCALCULATE_REALIZEDAMOUNT(@ID) = 1)
begin
with REVENUEAMOUNT_CTE(REVENUEAMOUNT) as
(
--Pull in any payments for the planned gift revenue
select
INSTALLMENTSPLITPAYMENT.AMOUNT as [REVENUEAMOUNT]
from
dbo.PLANNEDGIFTREVENUE
inner join dbo.INSTALLMENTSPLITPAYMENT on
INSTALLMENTSPLITPAYMENT.PLEDGEID = PLANNEDGIFTREVENUE.REVENUEID
where
PLANNEDGIFTREVENUE.ID = @ID
union all
--Pull in any revenue directly paying this planned gift
select
REVENUESPLIT.TRANSACTIONAMOUNT as [REVENUEAMOUNT]
from
dbo.PLANNEDGIFTREVENUESPLIT
inner join dbo.REVENUESPLIT on
REVENUESPLIT.ID = PLANNEDGIFTREVENUESPLIT.REVENUESPLITID
where
PLANNEDGIFTREVENUESPLIT.PLANNEDGIFTID = @ID
union all
--Pull in any payments for any planned gift addition revenue (added to fix Bug 174692)
select
INSTALLMENTSPLITPAYMENT.AMOUNT as [REVENUEAMOUNT]
from
dbo.PLANNEDGIFTADDITION
inner join dbo.PLANNEDGIFTADDITIONREVENUE on
PLANNEDGIFTADDITIONREVENUE.ID = PLANNEDGIFTADDITION.ID
inner join dbo.INSTALLMENTSPLITPAYMENT on
INSTALLMENTSPLITPAYMENT.PLEDGEID = PLANNEDGIFTADDITIONREVENUE.REVENUEID
where
PLANNEDGIFTADDITION.PLANNEDGIFTID = @ID
)
select
@REALIZEDAMOUNT = isnull(sum(REVENUEAMOUNT),0)
from
REVENUEAMOUNT_CTE;
end
else
begin
select
@REALIZEDAMOUNT = isnull(PLANNEDGIFT.TRANSACTIONREALIZEDVALUE,0)
from
dbo.PLANNEDGIFT
where
PLANNEDGIFT.ID = @ID
end
return @REALIZEDAMOUNT;
end