UFN_CORPORATION_GETDONORTOTAL

Returns the donor total for the given corporation and time period.

Return

Return Type
int

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN

Definition

Copy


            CREATE function [dbo].[UFN_CORPORATION_GETDONORTOTAL]
            (
                @CONSTITUENTID uniqueidentifier,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @STARTDATE datetime = null,
                @ENDDATE datetime = null 
            )
            returns int
            as
                begin
                declare @i int;    

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

                select @i = count(distinct(RELATIONSHIP.RELATIONSHIPCONSTITUENTID))    
                from
                    dbo.RELATIONSHIP 
                        inner join dbo.EMPLOYEECORPORATERELATIONSHIPTYPE on RELATIONSHIP.RELATIONSHIPTYPECODEID = EMPLOYEECORPORATERELATIONSHIPTYPE.RELATIONSHIPTYPECODEID
                        inner join dbo.FINANCIALTRANSACTION REVENUE on REVENUE.CONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID
                        inner join (select distinct REVENUEID from dbo.UFN_SITEACCESSABLE_REVENUESPLITID_FORUSER(@CURRENTAPPUSERID)) SITEFILTER on SITEFILTER.REVENUEID = REVENUE.ID
                        inner join dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT on REVENUESPLIT.FINANCIALTRANSACTIONID = REVENUE.ID
                        inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = REVENUESPLIT.ID
                        left join dbo.V_PLANNEDGIFTREVENUE_WITHADDITIONS as PLANNEDGIFTREVENUE on PLANNEDGIFTREVENUE.REVENUEID = REVENUE.ID
                        left join dbo.PLANNEDGIFT on PLANNEDGIFT.ID = PLANNEDGIFTREVENUE.PLANNEDGIFTID
                where
                    RELATIONSHIP.RECIPROCALCONSTITUENTID = @CONSTITUENTID and
                    (@STARTDATE is null or cast(REVENUE.DATE as datetime) >= dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE)) and
                    (@ENDDATE is null or cast(REVENUE.DATE as datetime) <= dbo.UFN_DATE_GETLATESTTIME(@ENDDATE)) and
                    (REVENUE.TYPECODE = 1 or --Pledge

                        (REVENUE.TYPECODE = 4 and PLANNEDGIFT.VEHICLECODE in (0,1,2,5,6,7,8,9)) or --Planned gift

                        (REVENUE.TYPECODE = 0 and REVENUESPLIT_EXT.APPLICATIONCODE in (0, 3))) --Payments                        


                return @i;
                end