UFN_PLEDGE_GETREVALUEDSPLITBALANCESINCURRENCY_BULK_NO_MULTICURRENCY
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ASOFDATE | datetime | IN |
Definition
Copy
CREATE function dbo.UFN_PLEDGE_GETREVALUEDSPLITBALANCESINCURRENCY_BULK_NO_MULTICURRENCY
(
@ASOFDATE datetime
)
returns table
as return(
select
LI.ID,
LI.TRANSACTIONAMOUNT - coalesce(PAYMENTS.AMOUNT,0) - coalesce(WRITEOFFS.AMOUNT,0) as [BALANCE]
from dbo.FINANCIALTRANSACTION as FT with (nolock)
inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on FT.ID = LI.FINANCIALTRANSACTIONID
inner join dbo.REVENUESPLIT_EXT RSE on RSE.ID = LI.ID
left join (select INSTALLMENTSPLIT.REVENUESPLITID,
sum(INSTALLMENTSPLITPAYMENT.AMOUNT) as AMOUNT
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.FINANCIALTRANSACTIONLINEITEM as PAYMENTLINEITEM on PAYMENTLINEITEM.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
inner join dbo.FINANCIALTRANSACTION PAYMENT on PAYMENT.ID = PAYMENTLINEITEM.FINANCIALTRANSACTIONID
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
where
PAYMENT.CALCULATEDDATE <= @ASOFDATE
and PAYMENT.TYPECODE in (0,1,2,3,4,5,6,7,8,9,15)
and PAYMENT.DELETEDON is NULL
group by INSTALLMENTSPLIT.REVENUESPLITID
) PAYMENTS on PAYMENTS.REVENUESPLITID = LI.ID
left join ( select INSTALLMENTSPLIT.REVENUESPLITID,
sum(INSTALLMENTSPLITWRITEOFF.TRANSACTIONAMOUNT) AMOUNT
from dbo.INSTALLMENTSPLITWRITEOFF
inner join dbo.FINANCIALTRANSACTION as WRITEOFF on INSTALLMENTSPLITWRITEOFF.WRITEOFFID = WRITEOFF.ID
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
where
WRITEOFF.CALCULATEDDATE <= @ASOFDATE
and WRITEOFF.TYPECODE = 20
and WRITEOFF.DELETEDON is NULL
group by INSTALLMENTSPLIT.REVENUESPLITID
) WRITEOFFS on WRITEOFFS.REVENUESPLITID = LI.ID
where
FT.TYPECODE in (1,3,4,6,8)
and FT.DELETEDON is null
and LI.DELETEDON is null
and LI.TYPECODE != 1
)