UFN_PLEDGE_GETREVALUEDSPLITBALANCE_NO_MULTICURRENCY
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUESPLITID | uniqueidentifier | IN | |
@ASOFDATE | datetime | IN |
Definition
Copy
create function dbo.UFN_PLEDGE_GETREVALUEDSPLITBALANCE_NO_MULTICURRENCY
(
@REVENUESPLITID uniqueidentifier
,@ASOFDATE datetime
)
returns money
as
begin
declare @BALANCE money = 0;
select @BALANCE = LI.TRANSACTIONAMOUNT
from dbo.FINANCIALTRANSACTIONLINEITEM LI
where LI.ID = @REVENUESPLITID
and LI.DELETEDON is null
and LI.TYPECODE != 1;
select @BALANCE = @BALANCE - isnull(sum(isnull(INSTALLMENTSPLITPAYMENT.AMOUNT, 0)),0)
from dbo.INSTALLMENTSPLIT
inner join dbo.INSTALLMENTSPLITPAYMENT on INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM as PAYMENTLINEITEM on PAYMENTLINEITEM.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
inner join dbo.FINANCIALTRANSACTION PAYMENT on PAYMENT.ID = PAYMENTLINEITEM.FINANCIALTRANSACTIONID
where INSTALLMENTSPLIT.REVENUESPLITID = @REVENUESPLITID
and PAYMENT.CALCULATEDDATE <= @ASOFDATE
and PAYMENT.TYPECODE in (0,1,2,3,4,5,6,7,8,9,15)
and PAYMENT.DELETEDON is NULL;
select @BALANCE = @BALANCE - isnull(sum(isnull(INSTALLMENTSPLITWRITEOFF.TRANSACTIONAMOUNT, 0)),0)
from dbo.INSTALLMENTSPLIT
inner join dbo.INSTALLMENTSPLITWRITEOFF on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
inner join dbo.FINANCIALTRANSACTION as WRITEOFF on INSTALLMENTSPLITWRITEOFF.WRITEOFFID = WRITEOFF.ID
where INSTALLMENTSPLIT.REVENUESPLITID = @REVENUESPLITID
and WRITEOFF.CALCULATEDDATE <= @ASOFDATE
and WRITEOFF.TYPECODE = 20
and WRITEOFF.DELETEDON is NULL;
return @BALANCE;
end