USP_DATALIST_REFUNDBENEFITGLDISTRIBUTION

A datalist of the refund benefit GL distribution.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the context ID for the data list.

Definition

Copy


            CREATE procedure dbo.USP_DATALIST_REFUNDBENEFITGLDISTRIBUTION(
                @ID uniqueidentifier
            )
            as
                set nocount on;

                if exists (select top 1 [ID] from dbo.[CREDITPAYMENT] where [CREDITID] = @ID and [REVENUEID] is not null)
                begin
                    if exists(select top 1 1 from dbo.UFN_REFUND_GETPRORATEDSPLITS(@ID) as [SPLITS] inner join dbo.REVENUEBENEFIT_EXT RE on RE.REVENUESPLITID = SPLITS.REVENUESPLITID)
                        select    
                            J.TRANSACTIONTYPE,
                            G.ACCOUNTNUMBER as ACCOUNT,
                            J.BASEAMOUNT as AMOUNT,
                            J.COMMENT as REFERENCE
                        from dbo.UFN_REFUND_GETPRORATEDSPLITS(@ID) as [SPLITS]
                        inner join  dbo.REVENUEBENEFIT_EXT RE on RE.REVENUESPLITID = SPLITS.REVENUESPLITID
                        inner join  dbo.FINANCIALTRANSACTIONLINEITEM L on L.ID = RE.ID
                        inner join  dbo.FINANCIALTRANSACTIONLINEITEM L2 on L2.REVERSEDLINEITEMID = L.ID
                        inner join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L2.ID
                        inner join dbo.JOURNALENTRY_EXT X on J.ID = X.ID
                        inner join dbo.GLACCOUNT G on J.GLACCOUNTID = G.ID
                        where X.tablenamecode = 0
                        order by J.TRANSACTIONTYPE, G.ACCOUNTNUMBER desc;
                    else
                        select
                            [REVERSED].[TRANSACTIONTYPE],
                            [REVERSED].[ACCOUNT],
                            [REVERSED].[AMOUNT],
                            [REVERSED].[REFERENCE]
                        from dbo.UFN_REFUND_GETPRORATEDSPLITS(@ID) as [SPLITS]
                        inner join dbo.[REVENUESPLIT] on [REVENUESPLIT].[ID] = [SPLITS].[REVENUESPLITID]
                        inner join dbo.[BENEFITGLDISTRIBUTION] on [BENEFITGLDISTRIBUTION].[REVENUEID] = [REVENUESPLIT].[REVENUEID]
                        inner join dbo.[GLTRANSACTION] as [ORIGINAL] on [BENEFITGLDISTRIBUTION].[GLTRANSACTIONID] = [ORIGINAL].[ID]
                        inner join dbo.[GLTRANSACTION] as [REVERSED] on [REVERSED].[REVERSEDGLTRANSACTIONID] = [ORIGINAL].[ID]
                        group by [BENEFITGLDISTRIBUTION].[ID], [REVERSED].[TRANSACTIONTYPE], [REVERSED].[ACCOUNT], [REVERSED].[AMOUNT], [REVERSED].[REFERENCE]
                        order by [REVERSED].[TRANSACTIONTYPE], [REVERSED].[ACCOUNT] desc;                    
                end
                else
                begin
                    select
                        [REVERSED].[TRANSACTIONTYPE],
                        [REVERSED].[ACCOUNT],
                        [REVERSED].[AMOUNT],
                        [REVERSED].[REFERENCE]
                    from dbo.[CREDITPAYMENT]
                    inner join dbo.[REVENUESPLIT] on [REVENUESPLIT].[ID] = [CREDITPAYMENT].[REVENUESPLITID]
                    inner join dbo.[BENEFITGLDISTRIBUTION] on [BENEFITGLDISTRIBUTION].[REVENUEID] = [REVENUESPLIT].[REVENUEID]
                    inner join dbo.[GLTRANSACTION] as [ORIGINAL] on [BENEFITGLDISTRIBUTION].[GLTRANSACTIONID] = [ORIGINAL].[ID]
                    inner join dbo.[GLTRANSACTION] as [REVERSED] on [REVERSED].[REVERSEDGLTRANSACTIONID] = [ORIGINAL].[ID]
                    where [CREDITPAYMENT].[CREDITID] = @ID
                    order by [REVERSED].[TRANSACTIONTYPE], [REVERSED].[ACCOUNT] desc;
                end