USP_SMARTFIELD_TOTALDONATIONAMOUNTRAISEDPARTICIPANT

Parameters

Parameter Parameter Type Mode Description
@TIMESPANCODE tinyint IN
@ASOF datetime IN

Definition

Copy


CREATE procedure dbo.USP_SMARTFIELD_TOTALDONATIONAMOUNTRAISEDPARTICIPANT
(
   @TIMESPANCODE tinyint= 0,
     @ASOF datetime 
)
as

set nocount on

-- write sql to calculate the smart field values based on the parameters and ASOF date

BEGIN
    --IF @ASOF IS NULL SET @ASOF= getdate()


    SELECT    RG.ID, SUM(RS.AMOUNT) AS DONATIONRAISED 
    FROM    dbo.REVENUE R            
    join    dbo.REVENUESPLIT RS     ON R.ID = RS.REVENUEID and RS.APPLICATIONCODE = 0
  join  dbo.REVENUERECOGNITION RC ON RC.REVENUESPLITID = RS.ID
    join    dbo.REGISTRANT RG    ON RC.CONSTITUENTID = RG.CONSTITUENTID
    join    dbo.EVENTEXTENSION EE     ON RG.EVENTID = EE.EVENTID  -- this join to ensure these are registrant of FAF event    

  WHERE @TIMESPANCODE = 0
    GROUP BY RG.ID    

  UNION ALL

SELECT    RG.ID, SUM(RS.AMOUNT) AS DONATIONRAISED 
    FROM    dbo.REVENUE R            
    join    dbo.REVENUESPLIT RS     ON R.ID = RS.REVENUEID and RS.APPLICATIONCODE = 0
    join  dbo.REVENUERECOGNITION RC ON RC.REVENUESPLITID = RS.ID
    join    dbo.REGISTRANT RG    ON RC.CONSTITUENTID = RG.CONSTITUENTID
    join    dbo.EVENTEXTENSION EE     ON RG.EVENTID = EE.EVENTID  -- this join to ensure these are registrant of FAF event      

    where @TIMESPANCODE =1 and RS.DATEADDED between DATEADD(WEEK, -1, @ASOF) and @ASOF
    GROUP BY RG.ID    

UNION ALL

SELECT    RG.ID, SUM(RS.AMOUNT) AS DONATIONRAISED 
    FROM    dbo.REVENUE R            
    join    dbo.REVENUESPLIT RS     ON R.ID = RS.REVENUEID and RS.APPLICATIONCODE = 0
    join  dbo.REVENUERECOGNITION RC ON RC.REVENUESPLITID = RS.ID
    join    dbo.REGISTRANT RG    ON RC.CONSTITUENTID = RG.CONSTITUENTID
    join    dbo.EVENTEXTENSION EE     ON RG.EVENTID = EE.EVENTID  -- this join to ensure these are registrant of FAF event      

    where @TIMESPANCODE =2 and RS.DATEADDED between DATEADD(MONTH, -1, @ASOF) and @ASOF
    GROUP BY RG.ID    

END