UFN_PLEDGE_GETREVALUEDBALANCEINCURRENCY_BULK_NO_MULTICURRENCY
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ASOFDATE | datetime | IN |
Definition
Copy
create function dbo.UFN_PLEDGE_GETREVALUEDBALANCEINCURRENCY_BULK_NO_MULTICURRENCY
(
@ASOFDATE datetime
)
returns table
as
return
(
select
REVENUE.ID,
REVENUE.TRANSACTIONAMOUNT - coalesce(PLEDGEAMOUNT.AMOUNT,0) - coalesce(WRITEOFFAMOUNT.AMOUNT,0) as BALANCEINCURRENCY,
REVENUE.CALCULATEDDATE [DATE],
REVENUE.TYPECODE TRANSACTIONTYPECODE,
REVENUE.TYPE TRANSACTIONTYPE,
REVENUE.CONSTITUENTID,
REVENUE.TRANSACTIONAMOUNT,
REVENUE_EXT.APPEALID
from dbo.FINANCIALTRANSACTION REVENUE with (nolock)
inner join dbo.REVENUE_EXT on REVENUE.ID = REVENUE_EXT.ID
left join (
select sum(INSTALLMENTSPLITPAYMENT.AMOUNT) as AMOUNT, INSTALLMENTSPLITPAYMENT.PLEDGEID
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT on REVENUESPLIT.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
inner join dbo.FINANCIALTRANSACTION PAYMENT on PAYMENT.ID = REVENUESPLIT.FINANCIALTRANSACTIONID
where PAYMENT.TYPECODE in (0,1,2,3,4,5,6,7,8,9) and REVENUESPLIT.DELETEDON is null and REVENUESPLIT.TYPECODE != 1
and PAYMENT.CALCULATEDDATE <= @ASOFDATE
group by INSTALLMENTSPLITPAYMENT.PLEDGEID) PLEDGEAMOUNT on PLEDGEAMOUNT.PLEDGEID = REVENUE.ID
left join (
select sum(INSTALLMENTSPLITWRITEOFF.TRANSACTIONAMOUNT) AMOUNT, WRITEOFF.PARENTID
from dbo.INSTALLMENTSPLITWRITEOFF
inner join dbo.FINANCIALTRANSACTION WRITEOFF on INSTALLMENTSPLITWRITEOFF.WRITEOFFID = WRITEOFF.ID
where WRITEOFF.TYPECODE = 20 and WRITEOFF.DELETEDON is null
and WRITEOFF.CALCULATEDDATE <= @ASOFDATE
group by WRITEOFF.PARENTID) WRITEOFFAMOUNT on WRITEOFFAMOUNT.PARENTID = REVENUE.ID
where REVENUE.TYPECODE in (0,1,2,3,4,5,6,7,8,9) and REVENUE.DELETEDON is null
)