UFN_REVENUE_CONSTITUENTRECOGNIZEDAMOUNTBYDONORDETAIL

Provide recognized revenue detail amount per constituent in a given FAF event by specific donor

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN
@CONSTITUENTID uniqueidentifier IN
@DONORCONSTITUENTID uniqueidentifier IN

Definition

Copy


CREATE function [dbo].[UFN_REVENUE_CONSTITUENTRECOGNIZEDAMOUNTBYDONORDETAIL]
(

     @EVENTID                as uniqueidentifier 
    ,@CONSTITUENTID            as uniqueidentifier 
    ,@DONORCONSTITUENTID    as uniqueidentifier
)

RETURNS TABLE    
AS    

RETURN    
 WITH     
 [DONORCONSTITUENT]    
  AS    
 (    
    -- Revenue details

    select REVENUE.DATE, REVENUESPLIT.AMOUNT, REVENUE.APPEALID, EVENT.ID AS EVENTID, EVENT.NAME AS EVENTNAME, REVENUE.CONSTITUENTID
    from    [dbo].[REVENUE]                    (nolock)
    inner    join [dbo].[REVENUESPLIT]        (nolock)
    on        REVENUE.ID = REVENUESPLIT.REVENUEID

    -- Recognized revenue

    inner    join [dbo].[REVENUERECOGNITION] (nolock)
    on        REVENUERECOGNITION.CONSTITUENTID    <> REVENUE.CONSTITUENTID -- exclude self recognition

    and        REVENUERECOGNITION.REVENUESPLITID    = REVENUESPLIT.ID

    -- Current event context

    inner    join [dbo].[EVENT] (nolock)
    on        [EVENT].APPEALID                 = REVENUE.APPEALID
    and        [EVENT].ID                         = @EVENTID

  --AJ 09/29/2010..added to exclude revenue rules

  INNER JOIN    [dbo].UFN_REVENUE_EVENTREVENUEDETAILS (@EVENTID) AG 
    ON AG.CONSTITUENTID= [REVENUE].CONSTITUENTID AND AG.TRANSACTIONTYPE IN ('Donation', 'Offline Donation')

    where   REVENUERECOGNITION.CONSTITUENTID = @CONSTITUENTID
    AND        (@DONORCONSTITUENTID is null OR [REVENUE].CONSTITUENTID = @DONORCONSTITUENTID
 )    
 SELECT * FROM [DONORCONSTITUENT]