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;