UFN_PLEDGE_CALCULATECONTRIBUTEDINCOMEBALANCE
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PLEDGEID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_PLEDGE_CALCULATECONTRIBUTEDINCOMEBALANCE
(
@PLEDGEID uniqueidentifier
)
returns money
with execute as caller
as begin
declare @CONTRIBUTEDAMOUNT money = 0
select @CONTRIBUTEDAMOUNT = sum(CALCULATED.AMOUNT)
from (select sum(FINANCIALTRANSACTIONLINEITEM.TRANSACTIONAMOUNT)
- coalesce((select sum(INSTALLMENTSPLITPAYMENT.AMOUNT)
from dbo.INSTALLMENTSPLITPAYMENT
inner join INSTALLMENTSPLIT on INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
where INSTALLMENTSPLITPAYMENT.PLEDGEID = @PLEDGEID and INSTALLMENTSPLIT.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID), 0)
- coalesce((select sum(INSTALLMENTSPLITWRITEOFF.TRANSACTIONAMOUNT)
from dbo.WRITEOFF
inner join dbo.INSTALLMENTSPLITWRITEOFF on WRITEOFF.ID = INSTALLMENTSPLITWRITEOFF.WRITEOFFID
inner join INSTALLMENTSPLIT on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
where WRITEOFF.REVENUEID = @PLEDGEID and INSTALLMENTSPLIT.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID), 0) as AMOUNT
from dbo.FINANCIALTRANSACTIONLINEITEM
inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = FINANCIALTRANSACTIONLINEITEM.ID
where FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @PLEDGEID
and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
and REVENUESPLIT_EXT.DESIGNATIONID is not null
group by FINANCIALTRANSACTIONLINEITEM.ID) CALCULATED
return @CONTRIBUTEDAMOUNT
end