USP_DATALIST_SPONSORSHIPCMSDATALIST
Lists all sponsorships (both corresponding and financial), mainly used for BBIS.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@SHOWHISTORY | bit | IN | Show commitment history |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_SPONSORSHIPCMSDATALIST(
@CONSTITUENTID uniqueidentifier,
@SHOWHISTORY bit = 0
)
as
set nocount on;
select
SPONSORSHIP.ID ID,
case when @SHOWHISTORY = 1 then SPONSORSHIP.SPONSORSHIPCOMMITMENTID end PARENTID,
SPONSORSHIP.ID SPONSORSHIPID,
SPONSORSHIP.ID CONTEXTSPONSORSHIPID,
SPONSORSHIPCOMMITMENT.COMMITMENTSEQUENCE,
CREATETRANSACTION.TRANSACTIONSEQUENCE SPONSORSHIPSEQUENCE,
SPONSORSHIPOPPORTUNITY.ID,
case when SPONSORSHIPCOMMITMENT.CONSTITUENTID=REVENUE.CONSTITUENTID then
dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID)
else
dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID) + ' (Gift Sponsorship from '+dbo.UFN_CONSTITUENT_BUILDNAME(dbo.UFN_SPONSORSHIP_GIFTFINANCIALSPONSORID(SPONSORSHIP.ID))+')'
end as NAME,
SPONSORSHIPPROGRAM.ID PROGRAMID,
SPONSORSHIPPROGRAM.NAME PROGRAM,
SPONSORSHIP.STARTDATE,
SPONSORSHIP.ENDDATE,
case SPONSORSHIP.STATUSCODE
when 1 then
case LASTTRANSACTION.ACTIONCODE
when 6 then 'Active (Transfer pending)'
when 5 then 'Active (Reassigned from ' + REASSIGNEDCONSTITUENTNAME_NF.NAME + ')'
else 'Active' end
when 2 then
case LASTTRANSACTION.ACTIONCODE
when 1 then 'Transferred'
when 2 then
case SPONSORSHIP.ID
when LASTTRANSACTION.CONTEXTSPONSORSHIPID then
case SPONSORSHIPREASON.REASONTYPECODE when 11 then 'Expired' else 'Cancelled' end
when LASTTRANSACTION.DECLINEDSPONSORSHIPID then 'Declined' end
when 3 then 'Terminated'
when 5 then 'Reassigned to ' + REASSIGNEDCONSTITUENTNAME_NF.NAME
when 7 then
case SPONSORSHIP.ID
when LASTTRANSACTION.CONTEXTSPONSORSHIPID then 'Transferred'
when LASTTRANSACTION.DECLINEDSPONSORSHIPID then 'Declined' end
when 8 then 'Transferred' end
else SPONSORSHIP.STATUS end STATUS,
case when SPONSORSHIP.STATUSCODE = 2 or (SPONSORSHIP.STATUSCODE = 1 and LASTTRANSACTION.ACTIONCODE = 6) then SPONSORSHIPREASON.REASON end REASON,
LASTTRANSACTION.ID TRANSACTIONID,
LASTTRANSACTION.ACTIONCODE ACTIONCODE,
dbo.UFN_SPONSORSHIP_DELETEALLOWED(SPONSORSHIP.ID) DELETEALLOWED,
dbo.UFN_SPONSORSHIP_REACTIVATEALLOWED(SPONSORSHIP.ID) REACTIVATEALLOWED,
REASSIGNED.CONSTITUENTID REASSIGNEDCONSTITUENTID,
REASSIGNEDCONSTITUENTNAME_NF.NAME REASSIGNEDCONSTITUENTNAME,
PAIDFORBY_NF.NAME PAIDFORBY,
dbo.UFN_SPONSORSHIP_GIFTFINANCIALSPONSORID(SPONSORSHIP.ID) PAIDFORBYID,
REVENUE.ID,
case @SHOWHISTORY
when 0 then SPONSORSHIPCOMMITMENT.LOOKUPID
else null
end COMMITMENTID,
case when SPONSORSHIPCOMMITMENT.CONSTITUENTID = @CONSTITUENTID then 0 else 1 end CONSTITUENTISGIFTSPONSOR,
case when SPONSORSHIPCOMMITMENT.CONSTITUENTID=REVENUE.CONSTITUENTID then
dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION_FIRSTNAMEONLY(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID)
else
dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION_FIRSTNAMEONLY(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID) + ' (Gift Sponsorship from '+dbo.UFN_CONSTITUENT_BUILDNAME(dbo.UFN_SPONSORSHIP_GIFTFINANCIALSPONSORID(SPONSORSHIP.ID))+')'
end as NAME_FIRSTNAMEONLY
from dbo.SPONSORSHIP
inner join dbo.SPONSORSHIPCOMMITMENT on SPONSORSHIPCOMMITMENT.ID = SPONSORSHIP.SPONSORSHIPCOMMITMENTID
inner join dbo.SPONSORSHIPOPPORTUNITY on SPONSORSHIPOPPORTUNITY.ID = SPONSORSHIP.SPONSORSHIPOPPORTUNITYID
inner join dbo.SPONSORSHIPPROGRAM on SPONSORSHIPPROGRAM.ID = SPONSORSHIP.SPONSORSHIPPROGRAMID
inner join dbo.SPONSORSHIPTRANSACTION CREATETRANSACTION on CREATETRANSACTION.SPONSORSHIPCOMMITMENTID = SPONSORSHIP.SPONSORSHIPCOMMITMENTID and CREATETRANSACTION.TRANSACTIONSEQUENCE = (select min(TRANSACTIONSEQUENCE) from dbo.SPONSORSHIPTRANSACTION MINSEQUENCE where MINSEQUENCE.SPONSORSHIPCOMMITMENTID = SPONSORSHIP.SPONSORSHIPCOMMITMENTID and MINSEQUENCE.TARGETSPONSORSHIPID = SPONSORSHIP.ID)
inner join dbo.SPONSORSHIPTRANSACTION LASTTRANSACTION on LASTTRANSACTION.SPONSORSHIPCOMMITMENTID = SPONSORSHIP.SPONSORSHIPCOMMITMENTID and LASTTRANSACTION.TRANSACTIONSEQUENCE = (select max(TRANSACTIONSEQUENCE) from dbo.SPONSORSHIPTRANSACTION MAXSEQUENCE where MAXSEQUENCE.SPONSORSHIPCOMMITMENTID = SPONSORSHIP.SPONSORSHIPCOMMITMENTID and SPONSORSHIP.ID in(MAXSEQUENCE.CONTEXTSPONSORSHIPID,MAXSEQUENCE.TARGETSPONSORSHIPID,MAXSEQUENCE.DECLINEDSPONSORSHIPID) and MAXSEQUENCE.ACTIONCODE <> 9)
left outer join dbo.SPONSORSHIP REASSIGNED on REASSIGNED.ID = case SPONSORSHIP.STATUSCODE when 1 then LASTTRANSACTION.CONTEXTSPONSORSHIPID when 2 then LASTTRANSACTION.TARGETSPONSORSHIPID end and LASTTRANSACTION.ACTIONCODE = 5
left outer join dbo.SPONSORSHIPREASON on SPONSORSHIPREASON.ID = LASTTRANSACTION.SPONSORSHIPREASONID
inner join dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT on REVENUESPLIT.ID = SPONSORSHIP.REVENUESPLITID
inner join dbo.FINANCIALTRANSACTION REVENUE on REVENUE.ID = REVENUESPLIT.FINANCIALTRANSACTIONID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REASSIGNED.CONSTITUENTID) REASSIGNEDCONSTITUENTNAME_NF
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(dbo.UFN_SPONSORSHIP_GIFTFINANCIALSPONSORID(SPONSORSHIP.ID)) PAIDFORBY_NF
where SPONSORSHIPCOMMITMENT.CONSTITUENTID = @CONSTITUENTID
and (@SHOWHISTORY = 1 or SPONSORSHIP.STATUSCODE = 1)
union all
select
SPONSORSHIP.ID ID,
case when @SHOWHISTORY = 1 then SPONSORSHIP.SPONSORSHIPCOMMITMENTID end PARENTID,
SPONSORSHIP.ID SPONSORSHIPID,
SPONSORSHIP.ID CONTEXTSPONSORSHIPID,
null,
null SPONSORSHIPSEQUENCE,
SPONSORSHIPOPPORTUNITY.ID,
dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID) + ' (Gift Sponsorship to '+dbo.UFN_CONSTITUENT_BUILDNAME(SPONSORSHIP.CONSTITUENTID)+')' NAME,
SPONSORSHIPPROGRAM.ID PROGRAMID,
SPONSORSHIPPROGRAM.NAME PROGRAM,
SPONSORSHIP.STARTDATE,
SPONSORSHIP.ENDDATE,
'Active' STATUS,
null REASON,
null TRANSACTIONID,
null ACTIONCODE,
dbo.UFN_SPONSORSHIP_DELETEALLOWED(SPONSORSHIP.ID) DELETEALLOWED,
dbo.UFN_SPONSORSHIP_REACTIVATEALLOWED(SPONSORSHIP.ID) REACTIVATEALLOWED,
null REASSIGNEDCONSTITUENTID,
null REASSIGNEDCONSTITUENTNAME,
PAIDFORBY_NF.NAME PAIDFORBY,
dbo.UFN_SPONSORSHIP_GIFTFINANCIALSPONSORID(SPONSORSHIP.ID) PAIDFORBYID,
REVENUE.ID,
null COMMITMENTID,
case when SPONSORSHIP.CONSTITUENTID = @CONSTITUENTID then 0 else 1 end CONSTITUENTISGIFTSPONSOR,
dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION_FIRSTNAMEONLY(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID) + ' (Gift Sponsorship to '+dbo.UFN_CONSTITUENT_BUILDNAME(SPONSORSHIP.CONSTITUENTID)+')'
from dbo.SPONSORSHIP
inner join dbo.SPONSORSHIPOPPORTUNITY on SPONSORSHIPOPPORTUNITY.ID = SPONSORSHIP.SPONSORSHIPOPPORTUNITYID
inner join dbo.SPONSORSHIPPROGRAM on SPONSORSHIPPROGRAM.ID = SPONSORSHIP.SPONSORSHIPPROGRAMID
inner join dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT on REVENUESPLIT.ID = SPONSORSHIP.REVENUESPLITID
inner join dbo.FINANCIALTRANSACTION REVENUE on REVENUE.ID = REVENUESPLIT.FINANCIALTRANSACTIONID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(dbo.UFN_SPONSORSHIP_GIFTFINANCIALSPONSORID(SPONSORSHIP.ID)) PAIDFORBY_NF
where REVENUE.CONSTITUENTID = @CONSTITUENTID and SPONSORSHIP.CONSTITUENTID <> @CONSTITUENTID
and (@SHOWHISTORY = 1 or SPONSORSHIP.STATUSCODE = 1)
order by SPONSORSHIPSEQUENCE;