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
)