UFN_REVENUE_GENERATEGIFTFEEGLDISTRIBUTION

Generates GL Account Code for Gift Fees from the Account code mappings defined in the system.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_REVENUE_GENERATEGIFTFEEGLDISTRIBUTION(@REVENUEID uniqueidentifier = null)
            returns table 
            as return 
            /*    Getting 'Postable' Gift Fees    */
            select 
                REVENUE.ID as REVENUEID, 
                REVENUESPLIT.ID as REVENUESPLITID, 
                dbo.UFN_POSTTOGLPROCESS_GETGLPAYMENTMETHODREVENUETYPEMAPPINGID(REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE, 203, REVENUESPLIT.TYPECODE, REVENUESPLIT.APPLICATIONCODE, tf.TRANSACTIONTYPECODE) as GLPAYMENTMETHODREVENUETYPEMAPPINGID,
                tf.TRANSACTIONTYPECODE, 
                case when GIFTFEEADJUSTMENT.ID is null then REVENUE.POSTDATE  --if no unposted adjustment then use Gift Fee Post Date

                     else GIFTFEEADJUSTMENT.POSTDATE
                end AS POSTDATE,                 
                case when GIFTFEEADJUSTMENT.ID is null then (case when REVENUE.DONOTPOST = 1 then 2 when REVENUEPOSTED.ID is not null then 0 else 1 end)  --if no unposted adjustment then use Gift Fee Post Status Code

                     else GIFTFEEADJUSTMENT.POSTSTATUSCODE
                end AS POSTSTATUSCODE,
                tf.ACCOUNTSTRING, 
                tf.PROJECTCODE as PROJECT, 
                REVENUESPLITGIFTFEE.FEE as AMOUNT, 
                dbo.UFN_POSTTOGLPROCESS_GETJOURNALREFERENCE(REVENUESPLIT.ID, REVENUEPAYMENTMETHOD.PAYMENTMETHOD, 'Gift fee') as REFERENCE, 
                tf.ERRORMESSAGE,
                REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE,
                REVENUE.TRANSACTIONTYPECODE as REVENUETRANSACTIONTYPECODE,
                REVENUEPAYMENTMETHOD.ID as REVENUEPAYMENTMETHODID,
                REVENUESPLITGIFTFEE.ID as REVENUESPLITGIFTFEEID,
                tf.ACCOUNTID as ACCOUNTID,
                REVENUESPLITGIFTFEE.BASECURRENCYID,
                REVENUESPLITGIFTFEE.TRANSACTIONAMOUNT,
                REVENUESPLITGIFTFEE.TRANSACTIONCURRENCYID,
                REVENUESPLITGIFTFEE.BASEEXCHANGERATEID,
                REVENUESPLITGIFTFEE.ORGANIZATIONAMOUNT,
                REVENUESPLITGIFTFEE.ORGANIZATIONEXCHANGERATEID,
                tf.MAPPEDVALUES
            from dbo.REVENUE with (nolock)            
            inner join dbo.REVENUEPAYMENTMETHOD with (nolock) on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
            inner join dbo.REVENUESPLIT with (nolock) on REVENUE.ID = REVENUESPLIT.REVENUEID
            inner join dbo.REVENUESPLITGIFTFEE with (nolock) on REVENUESPLIT.ID = REVENUESPLITGIFTFEE.ID
            left join dbo.GIFTFEEADJUSTMENT with (nolock) on REVENUE.ID = GIFTFEEADJUSTMENT.REVENUEID and GIFTFEEADJUSTMENT.POSTSTATUSCODE <> 0
            left join dbo.REVENUEPOSTED on REVENUE.ID = REVENUEPOSTED.ID
            cross apply dbo.UFN_REVENUE_GENERATEGLACCOUNT(REVENUESPLIT.ID, 203, REVENUESPLIT.TYPECODE, REVENUESPLIT.APPLICATIONCODE, REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE, REVENUESPLIT.DESIGNATIONID) as tf 
            where  
                (REVENUE.ID = @REVENUEID or @REVENUEID is NULL) and
                REVENUESPLITGIFTFEE.WAIVED = 0 and
                -- Prevent gift fees distributions from being created when the application is Order and the type is Fee or Tax

                -- since we don't support mapping them

                not (REVENUESPLIT.APPLICATIONCODE = 10 and (REVENUESPLIT.TYPECODE = 6 or REVENUESPLIT.TYPECODE = 7))