USP_DATAFORMTEMPLATE_VIEW_APPLICATIONINFO
The load procedure used by the view dataform template "Payment: Application View Information 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. |
@APPLIEDTODATE | datetime | INOUT | APPLIEDTODATE |
@APPLIEDTOTRANSACTIONTYPECODE | tinyint | INOUT | APPLIEDTOTRANSACTIONTYPECODE |
@APPLIEDTOCONSTITUENTID | uniqueidentifier | INOUT | Constituent |
@DESIGNATIONS | nvarchar(max) | INOUT | Designations |
@CAMPAIGNS | nvarchar(max) | INOUT | Campaigns |
@CATEGORYCODEID | uniqueidentifier | INOUT | Revenue category |
@DECLINESGIFTAID | bit | INOUT | Declines Gift Aid |
@ISGIFTAIDSPONSORSHIP | bit | INOUT | Gift Aid sponsorship |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_APPLICATIONINFO
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@APPLIEDTODATE datetime = null output,
@APPLIEDTOTRANSACTIONTYPECODE tinyint = null output,
@APPLIEDTOCONSTITUENTID uniqueidentifier = null output,
@DESIGNATIONS nvarchar(max) = null output,
@CAMPAIGNS nvarchar(max) = null output,
@CATEGORYCODEID uniqueidentifier = null output,
@DECLINESGIFTAID bit = null output,
@ISGIFTAIDSPONSORSHIP bit = null output
)
as
set nocount on;
declare @APPLICATIONCODE tinyint;
set @DATALOADED = 0;
select @DATALOADED = 1,
@APPLICATIONCODE = REVENUESPLIT.APPLICATIONCODE,
@DESIGNATIONS = dbo.UFN_DESIGNATION_BUILDNAME(REVENUESPLIT.DESIGNATIONID),
@CATEGORYCODEID = GLREVENUECATEGORYMAPPINGID,
@CAMPAIGNS =
(select
dbo.UDA_BUILDLIST(distinct CAMPAIGN.NAME)
from
dbo.CAMPAIGN
inner join
dbo.REVENUESPLITCAMPAIGN on CAMPAIGN.ID = REVENUESPLITCAMPAIGN.CAMPAIGNID
where
REVENUESPLITCAMPAIGN.REVENUESPLITID = REVENUESPLIT.ID
),
@DECLINESGIFTAID = REVENUESPLITGIFTAID.DECLINESGIFTAID,
@ISGIFTAIDSPONSORSHIP = REVENUESPLITGIFTAID.ISSPONSORSHIP
from dbo.REVENUESPLIT
left outer join dbo.REVENUECATEGORY on REVENUESPLIT.ID = REVENUECATEGORY.ID
left outer join dbo.REVENUESPLITCAMPAIGN on REVENUESPLITCAMPAIGN.REVENUESPLITID = REVENUESPLIT.ID
left outer join dbo.REVENUESPLITGIFTAID on REVENUESPLIT.ID = REVENUESPLITGIFTAID.ID
where REVENUESPLIT.ID = @ID;
if @APPLICATIONCODE = 1 --Event
begin
select
@APPLIEDTODATE = EVENT.STARTDATE,
@APPLIEDTOCONSTITUENTID = REGISTRANT.CONSTITUENTID
from dbo.EVENTREGISTRANTPAYMENT
inner join dbo.REGISTRANT on REGISTRANT.ID = EVENTREGISTRANTPAYMENT.REGISTRANTID
inner join dbo.EVENT on EVENT.ID = REGISTRANT.EVENTID
where EVENTREGISTRANTPAYMENT.PAYMENTID = @ID
end
if @APPLICATIONCODE = 3 --RG
begin
select
@APPLIEDTODATE = REVENUE.DATE,
@APPLIEDTOTRANSACTIONTYPECODE = REVENUE.TRANSACTIONTYPECODE,
@APPLIEDTOCONSTITUENTID = REVENUE.CONSTITUENTID
from dbo.RECURRINGGIFTACTIVITY
inner join dbo.REVENUE on REVENUE.ID = RECURRINGGIFTACTIVITY.SOURCEREVENUEID
where RECURRINGGIFTACTIVITY.PAYMENTREVENUEID = @ID
end
if @APPLICATIONCODE = 5 --Membership
begin
select
@APPLIEDTODATE = REVENUE.DATE,
@APPLIEDTOTRANSACTIONTYPECODE = REVENUE.TRANSACTIONTYPECODE,
@APPLIEDTOCONSTITUENTID = MEMBER.CONSTITUENTID
from dbo.REVENUESPLIT
inner join dbo.MEMBERSHIPTRANSACTION on REVENUESPLIT.ID = MEMBERSHIPTRANSACTION.REVENUESPLITID
inner join dbo.MEMBERSHIP on MEMBERSHIPTRANSACTION.MEMBERSHIPID = MEMBERSHIP.ID
inner join dbo.MEMBER on MEMBERSHIP.ID = MEMBER.MEMBERSHIPID
inner join dbo.REVENUE on REVENUESPLIT.REVENUEID = REVENUE.ID
where REVENUESPLIT.ID = @ID
and MEMBER.ISPRIMARY = 1
end
if @APPLICATIONCODE in (2, 6, 7, 8, 12, 13) --Pledge,MGPledge,PlannedGift, Grant award, Auction purchase, Donor challenge
begin
select
@APPLIEDTODATE = REVENUE.DATE,
@APPLIEDTOTRANSACTIONTYPECODE = REVENUE.TRANSACTIONTYPECODE,
@APPLIEDTOCONSTITUENTID = REVENUE.CONSTITUENTID
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.REVENUE on REVENUE.ID = INSTALLMENTSPLITPAYMENT.PLEDGEID
where INSTALLMENTSPLITPAYMENT.PAYMENTID = @ID
end
return 0;