UFN_MEMBER_CHANNELRAISEDBYAPPEAL

Creates a table of appeals, and the associated revenue information filtered by channel.

Return

Return Type
table

Parameters

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

Definition

Copy


            CREATE function dbo.UFN_MEMBER_CHANNELRAISEDBYAPPEAL
            (@STARTDATE datetime, @ENDDATE datetime)
            returns @CHANNELREVENUEINFO table
            (
                APPEALID uniqueidentifier NOT NULL,
                CHANNELCODE uniqueidentifier NOT NULL,
                CHANNELTOTALRECEIVED money NOT NULL
            )
            as
            begin

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

                insert into @CHANNELREVENUEINFO
                    select R.APPEALID, coalesce(R.CHANNELCODEID, '00000000-0000-0000-0000-000000000000') CHANNELCODE, coalesce(sum(RS.AMOUNT), 0) CHANNELTOTALRECEIVED
                    from dbo.REVENUESPLIT RS 
                    inner join dbo.REVENUE R on R.ID = RS.REVENUEID
                    inner join dbo.MEMBER M on M.CONSTITUENTID = R.constituentid
                    inner join dbo.APPEAL A on A.ID = R.APPEALID
                    inner join dbo.MEMBERSHIP MS on A.MEMBERSHIPPROGRAMID = MS.MEMBERSHIPPROGRAMID
                    where (R.APPEALID is not null) and (R.DATE >= @STARTDATE or @STARTDATE is null) and
                        (R.DATE <= @ENDDATE or @ENDDATE is null) and 
                         (R.TRANSACTIONTYPECODE = 0) and
                         (MS.ID = M.MEMBERSHIPID)
                    group by R.APPEALID,R.CHANNELCODEID

                return;

            end