UFN_DESIGNATION_RAISEDBYAPPEALNODESNAME_INCURRENCY

Return

Return Type
table

Parameters

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

Definition

Copy


        CREATE function [dbo].[UFN_DESIGNATION_RAISEDBYAPPEALNODESNAME_INCURRENCY]
            (@STARTDATE datetime, @ENDDATE datetime, @CURRENCYID uniqueidentifier = null)
            returns @REVENUEINFO table
            (
                APPEALID uniqueidentifier NOT NULL,
                DESID uniqueidentifier NOT NULL,
                DESTOTALRECEIVED money NOT NULL
            )
            as
            begin

                select 
                    @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE),
                    @ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@ENDDATE);

                declare @ORGANIZATIONCURRENCY uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
                declare @CURRENCYCODE tinyint;
                declare @DECIMALDIGITS tinyint;
                declare @ROUNDINGTYPECODE tinyint;

                if @CURRENCYID is null
                    set @CURRENCYCODE = 0; -- Use the appeal's base currency

                else if @CURRENCYID = @ORGANIZATIONCURRENCY
                    set @CURRENCYCODE = 1; -- Use the organization currency

                else
                    set @CURRENCYCODE = 3; -- Use the currency specified


                if @CURRENCYCODE = 3
                    select
                        @DECIMALDIGITS = DECIMALDIGITS,
                        @ROUNDINGTYPECODE = ROUNDINGTYPECODE
                    from
                        dbo.UFN_CURRENCY_GETPROPERTIES(@CURRENCYID)

                insert into @REVENUEINFO
                    select 
                        APPEALREVENUESPLIT.APPEALID APPEALID, 
                        APPEALREVENUESPLIT.DESIGNATIONID DESID, 
                        isnull(sum(APPEALREVENUESPLIT.REVENUESPLITAMOUNTINCURRENCY),0) DESTOTALRECEIVED
                    from 
                        dbo.UFN_APPEALREVENUESPLIT_GETAMOUNTSINCURRENCYNODESNAMENOGIFTAID_BULK(@CURRENCYID, @ORGANIZATIONCURRENCY, @DECIMALDIGITS, @ROUNDINGTYPECODE, @CURRENCYCODE) APPEALREVENUESPLIT
                    where (APPEALREVENUESPLIT.APPEALID is not null) and 
                        (APPEALREVENUESPLIT.DATE >= @STARTDATE or @STARTDATE is null) and
                        (APPEALREVENUESPLIT.DATE <= @ENDDATE or @ENDDATE is null) and                          
                         APPEALREVENUESPLIT.TRANSACTIONTYPECODE = 0 and
                         APPEALREVENUESPLIT.DESIGNATIONID is not null
                    group by APPEALREVENUESPLIT.APPEALID, APPEALREVENUESPLIT.DESIGNATIONID;

                return;

            end