USP_DATALIST_CONSTITUENTSUBSIDIARYREVENUE
Displays a list of subsidiaries for a constituent.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENTSUBSIDIARYREVENUE
(
@CONSTITUENTID uniqueidentifier = null
)
as
set nocount on;
select
ID,
NAME,
count(REVENUEID)
from(
select
CONSTITUENT.ID,
CONSTITUENT.NAME,
REVENUE.ID REVENUEID
from dbo.REVENUE
inner join dbo.CONSTITUENT on CONSTITUENT.ID = REVENUE.CONSTITUENTID
inner join dbo.ORGANIZATIONDATA on ORGANIZATIONDATA.ID = CONSTITUENT.ID
inner join dbo.REVENUESCHEDULE on REVENUESCHEDULE.ID = REVENUE.ID
left outer join dbo.REVENUEMATCHINGGIFT on REVENUE.ID = REVENUEMATCHINGGIFT.ID
left outer join dbo.REVENUE MATCHINGGIFTREVENUE on MATCHINGGIFTREVENUE.ID = REVENUEMATCHINGGIFT.MGSOURCEREVENUEID
left outer join dbo.CONSTITUENT MATCHINGGIFTCONSTITUENT on MATCHINGGIFTREVENUE.CONSTITUENTID = MATCHINGGIFTCONSTITUENT.ID
where ORGANIZATIONDATA.PARENTCORPID = @CONSTITUENTID
and REVENUESCHEDULE.ISPENDING = 0 --Isn't Pending
and (REVENUEMATCHINGGIFT.ISACTIVE = 1 or REVENUE.TRANSACTIONTYPECODE <> 3)
and (dbo.UFN_PLEDGE_GETBALANCE(REVENUE.ID) > 0 or (REVENUE.TRANSACTIONTYPECODE = 2 --Recurring Gift
and REVENUESCHEDULE.STATUSCODE in (0,5) --Active or lapsed
and REVENUE.AMOUNT > 0)) --Has Value???
union all
-- Event Registrations --
select
CONSTITUENT.ID,
CONSTITUENT.NAME,
REGISTRANT.ID REVENUEID
from
dbo.REGISTRANT
inner join dbo.CONSTITUENT on CONSTITUENT.ID = REGISTRANT.CONSTITUENTID
inner join dbo.ORGANIZATIONDATA on ORGANIZATIONDATA.ID = CONSTITUENT.ID
inner join dbo.[EVENT] on [EVENT].ID = REGISTRANT.EVENTID
where
ORGANIZATIONDATA.PARENTCORPID = @CONSTITUENTID
and dbo.UFN_EVENTREGISTRANT_GETBALANCE(REGISTRANT.ID) > 0
) REVENUE
group by ID, NAME;