USP_SAVE_PAYMENT_BENEFITGLDISTRIBUTION

Adds gl distribution for Payment benefits.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CURRENTDATE datetime IN

Definition

Copy


CREATE procedure dbo.USP_SAVE_PAYMENT_BENEFITGLDISTRIBUTION
            (
                @ID uniqueidentifier,
                @CHANGEAGENTID uniqueidentifier = null,
                @CURRENTDATE datetime = null

            )
    as
        set nocount on;
    begin  


        if exists(
            select JOURNALENTRY_EXT.DISTRIBUTIONTABLEID
            from dbo.JOURNALENTRY
            inner join dbo.JOURNALENTRY_EXT on JOURNALENTRY.ID = JOURNALENTRY_EXT.ID and JOURNALENTRY_EXT.TABLENAMECODE = 5
            inner join dbo.FINANCIALTRANSACTIONLINEITEM on JOURNALENTRY.FINANCIALTRANSACTIONLINEITEMID = FINANCIALTRANSACTIONLINEITEM.ID 
            inner join dbo.REVENUEBENEFIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUEBENEFIT_EXT.ID             
            inner join dbo.INSTALLMENTSPLITPAYMENT on INSTALLMENTSPLITPAYMENT.PLEDGEID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
            inner join dbo.FINANCIALTRANSACTIONLINEITEM PAYMENT on PAYMENT.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
            where 
                dbo.REVENUEBENEFIT_EXT.SENDBENEFIT = 1 and 
                dbo.UFN_PLEDGE_GETBALANCE(INSTALLMENTSPLITPAYMENT.PLEDGEID) <= 0 and   
                dbo.JOURNALENTRY_EXT.FULLYPAIDSTATUSCODE = 1 and
                PAYMENT.FINANCIALTRANSACTIONID = @ID)
            exec dbo.USP_SAVE_BENEFITLIABILITYBACKOUT @ID, @CHANGEAGENTID, @CURRENTDATE

            exec dbo.USP_REVENUEDETAIL_SETSENDBENEFITCODE @ID, 1

        if exists(select id from REVENUEBENEFIT where SENDBENEFIT = 0 and REVENUEID = @ID
            exec dbo.USP_SAVE_BENEFITGLDISTRIBUTION_FINANCIALTRANSACTION @ID, @CHANGEAGENTID, @CURRENTDATE

    end