USP_DATAFORMTEMPLATE_VIEW_REVENUETRANSACTIONDETAIL
The load procedure used by the view dataform template "Revenue Transaction Detail View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@DESIGNATION | nvarchar(100) | INOUT | Designation |
@CAMPAIGNS | nvarchar(max) | INOUT | Campaign |
@APPLIEDID | uniqueidentifier | INOUT | Applied ID |
@APPLIEDDATE | datetime | INOUT | Applied date |
@APPLIEDTYPE | nvarchar(100) | INOUT | Applied type |
@APPLIEDNAME | nvarchar(700) | INOUT | Applied to |
@OPPORTUNITYID | uniqueidentifier | INOUT | Opportunity ID |
@OPPORTUNITYNAME | nvarchar(500) | INOUT | Associated with |
@APPLIEDTOCOUNT | int | INOUT | APPLIEDTOCOUNT |
@CATEGORYDESCRIPTION | nvarchar(100) | INOUT | Revenue category |
@APPLICATIONCODE | tinyint | INOUT | Application code |
@SOLICITORS | xml | INOUT | SOLICITORS |
@RECOGNITIONS | xml | INOUT | RECOGNITIONS |
@DONATIONFORPLANNEDGIFT | bit | INOUT | DONATIONFORPLANNEDGIFT |
@GIFTAIDQUALIFICATIONSTATUS | nvarchar(30) | INOUT | Gift Aid qualification status |
@TAXCLAIMELIGIBILITY | nvarchar(20) | INOUT | TAXCLAIMELIGIBILITY |
@TAXCLAIMAMOUNT | money | INOUT | Tax claim amount |
@TAXCLAIMNUMBER | nvarchar(10) | INOUT | Tax claim number |
@PREVIOUSCLAIMAMOUNT | money | INOUT | Previous tax claim amount |
@PREVIOUSCLAIMNUMBER | nvarchar(10) | INOUT | Previous tax claim number |
@SHOWPOTENTIAL | tinyint | INOUT | Show gift aid as potential |
@CONSTITUENTISGROUP | bit | INOUT | Constituent is a group |
@SHOWREFUNDDETAILS | bit | INOUT | Show refund details for application |
@TAXCLAIMELIGIBILITYSTATUSCODE | tinyint | INOUT | Tax claim eligibility |
@AUCTIONITEMPACKAGENAME | nvarchar(100) | INOUT | Auction package |
@AUCTIONITEMPACKAGEID | uniqueidentifier | INOUT | AUCTIONITEMPACKAGEID |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency ID |
@ISPLANNEDGIFTADDITION | bit | INOUT | Is planned gift addition |
@DONORCHALLENGEREVENUEID | uniqueidentifier | INOUT | DONORCHALLENGEREVENUEID |
@DONORCHALLENGEAMOUNT | money | INOUT | DONORCHALLENGEAMOUNT |
@DONORCHALLENGETRANSACTIONCURRENCYID | uniqueidentifier | INOUT | DONORCHALLENGETRANSACTIONCURRENCYID |
@DONORCHALLENGETYPE | nvarchar(100) | INOUT | DONORCHALLENGETYPE |
@DONORCHALLENGECONSTITUENT | nvarchar(100) | INOUT | DONORCHALLENGECONSTITUENT |
@DONORCHALLENGETEXT | nvarchar(100) | INOUT | DONORCHALLENGETEXT |
@APPLIEDRECIPRICOLCONSTITUENTNAME | nvarchar(400) | INOUT | Applied reciprocal constituent name |
@RECIPRICOLLOOKUPID | nvarchar(100) | INOUT | Reciprocal applied lookup ID |
@DONORCHALLENGECLAIMS | xml | INOUT | DONORCHALLENGECLAIMS |
@DONORCHALLENGEREVENUE2ID | uniqueidentifier | INOUT | DONORCHALLENGEREVENUE2ID |
@DONORCHALLENGEREVENUE3ID | uniqueidentifier | INOUT | DONORCHALLENGEREVENUE3ID |
@DONORCHALLENGETEXT2 | nvarchar(100) | INOUT | DONORCHALLENGETEXT2 |
@DONORCHALLENGETEXT3 | nvarchar(100) | INOUT | DONORCHALLENGETEXT3 |
@GIVENTO | nvarchar(100) | INOUT | |
@QUANTITY | tinyint | INOUT | |
@DESCRIPTION | nvarchar(100) | INOUT | |
@LINKEDTOMEMBERSHIP | bit | INOUT | |
@MEMBERSHIPID | uniqueidentifier | INOUT | |
@MEMBERSHIPNAME | nvarchar(100) | INOUT | |
@MEMBERSHIPDATE | datetime | INOUT | |
@MEMBERNAME | nvarchar(700) | INOUT | |
@MEMBERSHIPADDON | nvarchar(100) | INOUT | |
@ISNOTGRANTPAYMENT | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_REVENUETRANSACTIONDETAIL
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@DESIGNATION nvarchar(100) = null output,
@CAMPAIGNS nvarchar(max) = null output,
@APPLIEDID uniqueidentifier = null output,
@APPLIEDDATE datetime = null output,
@APPLIEDTYPE nvarchar(100) = null output,
@APPLIEDNAME nvarchar(700) = null output,
@OPPORTUNITYID uniqueidentifier = null output,
@OPPORTUNITYNAME nvarchar(500) = null output,
@APPLIEDTOCOUNT integer = null output,
@CATEGORYDESCRIPTION nvarchar(100) = null output,
@APPLICATIONCODE tinyint = null output,
@SOLICITORS xml = null output,
@RECOGNITIONS xml = null output,
@DONATIONFORPLANNEDGIFT bit = null output,
@GIFTAIDQUALIFICATIONSTATUS nvarchar(30) = null output,
-- @TAXCLAIMELIGIBILITY is deprecated. Should use @TAXCLAIMELIGIBILITYSTATUSCODE instead.
@TAXCLAIMELIGIBILITY nvarchar(20) = null output,
@TAXCLAIMAMOUNT money = null output,
@TAXCLAIMNUMBER nvarchar(10) = null output,
@PREVIOUSCLAIMAMOUNT money = null output,
@PREVIOUSCLAIMNUMBER nvarchar(10) = null output,
@SHOWPOTENTIAL tinyint = null output,
@CONSTITUENTISGROUP bit = null output,
@SHOWREFUNDDETAILS bit = null output,
@TAXCLAIMELIGIBILITYSTATUSCODE tinyint = null output,
@AUCTIONITEMPACKAGENAME nvarchar(100) = null output,
@AUCTIONITEMPACKAGEID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output,
@ISPLANNEDGIFTADDITION bit = null output,
@DONORCHALLENGEREVENUEID uniqueidentifier = null output,
@DONORCHALLENGEAMOUNT money = null output,
@DONORCHALLENGETRANSACTIONCURRENCYID uniqueidentifier = null output,
@DONORCHALLENGETYPE nvarchar(100) = null output,
@DONORCHALLENGECONSTITUENT nvarchar(100) = null output,
@DONORCHALLENGETEXT nvarchar(100) = null output,
@APPLIEDRECIPRICOLCONSTITUENTNAME nvarchar(400) = null output,
@RECIPRICOLLOOKUPID nvarchar(100) = null output,
@DONORCHALLENGECLAIMS xml = null output,
@DONORCHALLENGEREVENUE2ID uniqueidentifier = null output,
@DONORCHALLENGEREVENUE3ID uniqueidentifier = null output,
@DONORCHALLENGETEXT2 nvarchar(100) = null output,
@DONORCHALLENGETEXT3 nvarchar(100) = null output,
@GIVENTO nvarchar(100) = null output,
@QUANTITY tinyint = null output,
@DESCRIPTION nvarchar(100) = null output,
@LINKEDTOMEMBERSHIP bit = null output,
@MEMBERSHIPID uniqueidentifier = null output,
@MEMBERSHIPNAME nvarchar(100) = null output,
@MEMBERSHIPDATE datetime = null output,
@MEMBERNAME nvarchar(700) = null output,
@MEMBERSHIPADDON nvarchar(100) = null output,
@ISNOTGRANTPAYMENT bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @LINKEDTOMEMBERSHIP = 0;
declare @REVENUEID uniqueidentifier;
declare @REVENUETYPECODE tinyint;
declare @REVENUETYPE nvarchar(20);
select
@REVENUEID = FINANCIALTRANSACTION.ID,
@DATALOADED = 1,
@APPLICATIONCODE = REVENUESPLIT_EXT.APPLICATIONCODE,
@DESIGNATION = DESIGNATION.NAME,
@CATEGORYDESCRIPTION = coalesce(GLREVENUECATEGORYMAPPING.REVENUECATEGORYNAME, ''),
@SOLICITORS = dbo.UFN_REVENUE_GETSOLICITORS_2_TOITEMLISTXML(@ID),
@RECOGNITIONS = dbo.UFN_RECOGNITIONCREDIT_DONORCHALLENGE_GETRECOGNITIONS_TOITEMLISTXML(@ID),
@REVENUETYPECODE = REVENUESPLIT_EXT.TYPECODE,
@REVENUETYPE = REVENUESPLIT_EXT.TYPE,
@TRANSACTIONCURRENCYID = FINANCIALTRANSACTION.TRANSACTIONCURRENCYID,
--@DONORCHALLENGEREVENUEID = (select top 1 MATCHEDREVENUEID from dbo.DONORCHALLENGEENCUMBERED where DONORCHALLENGEENCUMBERED.REVENUESPLITID = @ID and STATUSTYPECODE = 1),
@DONORCHALLENGECLAIMS = dbo.UFN_REVENUETRANSACTION_TOP3DONORCHALLENGECLAIMS_TOITEMLISTXML(@ID)
,@ISNOTGRANTPAYMENT = case REVENUESPLIT_EXT.APPLICATIONCODE when 8 then 0 else 1 end
from dbo.FINANCIALTRANSACTION
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
left outer join dbo.DESIGNATION on REVENUESPLIT_EXT.DESIGNATIONID = DESIGNATION.ID
left join dbo.REVENUECATEGORY
on FINANCIALTRANSACTIONLINEITEM.ID = REVENUECATEGORY.ID
left join dbo.GLREVENUECATEGORYMAPPING
on REVENUECATEGORY.GLREVENUECATEGORYMAPPINGID = GLREVENUECATEGORYMAPPING.ID
where FINANCIALTRANSACTIONLINEITEM.ID = @ID
and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
select @DONORCHALLENGEREVENUEID = @DONORCHALLENGECLAIMS.value('(/DONORCHALLENGECLAIMS/ITEM[1]/DONORCHALLENGEREVENUEID)[1]','uniqueidentifier')
select @DONORCHALLENGEREVENUE2ID = @DONORCHALLENGECLAIMS.value('(/DONORCHALLENGECLAIMS/ITEM[2]/DONORCHALLENGEREVENUEID)[1]','uniqueidentifier')
select @DONORCHALLENGEREVENUE3ID = @DONORCHALLENGECLAIMS.value('(/DONORCHALLENGECLAIMS/ITEM[3]/DONORCHALLENGEREVENUEID)[1]','uniqueidentifier')
select @CONSTITUENTISGROUP = (ISGROUP|ISORGANIZATION)
from dbo.CONSTITUENT
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTION.CONSTITUENTID = CONSTITUENT.ID
where FINANCIALTRANSACTION.ID = @REVENUEID
and FINANCIALTRANSACTION.DELETEDON is null;
select
@CAMPAIGNS = dbo.UDA_BUILDLIST(distinct CAMPAIGN.NAME)
from dbo.REVENUESPLITCAMPAIGN
inner join dbo.CAMPAIGN on REVENUESPLITCAMPAIGN.CAMPAIGNID = CAMPAIGN.ID
where REVENUESPLITCAMPAIGN.REVENUESPLITID = @ID
set @DONATIONFORPLANNEDGIFT = 0
if @APPLICATIONCODE = 0 -- Donations that came from planned gifts
begin
if exists (select ID from dbo.MEMBERSHIPTRANSACTION where REVENUESPLITID = @ID)
begin
select top 1
@APPLIEDID = MEMBERSHIP.ID,
@APPLIEDDATE = MEMBERSHIPTRANSACTION.TRANSACTIONDATE,
@APPLIEDTYPE = dbo.UFN_MEMBERSHIPPROGRAM_GETNAME(MEMBERSHIP.MEMBERSHIPPROGRAMID),
@APPLIEDNAME = NF.NAME,
@GIVENTO = case
when MEMBERSHIP.GIVENBYID is null then null
else NF.NAME
end,
@LINKEDTOMEMBERSHIP = 1
from dbo.MEMBERSHIPTRANSACTION
inner join dbo.MEMBERSHIP on MEMBERSHIPTRANSACTION.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBER on MEMBERSHIP.ID = MEMBER.MEMBERSHIPID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(MEMBER.CONSTITUENTID) NF
where MEMBERSHIPTRANSACTION.REVENUESPLITID = @ID and MEMBER.ISPRIMARY = 1;
end
else
begin
select top 1
@DONATIONFORPLANNEDGIFT = 1,
@APPLIEDID = PLANNEDGIFTREVENUESPLIT.PLANNEDGIFTID,
@APPLIEDDATE = PLANNEDGIFT.GIFTDATE,
@APPLIEDNAME = NF.NAME
from dbo.PLANNEDGIFTREVENUESPLIT
inner join dbo.PLANNEDGIFT
on PLANNEDGIFT.ID = PLANNEDGIFTREVENUESPLIT.PLANNEDGIFTID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PLANNEDGIFT.CONSTITUENTID) NF
where PLANNEDGIFTREVENUESPLIT.REVENUESPLITID = @ID
end
end
if @APPLICATIONCODE = 2 or @APPLICATIONCODE = 8 or @APPLICATIONCODE = 19 --pledge payment or grant award or membership installment plan
select top 1
@APPLIEDID = FINANCIALTRANSACTION.ID,
@APPLIEDDATE = FINANCIALTRANSACTION.DATE,
@APPLIEDTYPE = FINANCIALTRANSACTION.TYPE,
@APPLIEDNAME = NF.NAME
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.FINANCIALTRANSACTION
on INSTALLMENTSPLITPAYMENT.PLEDGEID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUE_EXT
on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(FINANCIALTRANSACTION.CONSTITUENTID) NF
where PAYMENTID = @ID
and FINANCIALTRANSACTION.DELETEDON is null
if @APPLICATIONCODE = 19
begin
if @REVENUETYPECODE <> 18
select top 1 @MEMBERSHIPID = MEMBERSHIPTRANSACTION.MEMBERSHIPID,
@MEMBERSHIPDATE = MEMBERSHIPTRANSACTION.TRANSACTIONDATE,
@MEMBERSHIPNAME = MEMBERSHIPPROGRAM.NAME,
@MEMBERNAME = NF.NAME
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.FINANCIALTRANSACTION on INSTALLMENTSPLITPAYMENT.PLEDGEID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.MEMBERSHIPTRANSACTION on FINANCIALTRANSACTIONLINEITEM.ID = MEMBERSHIPTRANSACTION.REVENUESPLITID
inner join dbo.MEMBERSHIP on MEMBERSHIPTRANSACTION.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBER on MEMBERSHIP.ID = MEMBER.MEMBERSHIPID
inner join dbo.MEMBERSHIPLEVEL on MEMBERSHIPTRANSACTION.MEMBERSHIPLEVELID = MEMBERSHIPLEVEL.ID
inner join dbo.MEMBERSHIPPROGRAM on MEMBERSHIPLEVEL.MEMBERSHIPPROGRAMID = MEMBERSHIPPROGRAM.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(MEMBER.CONSTITUENTID) NF
where FINANCIALTRANSACTION.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
and INSTALLMENTSPLITPAYMENT.PAYMENTID = @ID
and MEMBER.ISPRIMARY = 1
else
select top 1 @MEMBERSHIPID = MEMBERSHIPTRANSACTION.MEMBERSHIPID,
@MEMBERSHIPADDON = ADDON.NAME
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on INSTALLMENTSPLIT.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.MEMBERSHIPADDON on FINANCIALTRANSACTIONLINEITEM.ID = MEMBERSHIPADDON.REVENUESPLITID
inner join dbo.ADDON on MEMBERSHIPADDON.ADDONID = ADDON.ID
inner join dbo.MEMBERSHIPTRANSACTION on MEMBERSHIPADDON.MEMBERSHIPTRANSACTIONID = MEMBERSHIPTRANSACTION.ID
where FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
and INSTALLMENTSPLITPAYMENT.PAYMENTID = @ID
end
if @APPLICATIONCODE = 3 --recurring gift payment
begin
set @LINKEDTOMEMBERSHIP = 0
select
@LINKEDTOMEMBERSHIP = 1
from
dbo.RECURRINGGIFTACTIVITY
inner join dbo.FINANCIALTRANSACTION on RECURRINGGIFTACTIVITY.SOURCEREVENUEID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.MEMBERSHIPTRANSACTION on FINANCIALTRANSACTIONLINEITEM.ID = MEMBERSHIPTRANSACTION.REVENUESPLITID
where
PAYMENTREVENUEID = @ID
and FINANCIALTRANSACTION.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
select top 1
@APPLIEDID = case @LINKEDTOMEMBERSHIP
when 0 then FINANCIALTRANSACTION.ID
else MEMBERSHIPTRANSACTION.MEMBERSHIPID
end,
@APPLIEDDATE = cast(FINANCIALTRANSACTION.DATE as datetime),
@APPLIEDTYPE = case @REVENUETYPECODE
when 9 then @REVENUETYPE + ' ' + lower(FINANCIALTRANSACTION.TYPE) + ' (' +
(select dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID)
from dbo.SPONSORSHIPPAYMENT
inner join dbo.SPONSORSHIP on SPONSORSHIP.ID = SPONSORSHIPPAYMENT.SPONSORSHIPID
where SPONSORSHIPPAYMENT.ID = @ID) + ')'
when 17 then 'Sponsorship recurring additional gift '+ '('+
(select top 1 dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID)
from dbo.SPONSORSHIPRECURRINGADDITIONALGIFT SPRAG
inner join dbo.SPONSORSHIP on SPONSORSHIP.ID = SPRAG.SPONSORSHIPID
where SPRAG.REVENUEID = FINANCIALTRANSACTION.ID
order by case when SPONSORSHIP.STATUSCODE = 1 then 1 else 2 end, SPONSORSHIP.STARTDATE desc, SPONSORSHIP.DATECHANGED desc) + ')'
when 2 then
case @LINKEDTOMEMBERSHIP
when 1 then 'Recurring membership payment '
else FINANCIALTRANSACTION.TYPE end
else FINANCIALTRANSACTION.TYPE
end,
@APPLIEDNAME = NF.NAME
from dbo.RECURRINGGIFTACTIVITY
inner join dbo.FINANCIALTRANSACTION on RECURRINGGIFTACTIVITY.SOURCEREVENUEID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
left join dbo.MEMBERSHIPTRANSACTION on FINANCIALTRANSACTIONLINEITEM.ID = MEMBERSHIPTRANSACTION.REVENUESPLITID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(FINANCIALTRANSACTION.CONSTITUENTID) NF
where RECURRINGGIFTACTIVITY.PAYMENTREVENUEID = @ID
and FINANCIALTRANSACTION.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
end
if @APPLICATIONCODE = 1 --Event Fee payment
select top 1
@APPLIEDID = EVENTREGISTRANTPAYMENT.REGISTRANTID,
@APPLIEDTYPE = EVENT.NAME,
@APPLIEDNAME = NF.NAME
from dbo.EVENTREGISTRANTPAYMENT
inner join dbo.REGISTRANT
on EVENTREGISTRANTPAYMENT.REGISTRANTID = REGISTRANT.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REGISTRANT.CONSTITUENTID) NF
inner join dbo.[EVENT]
on REGISTRANT.EVENTID = [EVENT].ID
where PAYMENTID = @ID;
if @APPLICATIONCODE = 18 and @REVENUETYPECODE = 18 --Membership add-on
begin
select
@APPLIEDID = MEMBERSHIPID,
@APPLIEDNAME = NAME,
@LINKEDTOMEMBERSHIP = 1,
@DESCRIPTION = DESCRIPTION,
@QUANTITY = QUANTITY
from
dbo.MEMBERSHIPADDON
inner join dbo.ADDON on MEMBERSHIPADDON.ADDONID = ADDON.ID
inner join dbo.MEMBERSHIPPROGRAMADDON on MEMBERSHIPPROGRAMADDON.ADDONID = ADDON.ID
where
MEMBERSHIPADDON.REVENUESPLITID = @ID
end
if @APPLICATIONCODE = 5 and @REVENUETYPECODE = 2 --Membership
begin
set @LINKEDTOMEMBERSHIP = 1
select top 1
@APPLIEDID = MEMBERSHIP.ID,
@APPLIEDDATE = MEMBERSHIPTRANSACTION.TRANSACTIONDATE,
@APPLIEDTYPE = dbo.UFN_MEMBERSHIPPROGRAM_GETNAME(MEMBERSHIP.MEMBERSHIPPROGRAMID),
@APPLIEDNAME = NF.NAME,
@GIVENTO = case
when MEMBERSHIP.GIVENBYID is null then null
else NF.NAME
end
from dbo.MEMBERSHIPTRANSACTION
inner join dbo.MEMBERSHIP on MEMBERSHIPTRANSACTION.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBER on MEMBERSHIP.ID = MEMBER.MEMBERSHIPID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(MEMBER.CONSTITUENTID) NF
where MEMBERSHIPTRANSACTION.REVENUESPLITID = @ID and MEMBER.ISPRIMARY = 1;
if @APPLIEDID is null -- The membership was refunded
begin
select top 1
@APPLIEDID = MEMBER.ID,
@APPLIEDTYPE = dbo.UFN_MEMBERSHIPPROGRAM_GETNAME(MEMBERSHIP.MEMBERSHIPPROGRAMID),
@APPLIEDNAME = NF.NAME
from
dbo.CREDITITEM
inner join
dbo.CREDITITEMMEMBERSHIP on CREDITITEMMEMBERSHIP.ID = CREDITITEM.ID
inner join
dbo.MEMBERSHIP ON MEMBERSHIP.ID = CREDITITEMMEMBERSHIP.MEMBERSHIPID
inner join
dbo.MEMBER on MEMBER.MEMBERSHIPID = CREDITITEMMEMBERSHIP.MEMBERSHIPID
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(MEMBER.CONSTITUENTID) NF
where
CREDITITEM.REVENUESPLITID = @ID
and MEMBER.ISPRIMARY = 1;
end
end
if @APPLICATIONCODE = 7 or @APPLICATIONCODE = 17 --Matching gift payment or pending gift payment
begin
select @APPLIEDTOCOUNT = count(*)
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.REVENUE
on INSTALLMENTSPLITPAYMENT.PLEDGEID = REVENUE.ID
inner join dbo.CONSTITUENT
on REVENUE.CONSTITUENTID = CONSTITUENT.ID
where PAYMENTID = @ID
if @APPLIEDTOCOUNT = 1
begin
select top 1
@APPLIEDID = REVENUE.ID,
@APPLIEDDATE = REVENUE.DATE,
@APPLIEDTYPE = REVENUE.TRANSACTIONTYPE,
@APPLIEDNAME = NF.NAME
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.REVENUE
on INSTALLMENTSPLITPAYMENT.PLEDGEID = REVENUE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) NF
where PAYMENTID = @ID
if @APPLICATIONCODE = 7
select
@APPLIEDRECIPRICOLCONSTITUENTNAME = CONSTITUENT.NAME,
@RECIPRICOLLOOKUPID = CONSTITUENT.LOOKUPID
from REVENUE
inner join dbo.CONSTITUENT on CONSTITUENT.ID = REVENUE.CONSTITUENTID
inner join dbo.REVENUEMATCHINGGIFT on REVENUE.ID = REVENUEMATCHINGGIFT.MGSOURCEREVENUEID
where REVENUEMATCHINGGIFT.ID = @APPLIEDID
end
else
set @APPLIEDID = @REVENUEID;
end
if @APPLICATIONCODE = 6 -- Planned gift
select top 1
@APPLIEDID = REVENUE.ID,
@APPLIEDDATE = REVENUE.DATE,
@APPLIEDTYPE = REVENUE.TRANSACTIONTYPE,
@APPLIEDNAME = NF.NAME,
@ISPLANNEDGIFTADDITION = PLANNEDGIFTREVENUE.ISADDITION
from
dbo.INSTALLMENTSPLITPAYMENT
inner join
dbo.REVENUE on INSTALLMENTSPLITPAYMENT.PLEDGEID = REVENUE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) NF
inner join
dbo.V_PLANNEDGIFTREVENUE_WITHADDITIONS PLANNEDGIFTREVENUE on PLANNEDGIFTREVENUE.REVENUEID = REVENUE.ID
where
PAYMENTID = @ID;
select top 1
@OPPORTUNITYID = RO.OPPORTUNITYID,
@OPPORTUNITYNAME = dbo.UFN_OPPORTUNITY_GETDESCRIPTION(RO.OPPORTUNITYID)
from
dbo.REVENUEOPPORTUNITY RO
where
RO.ID = @ID;
if @APPLICATIONCODE = 12 --Auction item purchase
select top 1
@APPLIEDID = AUCTIONITEM.REVENUEAUCTIONDONATIONID,
@APPLIEDDATE = REVENUE.DATE,
@APPLIEDTYPE = REVENUE.TRANSACTIONTYPE,
@APPLIEDNAME = AUCTIONITEM.NAME,
@AUCTIONITEMPACKAGEID = AUCTIONITEM.PACKAGEID,
@AUCTIONITEMPACKAGENAME = (select NAME from dbo.AUCTIONITEM [ITEM] where [ITEM].ID = AUCTIONITEM.PACKAGEID)
from
dbo.AUCTIONITEM
inner join dbo.AUCTIONITEMPURCHASE on AUCTIONITEM.ID = AUCTIONITEMPURCHASE.AUCTIONITEMID
inner join dbo.REVENUESPLIT on AUCTIONITEMPURCHASE.PURCHASEID = REVENUESPLIT.ID
inner join dbo.REVENUE on REVENUESPLIT.REVENUEID = REVENUE.ID
where
AUCTIONITEMPURCHASE.PURCHASEID = @ID
--Gift Aid is for UK only
if dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('9568A6C2-F7AA-45fd-8F54-21FE9654EE2D') = 1
begin
select @GIFTAIDQUALIFICATIONSTATUS = dbo.UFN_GIFTAIDREVENUESPLIT_GETQUALIFICATIONSTATUS(@ID);
-- @TAXCLAIMELIGIBILITY is deprecated. Should use @TAXCLAIMELIGIBILITYSTATUSCODE instead.
select @TAXCLAIMELIGIBILITY = dbo.UFN_GIFTAIDREVENUESPLIT_GETTAXCLAIMELIGIBILITY(@ID);
select @TAXCLAIMELIGIBILITYSTATUSCODE = dbo.UFN_GIFTAIDREVENUESPLIT_GETTAXCLAIMELIGIBILITYSTATUS(@ID);
select @TAXCLAIMAMOUNT = dbo.UFN_GIFTAIDREVENUESPLIT_GETSPLITTAXCLAIMAMOUNT_2(@ID, 0, 1);
select @TAXCLAIMNUMBER = dbo.UFN_GIFTAIDREVENUESPLIT_GETSPLITTAXCLAIMNUMBER(@ID);
select @PREVIOUSCLAIMAMOUNT = dbo.UFN_GIFTAIDREVENUESPLIT_GETREFUNDTAXCLAIMAMOUNT(@ID);
select @PREVIOUSCLAIMNUMBER = dbo.UFN_GIFTAIDREVENUESPLIT_GETREFUNDTAXCLAIMNUMBER(@ID);
select @SHOWPOTENTIAL = dbo.UFN_GIFTAIDREVENUESPLIT_SHOWSPLITASPOTENTIAL(@ID);
select @SHOWREFUNDDETAILS = dbo.UFN_GIFTAIDREVENUESPLIT_SHOWREFUNDDETAILS(@ID);
end
if @APPLICATIONCODE = 13 --Donor challenge payment
begin
select @APPLIEDTOCOUNT = count(*)
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.REVENUE
on INSTALLMENTSPLITPAYMENT.PLEDGEID = REVENUE.ID
inner join dbo.CONSTITUENT
on REVENUE.CONSTITUENTID = CONSTITUENT.ID
where PAYMENTID = @ID
if @APPLIEDTOCOUNT = 1
select top 1
@APPLIEDID = REVENUE.ID,
@APPLIEDDATE = REVENUE.DATE,
@APPLIEDTYPE = REVENUE.TRANSACTIONTYPE,
@APPLIEDNAME = NF.NAME
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.REVENUE on INSTALLMENTSPLITPAYMENT.PLEDGEID = REVENUE.ID
inner join dbo.REVENUESPLIT on REVENUESPLIT.REVENUEID = REVENUE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) NF
where PAYMENTID = @ID
else
set @APPLIEDID = @REVENUEID;
end
if not @DONORCHALLENGEREVENUEID is null
begin
select
@DONORCHALLENGEAMOUNT = REVENUE.AMOUNT,
@DONORCHALLENGETRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID,
@DONORCHALLENGETYPE = REVENUE.TRANSACTIONTYPE,
@DONORCHALLENGECONSTITUENT = (select top 1 CONSTITUENT.NAME from dbo.CONSTITUENT where CONSTITUENT.ID = REVENUE.CONSTITUENTID)
from dbo.REVENUE
where REVENUE.ID = @DONORCHALLENGEREVENUEID
end
else
begin
select
@DONORCHALLENGEAMOUNT = 0,
@DONORCHALLENGETRANSACTIONCURRENCYID = null,
@DONORCHALLENGETYPE = N'',
@DONORCHALLENGECONSTITUENT = N''
end
return 0;