UFN_REVENUE_GETGLDISTRIBUTION

Gets a table of Revenue GL distribution (Actual or Projected).

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_REVENUE_GETGLDISTRIBUTION(@REVENUEID uniqueidentifier) 
            returns @REVENUEGLDISTRIBUTION table
            (
                ID uniqueidentifier null,
                GLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier not null,
                TRANSACTIONTYPECODE tinyint not null,
                DEBITCREDIT nvarchar(50) not null,
                ACCOUNT nvarchar(100) not null,
                PROJECT nvarchar(100) null,
                AMOUNT money not null,
                REFERENCE nvarchar(255) not null,
                ORGANIZATIONAMOUNT money not null,
                BASECURRENCYID uniqueidentifier,
                TRANSACTIONAMOUNT money,
                TRANSACTIONCURRENCYID uniqueidentifier,
                BASEEXCHANGERATEID uniqueidentifier,
                ORGANIZATIONEXCHANGERATEID uniqueidentifier,
                GLTRANSACTIONID uniqueidentifier
            )
            as 
            begin    
                /*If entry exists in REVENUEGLDISTRIBUTION then get those (user has chosen to override the system generated entries */
                insert into @REVENUEGLDISTRIBUTION (ID, GLPAYMENTMETHODREVENUETYPEMAPPINGID, TRANSACTIONTYPECODE, DEBITCREDIT, ACCOUNT, PROJECT, AMOUNT, REFERENCE, 
                ORGANIZATIONAMOUNT, BASECURRENCYID, TRANSACTIONAMOUNT, TRANSACTIONCURRENCYID, BASEEXCHANGERATEID, ORGANIZATIONEXCHANGERATEID, GLTRANSACTIONID)

                    select 
                        JEX.GLTRANSACTIONID as ID, 
                        JEX.GLPAYMENTMETHODREVENUETYPEMAPPINGID, 
                        JE.TRANSACTIONTYPECODE,
                        JE.TRANSACTIONTYPE as DEBITCREDIT,
                        coalesce(GLACCOUNT.ACCOUNTNUMBER, JEX.ACCOUNT,'') as ACCOUNT, 
                        JEX.PROJECT,
                        JE.BASEAMOUNT as AMOUNT, 
                        JE.COMMENT as REFERENCE,
                        JE.ORGAMOUNT ORGANIZATIONAMOUNT,
                        V.BASECURRENCYID,
                        JE.TRANSACTIONAMOUNT,
                        JE.TRANSACTIONCURRENCYID,
                        JEX.PRECALCBASEEXCHANGERATEID as BASEEXCHANGERATEID,
                        JEX.PRECALCORGANIZATIONEXCHANGERATEID as ORGANIZATIONEXCHANGERATEID,
                        JE.ID as GLTRANSACTIONID
                    from 
                        dbo.FINANCIALTRANSACTIONLINEITEM LI
                    inner join 
                        dbo.JOURNALENTRY JE on JE.FINANCIALTRANSACTIONLINEITEMID = LI.ID
                    inner join
                        dbo.JOURNALENTRY_EXT JEX on JEX.ID = JE.ID
                    inner join 
                        dbo.V_BASECURRENCYFORFINANCIALTRANSACTION_I V with (noexpand) on LI.FINANCIALTRANSACTIONID = V.FINANCIALTRANSACTIONID
                    left outer join 
                        dbo.GLACCOUNT on JE.GLACCOUNTID = GLACCOUNT.ID
                    where 
                        LI.FINANCIALTRANSACTIONID = @REVENUEID
                        and JEX.OUTDATED = 0
                        and JEX.TABLENAMECODE = 1;

                return
            end