UFN_REVENUEUPDATEBATCH_GETINSTALLMENTS

Returns all installments for a revenue update batch batch row.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@BATCHREVENUEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_REVENUEUPDATEBATCH_GETINSTALLMENTS
            (
                @BATCHREVENUEID uniqueidentifier
            )    
          returns table as
          return (
                select
                    BATCHREVENUEINSTALLMENT.ID,
                    BATCHREVENUEINSTALLMENT.INSTALLMENTID,
                    BATCHREVENUEINSTALLMENT.DATE,
                    BATCHREVENUEINSTALLMENT.AMOUNT,
                    (BULKINFO.TRANSACTIONAMOUNT - (BULKINFO.AMOUNTPAID + BULKINFO.AMOUNTWRITTENOFF)) as BALANCE,
                    (BULKINFO.AMOUNTPAID + BULKINFO.AMOUNTWRITTENOFF) as APPLIED,
                    BATCHREVENUEINSTALLMENT.SEQUENCE,
                    (select 
                            BATCHREVENUEINSTALLMENTSPLIT.ID, 
                            BATCHREVENUEINSTALLMENTSPLIT.INSTALLMENTSPLITID, 
                            BATCHREVENUEINSTALLMENTSPLIT.DESIGNATIONID, 
                            BATCHREVENUEINSTALLMENTSPLIT.AMOUNT,
                            (INSTALLMENTSPLIT.AMOUNTPAID + INSTALLMENTSPLIT.AMOUNTWRITTENOFF) APPLIED,
                            INSTALLMENTSPLIT.REVENUESPLITID,
                            INSTALLMENTSPLIT.PAYMENTCOUNT,
                            INSTALLMENTSPLIT.WRITEOFFCOUNT,
                            (select
                                    BATCHREVENUEINSTALLMENTSPLITPAYMENT.ID,
                                    BATCHREVENUEINSTALLMENTSPLITPAYMENT.AMOUNT,
                                    BATCHREVENUEINSTALLMENTSPLITPAYMENT.PAYMENTID as LINEITEMID
                                from dbo.BATCHREVENUEINSTALLMENTSPLITPAYMENT
                                where BATCHREVENUEINSTALLMENTSPLITPAYMENT.BATCHREVENUEINSTALLMENTSPLITID = BATCHREVENUEINSTALLMENTSPLIT.ID
                                for xml raw('ITEM'),type,elements,BINARY BASE64
                            ) INSTALLMENTSPLITPAYMENTS,
                            (select
                                    BATCHREVENUEINSTALLMENTSPLITWRITEOFF.ID,
                                    BATCHREVENUEINSTALLMENTSPLITWRITEOFF.AMOUNT,
                                    BATCHREVENUEINSTALLMENTSPLITWRITEOFF.WRITEOFFID as TRANSACTIONID
                                from dbo.BATCHREVENUEINSTALLMENTSPLITWRITEOFF
                                where BATCHREVENUEINSTALLMENTSPLITWRITEOFF.BATCHREVENUEINSTALLMENTSPLITID = BATCHREVENUEINSTALLMENTSPLIT.ID
                                for xml raw('ITEM'),type,elements,BINARY BASE64
                            ) INSTALLMENTSPLITWRITEOFFS
                        from dbo.BATCHREVENUEINSTALLMENTSPLIT
                        left join dbo.DESIGNATION on DESIGNATION.ID = BATCHREVENUEINSTALLMENTSPLIT.DESIGNATIONID
                        left join dbo.UFN_INSTALLMENT_GETINSTALLMENTSPLITINFO_BULK() INSTALLMENTSPLIT on INSTALLMENTSPLIT.ID = BATCHREVENUEINSTALLMENTSPLIT.INSTALLMENTSPLITID
                        where BATCHREVENUEINSTALLMENTSPLIT.BATCHREVENUEINSTALLMENTID = BATCHREVENUEINSTALLMENT.ID
                        order by DESIGNATION.VANITYNAME
                        for xml raw('ITEM'),type,elements,BINARY BASE64
                    ) INSTALLMENTSPLITS,
                    case
                        when BULKINFO.PAYMENTCOUNT > 0 then cast(1 as bit)
                        else cast(0 as bit)
                    end as PAYMENTAPPLIED,
                    BULKINFO.PAYMENTCOUNT,
                    BULKINFO.WRITEOFFCOUNT,
                    BATCHREVENUEINSTALLMENT.RECEIPTAMOUNT
                from 
                    dbo.BATCHREVENUEINSTALLMENT
                    left join dbo.UFN_INSTALLMENT_GETINFO_BULK() as BULKINFO on BATCHREVENUEINSTALLMENT.INSTALLMENTID = BULKINFO.ID
                where 
                    BATCHREVENUEID = @BATCHREVENUEID
        );