UFN_REPORT_VSECATEGORY_PLEDGE
Returns pledge revenue splits with vse category.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@USEGIFTDATE | smallint | IN |
Definition
Copy
CREATE function dbo.UFN_REPORT_VSECATEGORY_PLEDGE
(
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@USEGIFTDATE smallint = 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,
FINANCIALTRANSACTION.CONSTITUENTID CONSTITUENTID,
FINANCIALTRANSACTION.TYPE TRANSACTIONTYPE,
FINANCIALTRANSACTION.TYPECODE TRANSACTIONTYPECODE,
REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE PAYMENTMETHODCODE,
REVENUESPLIT_EXT.APPLICATIONCODE APPLICATIONCODE
from
dbo.FINANCIALTRANSACTION with (nolock)
inner join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = FINANCIALTRANSACTION.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
where
(FINANCIALTRANSACTION.TYPECODE = 1 or FINANCIALTRANSACTION.TYPECODE = 6) 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
and DESIGNATION.VSECATEGORYID is not null
)