USP_REPORT_SPONSORSHIPGIFTSTATUS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@LOCATIONID | uniqueidentifier | IN | |
@PROGRAMID | uniqueidentifier | IN | |
@GROUPBY | nvarchar(20) | IN |
Definition
Copy
create procedure dbo.USP_REPORT_SPONSORSHIPGIFTSTATUS(
@LOCATIONID uniqueidentifier = null,
@PROGRAMID uniqueidentifier = null,
@GROUPBY nvarchar(20)=null)
with execute as owner
as
set nocount on;
declare @SQL nvarchar(4000);
declare @PARAMDEF nvarchar(200);
begin try
set @PARAMDEF = N'@LOCATIONID uniqueidentifier,@PROGRAMID uniqueidentifier'
set @SQL = N'select ''http://www.blackbaud.com?CONSTITUENTID=''+CONVERT(nvarchar(36),c.ID) CONSTITUENTID,c.NAME,
''http://www.blackbaud.com?SPONSORSHIPOPPORTUNITYID=''+CONVERT(nvarchar(36),so.ID) SPONSORSHIPOPPORTUNITYID,
case sg.SPONSORSHIPOPPORTUNITYTYPECODE
when 1 then (select NAME from dbo.SPONSORSHIPOPPORTUNITYCHILD soc where soc.ID = so.ID)
when 2 then (select NAME from dbo.SPONSORSHIPOPPORTUNITYPROJECT soj where soj.ID = so.ID)
end OPPORTUNITY,
(select NAME from dbo.SPONSORSHIPPROGRAM p where p.ID = s.SPONSORSHIPPROGRAMID) PROGRAM,
dbo.UFN_RECURRINGGIFT_GETPASTDUEAMOUNT(r.id,null) PASTDUE,
sl2.NAME LOCATION,sl.HIERARCHYPATH,sl2.HIERARCHYPATH
from SPONSORSHIPLOCATION sl
inner join dbo.SPONSORSHIPLOCATION sl2 on sl2.HIERARCHYPATH.IsDescendantOf(sl.HIERARCHYPATH) = 1
inner join dbo.SPONSORSHIPOPPORTUNITY so on so.SPONSORSHIPLOCATIONID = sl2.ID
inner join dbo.SPONSORSHIP s on s.SPONSORSHIPOPPORTUNITYID = so.ID
inner join dbo.CONSTITUENT c on s.CONSTITUENTID = c.ID
inner join dbo.SPONSORSHIPOPPORTUNITYGROUP sg on sg.ID = so.SPONSORSHIPOPPORTUNITYGROUPID
inner join dbo.REVENUESPLIT rs on rs.ID = s.REVENUESPLITID
inner join dbo.REVENUE r on r.ID = rs.REVENUEID
where dbo.UFN_RECURRINGGIFT_GETPASTDUEAMOUNT(r.id,null) > 0.00 and
((@LOCATIONID is null and sl.HIERARCHYPATH = sl2.HIERARCHYPATH) or
sl.ID =@LOCATIONID) and
(@PROGRAMID is null or s.SPONSORSHIPPROGRAMID = @PROGRAMID)'
exec sp_executesql @SQL,@PARAMDEF,@LOCATIONID=@LOCATIONID,@PROGRAMID=@PROGRAMID
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;