USP_DATAFORMTEMPLATE_VIEW_NEXTINSTALLMENT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@INSTALLMENTS | xml | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_NEXTINSTALLMENT
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@INSTALLMENTS xml = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @INSTALLMENTS =
(
select
INSTALLMENT.SEQUENCE,
INSTALLMENT.AMOUNT,
INSTALLMENT.RECEIPTAMOUNT,
coalesce(sum(INSTALLMENTSPLITPAYMENT.AMOUNT), 0) as AMOUNTPAID,
coalesce(sum(REVENUE_EXT.RECEIPTAMOUNT), 0) as AMOUNTRECEIPTED,
case
when INSTALLMENTSPLITPAYMENT.PAYMENTID is not null then INSTALLMENTSPLITPAYMENT.PAYMENTID
else '00000000-0000-0000-0000-000000000000'
end as PAYMENTID
from dbo.INSTALLMENT
left join dbo.INSTALLMENTSPLIT on INSTALLMENT.ID = INSTALLMENTSPLIT.INSTALLMENTID
left join dbo.INSTALLMENTSPLITPAYMENT on INSTALLMENTSPLIT.ID = INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID
left join dbo.FINANCIALTRANSACTIONLINEITEM PAYMENTSPLIT on INSTALLMENTSPLITPAYMENT.PAYMENTID = PAYMENTSPLIT.ID
left join dbo.REVENUESPLIT_EXT on PAYMENTSPLIT.ID = REVENUESPLIT_EXT.ID
left join dbo.FINANCIALTRANSACTION PAYMENT on PAYMENTSPLIT.FINANCIALTRANSACTIONID = PAYMENT.ID
left join dbo.REVENUE_EXT on PAYMENT.ID = REVENUE_EXT.ID
where
INSTALLMENT.REVENUEID = @ID
group by
INSTALLMENT.SEQUENCE,
INSTALLMENT.AMOUNT,
INSTALLMENT.RECEIPTAMOUNT,
INSTALLMENTSPLITPAYMENT.PAYMENTID
for xml raw('ITEM'), type, elements, root('INSTALLMENTS'), BINARY BASE64
)
if @INSTALLMENTS is not null
set @DATALOADED = 1
return 0;