UFN_INSTALLMENT_GETINSTALLMENTSPLITBALANCEASOF
Returns the unpaid balance for a given pledge installment split as of a given date.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@INSTALLMENTSPLITID | uniqueidentifier | IN | |
@ASOFDATE | datetime | IN |
Definition
Copy
create function dbo.UFN_INSTALLMENT_GETINSTALLMENTSPLITBALANCEASOF
(
@INSTALLMENTSPLITID uniqueidentifier,
@ASOFDATE datetime
)
returns money
with execute as caller
as begin
declare @BALANCE money;
select
@BALANCE = INSTALLMENTSPLIT.TRANSACTIONAMOUNT -
(coalesce((select
sum(INSTALLMENTSPLITPAYMENT.AMOUNT)
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.REVENUESPLIT on REVENUESPLIT.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
inner join dbo.REVENUE on REVENUE.ID = REVENUESPLIT.REVENUEID
where INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = @INSTALLMENTSPLITID
and REVENUE.DATE <= @ASOFDATE), 0) +
coalesce((select
sum(INSTALLMENTSPLITWRITEOFF.TRANSACTIONAMOUNT)
from dbo.INSTALLMENTSPLITWRITEOFF
inner join dbo.WRITEOFF on INSTALLMENTSPLITWRITEOFF.WRITEOFFID = WRITEOFF.ID
where INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = @INSTALLMENTSPLITID
and WRITEOFF.DATE <= @ASOFDATE), 0))
from
dbo.INSTALLMENTSPLIT
where
INSTALLMENTSPLIT.ID = @INSTALLMENTSPLITID;
return @BALANCE;
end