USP_REPORT_VSESECONDARY_SECTION3B
Returns VSE secondary report Section 3b data.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@INCLUDEINACTIVE | smallint | IN | |
@INCLUDEDECEASED | smallint | IN | |
@USEGIFTDATE | smallint | IN |
Definition
Copy
CREATE procedure dbo.USP_REPORT_VSESECONDARY_SECTION3B
(
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@INCLUDEINACTIVE smallint = 0,
@INCLUDEDECEASED smallint = 0,
@USEGIFTDATE smallint = 0
)
with execute as owner
as
set nocount on;
-- Writing the query this way as opposed to how it's written in 3A
-- is for optimization purposes. So, unless it's causing problems
-- please leave it like this. - DavidHe
declare @REPORT_VSESECONDARY table
(
VSECATEGORYCODE tinyint,
ALUMNI money,
PARENTS money,
GRANDPARENTS money,
OTHERINDIVIDUALS money,
FOUNDATIONS money,
CORPORATIONS money,
RELIGIOUSORGANIZATIONS money,
FUNDRAISINGCONSORTIA money,
OTHERORGANIZATIONS money
);
insert into @REPORT_VSESECONDARY
(
VSECATEGORYCODE,
ALUMNI,
PARENTS,
GRANDPARENTS,
OTHERINDIVIDUALS,
FOUNDATIONS,
CORPORATIONS,
RELIGIOUSORGANIZATIONS,
FUNDRAISINGCONSORTIA,
OTHERORGANIZATIONS
)
(
select
REPORT_VSESECONDARY.VSECATEGORYCODE,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (0) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as ALUMNI,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (5, 6) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as PARENTS,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (7) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as GRANDPARENTS,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (8, 9, 10, 11) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as OTHERINDIVIDUALS,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (12, 13) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as FOUNDATIONS,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (14) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as CORPORATIONS,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (15) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as RELIGIOUSORGANIZATIONS,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (16) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as FUNDRAISINGCONSORTIA,
coalesce(sum(case when REPORT_VSESECONDARY.VSECONSTITUENCYCODE in (17) and REPORT_VSESECONDARY.REVENUETYPE = 0 then REPORT_VSESECONDARY.REVENUESPLITAMOUNT else 0 end), 0) as OTHERORGANIZATIONS
from
dbo.UFN_REPORT_VSESECONDARY(@STARTDATE, @ENDDATE, @INCLUDEINACTIVE, @INCLUDEDECEASED, @USEGIFTDATE) REPORT_VSESECONDARY
where
REPORT_VSESECONDARY.VSECATEGORYCODE in (12, 13, 14, 15, 16)
group by REPORT_VSESECONDARY.VSECATEGORYCODE
);
select
case VSECATEGORY.VSECATEGORYCODE
when 12 then 12
when 13 then 13
when 15 then 15
else 14
end as VSECATEGORYCODE,
case VSECATEGORY.VSECATEGORYCODE
when 12 then '1. Prop., Build. & Equipment'
when 13 then '2. Endowment - Unrestricted'
when 15 then '4. Loan Funds'
else '3. Endowment - Restricted'
end as LABEL,
coalesce(ALUMNI, 0) ALUMNI,
coalesce(PARENTS, 0) PARENTS,
coalesce(GRANDPARENTS, 0) GRANDPARENTS,
coalesce(OTHERINDIVIDUALS, 0) OTHERINDIVIDUALS,
coalesce(FOUNDATIONS, 0) FOUNDATIONS,
coalesce(CORPORATIONS, 0) CORPORATIONS,
coalesce(RELIGIOUSORGANIZATIONS, 0) RELIGIOUSORGANIZATIONS,
coalesce(FUNDRAISINGCONSORTIA, 0) FUNDRAISINGCONSORTIA,
coalesce(OTHERORGANIZATIONS, 0) OTHERORGANIZATIONS
from
dbo.VSECATEGORY
left outer join @REPORT_VSESECONDARY REPORT_VSESECONDARY on REPORT_VSESECONDARY.VSECATEGORYCODE = VSECATEGORY.VSECATEGORYCODE
where
VSECATEGORY.USAGETYPECODE <> 0