UFN_INSTALLMENT_GETINSTALLMENTBALANCEIGNOREPAYMENT
Returns the unpaid balance for an installment, ignoring the given payment.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@INSTALLMENTID | uniqueidentifier | IN | |
@PAYMENTID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_INSTALLMENT_GETINSTALLMENTBALANCEIGNOREPAYMENT
(
@INSTALLMENTID uniqueidentifier,
@PAYMENTID uniqueidentifier
)
returns money
with execute as caller
as begin
declare @BALANCE money;
select
@BALANCE =
INSTALLMENT.TRANSACTIONAMOUNT
- (
coalesce(
(
select
sum(INSTALLMENTPAYMENT.AMOUNT)
from dbo.INSTALLMENTPAYMENT
inner join dbo.REVENUESPLIT on REVENUESPLIT.ID = INSTALLMENTPAYMENT.PAYMENTID
where INSTALLMENTPAYMENT.INSTALLMENTID = @INSTALLMENTID
and REVENUESPLIT.REVENUEID <> @PAYMENTID
)
, 0)
+ coalesce(
(
select
sum(INSTALLMENTWRITEOFF.TRANSACTIONAMOUNT)
from dbo.INSTALLMENTWRITEOFF
where INSTALLMENTWRITEOFF.INSTALLMENTID = @INSTALLMENTID
)
, 0)
)
from
dbo.INSTALLMENT
where
INSTALLMENT.ID = @INSTALLMENTID;
return @BALANCE;
end