UFN_CAMPAIGNPRIORITY_GETTOTALPLANNEDGIFTSINCURRENCY

Returns the total planned gifts for a campaign priority converting amounts to the specified currency.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@CAMPAIGNPRIORITYID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@CURRENCYID uniqueidentifier IN

Definition

Copy


            create function dbo.UFN_CAMPAIGNPRIORITY_GETTOTALPLANNEDGIFTSINCURRENCY
            (
                @CAMPAIGNPRIORITYID uniqueidentifier,
                @STARTDATE datetime = null,
                @ENDDATE datetime = null,
                @CURRENCYID uniqueidentifier = null
            )
            returns money
            as
            begin
                declare @RESULT money;

                with CAMPAIGNPRIORITY_CTE as(
                    select distinct
                        REVENUESPLIT.ID,
                        dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY(REVENUESPLIT.ID, @CURRENCYID) as AMOUNT,
                        CAMPAIGNPRIORITY.ID as CAMPAIGNPRIORITYID
                    from
                        dbo.REVENUESPLIT
                    inner join dbo.REVENUE with (nolock) on REVENUE.ID = REVENUESPLIT.REVENUEID 
                    inner join dbo.REVENUESPLITCAMPAIGN on REVENUESPLITCAMPAIGN.REVENUESPLITID = REVENUESPLIT.ID
                    inner join dbo.CAMPAIGNSUBPRIORITY on CAMPAIGNSUBPRIORITY.ID = REVENUESPLITCAMPAIGN.CAMPAIGNSUBPRIORITYID 
                    inner join dbo.CAMPAIGNPRIORITY on CAMPAIGNPRIORITY.ID = CAMPAIGNSUBPRIORITY.CAMPAIGNPRIORITYID
                    where
                        CAMPAIGNPRIORITY.ID = @CAMPAIGNPRIORITYID
                        and REVENUE.TRANSACTIONTYPECODE = 4
                        and (REVENUE.DATE >= @STARTDATE or @STARTDATE is null)
                        and (REVENUE.DATE <= @ENDDATE or @ENDDATE is null))
                select
                    @RESULT = coalesce(sum(CAMPAIGNPRIORITY_CTE.AMOUNT), 0)
                from
                    dbo.CAMPAIGNPRIORITY
                inner join CAMPAIGNPRIORITY_CTE on CAMPAIGNPRIORITY_CTE.CAMPAIGNPRIORITYID = CAMPAIGNPRIORITY.ID;

                return @RESULT;
            end