USP_DATALIST_SPONSORSHIPOPPORTUNITYMATCH
Datalist which reserves and returns a single matching opportunity for a sponsorship.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CHANGEAGENTID | uniqueidentifier | IN | |
@SPONSORSHIPPROGRAMID | uniqueidentifier | IN | |
@SPONSORSHIPLOCATIONID | uniqueidentifier | IN | |
@GENDERCODE | tinyint | IN | |
@SPROPPAGERANGEID | uniqueidentifier | IN | |
@ISHIVPOSITIVECODE | tinyint | IN | |
@HASCONDITIONCODE | tinyint | IN | |
@ISORPHANEDCODE | tinyint | IN | |
@SPROPPPROJECTCATEGORYCODEID | uniqueidentifier | IN | |
@SPONSORID | uniqueidentifier | IN | |
@ISSOLESPONSORSHIP | bit | IN | |
@REVENUECONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_SPONSORSHIPOPPORTUNITYMATCH(
@CHANGEAGENTID uniqueidentifier = null,
@SPONSORSHIPPROGRAMID uniqueidentifier,
@SPONSORSHIPLOCATIONID uniqueidentifier = null,
@GENDERCODE tinyint = 0,
@SPROPPAGERANGEID uniqueidentifier = null,
@ISHIVPOSITIVECODE tinyint = 0,
@HASCONDITIONCODE tinyint = 0,
@ISORPHANEDCODE tinyint = 0,
@SPROPPPROJECTCATEGORYCODEID uniqueidentifier = null,
@SPONSORID uniqueidentifier = null,
@ISSOLESPONSORSHIP bit = 0,
@REVENUECONSTITUENTID uniqueidentifier = null
)
as
begin
set nocount on;
declare @SPONSORSHIPOPPORTUNITYID uniqueidentifier;
declare @LOCKTYPE tinyint;
if @GENDERCODE is null
set @GENDERCODE = 0
if @ISHIVPOSITIVECODE is null
set @ISHIVPOSITIVECODE = 0
if @HASCONDITIONCODE is null
set @HASCONDITIONCODE = 0
if @ISORPHANEDCODE is null
set @ISORPHANEDCODE = 0
if @ISSOLESPONSORSHIP = 1
set @LOCKTYPE = 1
else
set @LOCKTYPE = 2
begin try
exec dbo.USP_SPONSORSHIP_ACQUIREOPPORTUNITY
@SPONSORSHIPOPPORTUNITYID output,
@CHANGEAGENTID,
0,
@SPONSORID,
@SPONSORSHIPPROGRAMID,
@SPONSORSHIPLOCATIONID,
@GENDERCODE,
@SPROPPAGERANGEID,
@ISHIVPOSITIVECODE,
@HASCONDITIONCODE,
@ISORPHANEDCODE,
@SPROPPPROJECTCATEGORYCODEID,
@ISSOLESPONSORSHIP,
null,
null,
@REVENUECONSTITUENTID,
@LOCKTYPE
select SO.ID SPONSORSHIPOPPORTUNITYID,
dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(SO.ID) NAME,
dbo.UFN_SPONSORSHIP_OFFERSOLESPONSORSHIP(SO.SPONSORSHIPOPPORTUNITYGROUPID,SO.SPONSORSHIPLOCATIONID) OFFERSOLESPONSORSHIP,
C.GENDER,C.BIRTHDATE,SO.LOOKUPID,
dbo.UFN_SPONSORSHIPLOCATION_GETFULLNAME(SO.SPONSORSHIPLOCATIONID) LOCATION,
(select DESCRIPTION from dbo.SPROPPPROJECTCATEGORYCODE SPROC where SP.SPROPPPROJECTCATEGORYCODEID= SPROC.ID) CATEGORY
from dbo.SPONSORSHIPOPPORTUNITY SO
left outer join dbo.SPONSORSHIPOPPORTUNITYCHILD SC on SC.ID = SO.ID
left outer join dbo.CONSTITUENT C on C.ID = SC.CONSTITUENTID
left outer join dbo.SPONSORSHIPOPPORTUNITYPROJECT SP on SP.ID = SO.ID
where SO.ID = @SPONSORSHIPOPPORTUNITYID;
end try
begin catch
if error_message() = 'BBERR_NOMATCHINGOPPORTUNITY'
-- No opportunity available to match.
select null SPONSORSHIPOPPORTUNITYID,
'<No matching opportunity found>' NAME,
null OFFERSOLESPONSORSHIP,
null GENDER,
null BIRTHDATE,
null LOOKUPID,
null LOCATION,
null CATEGORY
else
begin
exec dbo.USP_RAISE_ERROR;
return 1;
end
end catch
return 0;
end