UFN_REPORT_VSECATEGORY
Returns revenue splits with vse category on highest level designation.
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(
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@USEGIFTDATE smallint = 0
)
returns table as
return (
select
d.name,
d.vsecategoryid,
r.amount "revenueamount",
rs.amount "revenuesplitamount",
r.id "revenueid",
rs.id "revenuesplitid",
d.id "designationid",
--desg.highestlevel,
--desg.highestleveldesignation,
r.date,
r.postdate,
r.constituentid,
r.transactiontype,
r.transactiontypecode,
rp.paymentmethodcode,
rs.applicationcode
from
dbo.revenue r with (nolock)
inner join dbo.revenuepaymentmethod rp on rp.revenueid = r.id
inner join dbo.revenuesplit rs on rs.revenueid = r.id
inner join dbo.designation d on d.id = rs.designationid
/*
(
select
id,
case when designationlevel5id is not null then 5
else case when designationlevel4id is not null then 4
else case when designationlevel3id is not null then 3
else case when designationlevel2id is not null then 2
else case when designationlevel1id is not null then 1
else null
end
end
end
end
end "highestlevel",
case when designationlevel5id is not null then designationlevel5id
else case when designationlevel4id is not null then designationlevel4id
else case when designationlevel3id is not null then designationlevel3id
else case when designationlevel2id is not null then designationlevel2id
else case when designationlevel1id is not null then designationlevel1id
else null
end
end
end
end
end "highestleveldesignation"
from dbo.designation
) desg on desg.id = rs.designationid
inner join
dbo.designationlevel dl on dl.id= desg.highestleveldesignation
*/
where r.transactiontypecode not in (2, 3) and
(case when @STARTDATE is null then
0
else
datediff(day, @STARTDATE, case when @USEGIFTDATE <> 0 then r.date else isnull(r.postdate, r.date) end) end) >= 0
and (case when @STARTDATE is null then
0
else
datediff(day, @ENDDATE, case when @USEGIFTDATE <> 0 then r.date else isnull(r.postdate, r.date) end) end) <= 0
and d.vsecategoryid is not null
)