UFN_REPORT_VSECATEGORY_PAYMENT

Returns payment revenue splits with vse category.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@STARTDATE datetime IN
@ENDDATE datetime IN
@USEGIFTDATE smallint IN
@EXCLUDEUSAGETYPECODE tinyint IN

Definition

Copy


            CREATE function dbo.UFN_REPORT_VSECATEGORY_PAYMENT
            (
                @STARTDATE datetime = null,
                @ENDDATE datetime = null
                @USEGIFTDATE smallint = 0,
                @EXCLUDEUSAGETYPECODE tinyint = 0
            )
            returns table as
            return (

                select 
                    DESIGNATION.NAME NAME, 
                    DESIGNATION.VSECATEGORYID VSECATEGORYID,
                    FINANCIALTRANSACTION.BASEAMOUNT REVENUEAMOUNT, 
                    FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT REVENUESPLITAMOUNT,
                    FINANCIALTRANSACTION.ID REVENUEID, 
                    FINANCIALTRANSACTIONLINEITEM.ID REVENUESPLITID, 
                    DESIGNATION.ID DESIGNATIONID,
                    FINANCIALTRANSACTION.DATE DATE
                    FINANCIALTRANSACTION.POSTDATE POSTDATE,
                    (case when PLANNEDGIFT.CONSTITUENTID is not null then PLANNEDGIFT.CONSTITUENTID else FINANCIALTRANSACTION.CONSTITUENTID end) CONSTITUENTID,
                    FINANCIALTRANSACTION.TYPE TRANSACTIONTYPE,
                    FINANCIALTRANSACTION.TYPECODE TRANSACTIONTYPECODE,
                    --REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE PAYMENTMETHODCODE,

                    REVENUESPLIT_EXT.APPLICATIONCODE APPLICATIONCODE,
                    PLANNEDGIFT.VEHICLECODE,
                    VSECATEGORY.VSECATEGORYCODE,
                    VSECATEGORY.VSECATEGORY,
                    VSECATEGORY.PURPOSETYPECODE as VSECATEGORYPURPOSETYPECODE
                from 
                    dbo.FINANCIALTRANSACTION with (nolock)
                    --inner join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID

                    inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
                    inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = FINANCIALTRANSACTIONLINEITEM.ID
                    inner join dbo.DESIGNATION on DESIGNATION.ID = REVENUESPLIT_EXT.DESIGNATIONID
                    inner join dbo.VSECATEGORY on VSECATEGORY.ID = DESIGNATION.VSECATEGORYID
                    left outer join dbo.INSTALLMENTSPLITPAYMENT on FINANCIALTRANSACTIONLINEITEM.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
                    left outer join dbo.V_PLANNEDGIFTREVENUE_WITHADDITIONS as PLANNEDGIFTREVENUE on PLANNEDGIFTREVENUE.REVENUEID = INSTALLMENTSPLITPAYMENT.PLEDGEID
                    left outer join dbo.PLANNEDGIFT on PLANNEDGIFT.ID = PLANNEDGIFTREVENUE.PLANNEDGIFTID
                where 
                    VSECATEGORY.USAGETYPECODE <> @EXCLUDEUSAGETYPECODE and
                    FINANCIALTRANSACTION.TYPECODE = 0 and
                    (REVENUESPLIT_EXT.APPLICATIONCODE <> 6 or PLANNEDGIFT.VEHICLECODE in (3, 4, 10)) and
                    (case when @STARTDATE is null then 
                        0
                    else 
                        datediff(day, @STARTDATE, case when @USEGIFTDATE <> 0 then FINANCIALTRANSACTION.DATE else isnull(FINANCIALTRANSACTION.POSTDATE, FINANCIALTRANSACTION.DATE) end) end) >= 0

                    and (case when @ENDDATE is null then 
                        0
                    else 
                        datediff(day, @ENDDATE, case when @USEGIFTDATE <> 0 then FINANCIALTRANSACTION.DATE else isnull(FINANCIALTRANSACTION.POSTDATE, FINANCIALTRANSACTION.DATE) end) end) <= 0
            )