USP_DATAFORMTEMPLATE_VIEW_REVENUETRANSACTIONPAGEDATA
The load procedure used by the view dataform template "Revenue Transaction Page Expression 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. |
@CONSTITUENTID | uniqueidentifier | INOUT | Constituent ID |
@REVENUEID | uniqueidentifier | INOUT | RevenueID |
@AMOUNT | money | INOUT | Amount |
@DATE | datetime | INOUT | Date |
@CONSTITUENTNAME | nvarchar(255) | INOUT | Constituent |
@ISGIFT | bit | INOUT | Is gift |
@ISPLEDGE | bit | INOUT | Is pledge |
@ISRECURRINGGIFT | bit | INOUT | Is recurring gift |
@ISMGPLEDGE | bit | INOUT | Is matching gift claim |
@ISPLANNEDGIFT | bit | INOUT | Is planned gift |
@ISPAYMENT | bit | INOUT | Is payment |
@ISPOSTED | bit | INOUT | Is posted |
@LINKEDRECORDID | uniqueidentifier | INOUT | Linked record |
@ALLOWEDITPAYMENT | bit | INOUT | Allow Edit Payment |
@BENEFITSWAIVED | bit | INOUT | Benefits waived |
@CANROLLBACK | bit | INOUT | Can rollback transaction |
@CANSKIPTRANSACTION | bit | INOUT | Can skip transaction |
@ISPENDING | bit | INOUT | Is pending |
@EXTRADATAISPOSTED | bit | INOUT | Extra data is posted |
@HASWRITEOFF | bit | INOUT | Has write-offs |
@HASADJUSTMENTS | bit | INOUT | Has Adjustments |
@HASUNPOSTEDREVERSAL | bit | INOUT | Has unposted GL Reversal |
@HASUNPOSTEDADJUSTMENT | bit | INOUT | Has unposted Revenue Adjustment |
@HASUNPOSTEDEXTRADATA | bit | INOUT | Has unposted Stock or Property Adjustment |
@TYPE | nvarchar(256) | INOUT | Type |
@PLEDGEBALANCE | money | INOUT | Pledge balance |
@PAYMENTTYPECODE | tinyint | INOUT | Payment type code |
@ATTRIBUTEDEFINED | bit | INOUT | Attribute defined |
@REVENUECOUNT | int | INOUT | Revenue count |
@ALLOWMATCHINGGIFTCLAIM | bit | INOUT | Allow matching gift claim |
@HASTRIBUTES | bit | INOUT | Has tributes |
@CANAPPLYTRIBUTE | bit | INOUT | Can apply tribute |
@PAYMENTINCLUDESGIFT | bit | INOUT | Payment includes gift |
@RECEIPTSTATUSCODE | tinyint | INOUT | Receipt status code |
@MGPLEDGEISINACTIVE | bit | INOUT | Matching gift claim is inactive |
@ISCONSTITUENTHOUSEHOLD | bit | INOUT | Is the transaction's associated constituent a household |
@HOUSEHOLDSCANBEDONORS | bit | INOUT | Can households be donors |
@NEEDSRERECEIPT | bit | INOUT | Needs re-receipt |
@RECEIPTCOUNT | int | INOUT | Receipt count |
@PLANNEDGIFTID | uniqueidentifier | INOUT | Planned gift ID |
@REVENUEPAYMENTMETHODID | uniqueidentifier | INOUT | Revenue payment method ID |
@DONOTPOST | bit | INOUT | Do not post |
@SALEPOSTSTATUSCODE | tinyint | INOUT | Sale post status code |
@HASSOLDSTOCK | bit | INOUT | Has sold stock |
@GIFTFEE_ENABLED | bit | INOUT | GIFTFEE_ENABLED |
@HASSOLDPROPERTY | bit | INOUT | Has sold property |
@ELIGIBLEFORMATCHINGGIFTCLAIM | bit | INOUT | Eligible for matching gift claims |
@ISORDER | bit | INOUT | Is order |
@SALESORDERID | uniqueidentifier | INOUT | Sales order ID |
@ISORDERAPPLICATION | bit | INOUT | Is order application |
@HASGIFTAIDGLDISTRIBUTIONS | bit | INOUT | Has gift aid distributions |
@SALESORDERPAYMENTID | uniqueidentifier | INOUT | Sales order payment ID |
@ORDERTICKETTOTAL | money | INOUT | Order ticket total |
@ORDERMEMBERSHIPTOTAL | money | INOUT | Order membership total |
@ORDERDONATIONTOTAL | money | INOUT | Order discount total |
@ORDERADJUSTMENTTOTAL | money | INOUT | Order adjustments total |
@ORDERHASMEMBERSHIP | bit | INOUT | Order has memberships |
@ORDERHASDONATION | bit | INOUT | Order has discounts |
@ORDERHASADJUSTMENT | bit | INOUT | Order has adjustments |
@ISMISCELLANEOUSPAYMENT | bit | INOUT | Is miscellaneous payment |
@REFERENCE | nvarchar(255) | INOUT | Reference |
@REFUNDSTATUS | tinyint | INOUT | Refund status |
@REFUNDTOTAL | money | INOUT | Refund total |
@ORDERHASEVENTREGISTRATION | bit | INOUT | ORDERHASEVENTREGISTRATION |
@ORDEREVENTREGISTRATIONTOTAL | money | INOUT | ORDEREVENTREGISTRATIONTOTAL |
@ISGRANTAWARD | bit | INOUT | Is grant award |
@RGISOPEN | bit | INOUT | Recurring gift is open |
@SPONSORSHIPID | uniqueidentifier | INOUT | SPONSORSHIPID |
@SPONSORSHIPOPPORTUNITY | nvarchar(200) | INOUT | SPONSORSHIPOPPORTUNITY |
@ORDERHASRESOURCE | bit | INOUT | ORDERHASRESOURCE |
@ORDERRESOURCETOTAL | money | INOUT | ORDERRESOURCETOTAL |
@ORDERHASSTAFFRESOURCE | bit | INOUT | ORDERHASSTAFFRESOURCE |
@ORDERSTAFFRESOURCETOTAL | money | INOUT | ORDERSTAFFRESOURCETOTAL |
@CONSTITUENTISGRANTOR | bit | INOUT | CONSTITUENTISGRANTOR |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@HASPLANNEDGIFTPAYOUT | bit | INOUT | HASPLANNEDGIFTPAYOUT |
@RGHASDEVELOPMENTHISTORY | bit | INOUT | RGHASDEVELOPMENTHISTORY |
@HASBENEFITDISTRIBUTION | bit | INOUT | HASBENEFITDISTRIBUTION |
@HASGLDISTRIBUTIONS | bit | INOUT | HASGLDISTRIBUTIONS |
@HASDNPADJUSTMENT | bit | INOUT | HASDNPADJUSTMENT |
@ISMIXEDORDERPAYMENT | bit | INOUT | ISMIXEDORDERPAYMENT |
@HASGIFTAIDSPLITONPENDINGR68PROCESS | bit | INOUT | HASGIFTAIDSPLITONPENDINGR68PROCESS |
@HASPOSTEDBENEFITS | bit | INOUT | HASPOSTEDBENEFITS |
@ISAUCTIONDONATION | bit | INOUT | ISAUCTIONDONATION |
@PAYMENTALLOWSCREDITCARDREFUND | bit | INOUT | PAYMENTALLOWSCREDITCARDREFUND |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | TRANSACTIONCURRENCYID |
@SHOWGLINFO | bit | INOUT | SHOWGLINFO |
@AUCTIONITEMID | uniqueidentifier | INOUT | AUCTIONITEMID |
@HASAUCTIONPURCHASE | bit | INOUT | HASAUCTIONPURCHASE |
@ISDONORCHALLENGE | bit | INOUT | ISDONORCHALLENGE |
@AUCTIONDONATIONISRESERVEDORSOLD | bit | INOUT | AUCTIONDONATIONISRESERVEDORSOLD |
@HASGIFTFEEGLDISTRIBUTIONS | bit | INOUT | Has gift fees distributions |
@HASPOSTEDGIFTFEES | bit | INOUT | HASPOSTEDGIFTFEES |
@HASUNPOSTEDGIFTFEESADJUSTMENT | bit | INOUT | HASUNPOSTEDGIFTFEESADJUSTMENT |
@SHOWREVENUEGLDISTRIBUTIONS | bit | INOUT | SHOWREVENUEGLDISTRIBUTIONS |
@ORDERHASFACILITY | bit | INOUT | ORDERHASFACILITY |
@ORDERFACILITYTOTAL | money | INOUT | ORDERFACILITYTOTAL |
@ORDERHASMERCHANDISE | bit | INOUT | ORDERHASMERCHANDISE |
@ORDERMERCHANDISETOTAL | money | INOUT | ORDERMERCHANDISETOTAL |
@HASUNREALIZEDGAINLOSS | bit | INOUT | HASUNREALIZEDGAINLOSS |
@HASSYSTEMDISTRIBUTIONS | bit | INOUT | HASSYSTEMDISTRIBUTIONS |
@ISPLANNEDGIFTADDITION | bit | INOUT | ISPLANNEDGIFTADDITION |
@PLANNEDGIFTADDITIONID | uniqueidentifier | INOUT | PLANNEDGIFTADDITIONID |
@HASMATCHINGACCOUNTSYSTEM | bit | INOUT | HASMATCHINGACCOUNTSYSTEM |
@PDACCOUNTSYSTEMID | uniqueidentifier | INOUT | PDACCOUNTSYSTEMID |
@HASEVENTREGISTRATIONDESIGNATIONAPPLICATION | bit | INOUT | HASEVENTREGISTRATIONDESIGNATIONAPPLICATION |
@HASDONOTPOSTADJUSTMENT | bit | INOUT | HASDONOTPOSTADJUSTMENT |
@ISPENDINGGIFT | bit | INOUT | ISPENDINGGIFT |
@ISPOSTABLE | bit | INOUT | ISPOSTABLE |
@ISGIFTTHROUGHFAFEVENT | bit | INOUT | ISGIFTTHROUGHFAFEVENT |
@EVENTID | uniqueidentifier | INOUT | EVENTID |
@EVENTNAME | nvarchar(200) | INOUT | EVENTNAME |
@ISSECURITYDEPOSITPAYMENT | bit | INOUT | ISSECURITYDEPOSITPAYMENT |
@HASBENEFITLIABILITYDISTRIBUTION | bit | INOUT | HASBENEFITLIABILITYDISTRIBUTION |
@HASBENEFITBACKOUTDISTRIBUTION | bit | INOUT | HASBENEFITBACKOUTDISTRIBUTION |
@HASBENEFITDISTRIBUTIONADJUSTMENT | bit | INOUT | HASBENEFITDISTRIBUTIONADJUSTMENT |
@HASBENEFITLIABILITYDISTRIBUTIONADJUSTMENT | bit | INOUT | HASBENEFITLIABILITYDISTRIBUTIONADJUSTMENT |
@HASBENEFITBACKOUTDISTRIBUTIONADJUSTMENT | bit | INOUT | HASBENEFITBACKOUTDISTRIBUTIONADJUSTMENT |
@HASBENEFITUNPOSTEDBACKOUTDISTRIBUTION | bit | INOUT | HASBENEFITUNPOSTEDBACKOUTDISTRIBUTION |
@SHOWLINKDEPOSIT | bit | INOUT | SHOWLINKDEPOSIT |
@ALLOWGLDISTRIBUTIONS | bit | INOUT | ALLOWGLDISTRIBUTIONS |
@HASSOLDGIFTINKIND | bit | INOUT | Has sold gift-in-kind |
@ISFORSALE | bit | INOUT | gift-in-kind is for sale |
@ISSPONSORSHIPRECURRINGADDITIONALGIFT | bit | INOUT | ISSPONSORSHIPRECURRINGADDITIONALGIFT |
@GIFTINKINDAPPRAISALREQUIRED | bit | INOUT | Appraisal required for gift in kind |
@ISMEMBERSHIPPLEDGE | bit | INOUT | |
@HASUNPOSTEDBENEFITADJUSTMENT | bit | INOUT | |
@RECURRINGGIFTHASCONTRIBUTEDPORTION | bit | INOUT | |
@ISINDIVIDUAL | bit | INOUT | |
@SHOWGIFTAIDREFUNDS | bit | INOUT | |
@HASUNPOSTEDPAYOUTADJUSTMENT | bit | INOUT | |
@HASDESIGNATIONS | bit | INOUT | |
@HASMATCHINGGIFTCLAIMAPPLICATION | bit | INOUT | |
@REVENUEIDHASREGISTRATION | bit | INOUT | |
@SALESMETHODTYPECODE | tinyint | INOUT | |
@PASTDUEBYDATE | money | INOUT | |
@HASLINKEDOPPORTUNITY | bit | INOUT | |
@HASREFUND | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_REVENUETRANSACTIONPAGEDATA
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@CONSTITUENTID uniqueidentifier = null output,
@REVENUEID uniqueidentifier = null output,
@AMOUNT money = null output,
@DATE datetime = null output,
@CONSTITUENTNAME nvarchar(255) = null output,
@ISGIFT bit = null output,
@ISPLEDGE bit = null output,
@ISRECURRINGGIFT bit = null output,
@ISMGPLEDGE bit = null output,
@ISPLANNEDGIFT bit = null output,
@ISPAYMENT bit = null output,
@ISPOSTED bit = null output,
@LINKEDRECORDID uniqueidentifier = null output,
@ALLOWEDITPAYMENT bit = null output,
@BENEFITSWAIVED bit = null output,
@CANROLLBACK bit = null output,
@CANSKIPTRANSACTION bit = null output,
@ISPENDING bit = null output,
@EXTRADATAISPOSTED bit = null output,
@HASWRITEOFF bit = null output,
@HASADJUSTMENTS bit = null output,
@HASUNPOSTEDREVERSAL bit = null output,
@HASUNPOSTEDADJUSTMENT bit = null output,
@HASUNPOSTEDEXTRADATA bit = null output,
@TYPE nvarchar(256) = null output,
@PLEDGEBALANCE money = null output,
@PAYMENTTYPECODE tinyint = null output,
@ATTRIBUTEDEFINED bit = null output,
@REVENUECOUNT int = null output,
@ALLOWMATCHINGGIFTCLAIM bit = null output,
@HASTRIBUTES bit = null output,
@CANAPPLYTRIBUTE bit = null output,
@PAYMENTINCLUDESGIFT bit = null output,
@RECEIPTSTATUSCODE tinyint = null output,
@MGPLEDGEISINACTIVE bit = null output,
@ISCONSTITUENTHOUSEHOLD bit = null output,
@HOUSEHOLDSCANBEDONORS bit = null output,
@NEEDSRERECEIPT bit = null output,
@RECEIPTCOUNT int = null output,
@PLANNEDGIFTID uniqueidentifier = null output,
@REVENUEPAYMENTMETHODID uniqueidentifier = null output,
@DONOTPOST bit = null output,
@SALEPOSTSTATUSCODE tinyint = null output,
@HASSOLDSTOCK bit = null output,
@GIFTFEE_ENABLED bit = null output,
@HASSOLDPROPERTY bit = null output,
@ELIGIBLEFORMATCHINGGIFTCLAIM bit = null output,
@ISORDER bit = null output,
@SALESORDERID uniqueidentifier = null output,
@ISORDERAPPLICATION bit = null output,
@HASGIFTAIDGLDISTRIBUTIONS bit = null output,
@SALESORDERPAYMENTID uniqueidentifier = null output,
@ORDERTICKETTOTAL money = null output,
@ORDERMEMBERSHIPTOTAL money = null output,
@ORDERDONATIONTOTAL money = null output,
@ORDERADJUSTMENTTOTAL money = null output,
@ORDERHASMEMBERSHIP bit = null output,
@ORDERHASDONATION bit = null output,
@ORDERHASADJUSTMENT bit = null output,
@ISMISCELLANEOUSPAYMENT bit = null output,
@REFERENCE nvarchar(255) = null output,
@REFUNDSTATUS tinyint = null output,
@REFUNDTOTAL money = null output,
@ORDERHASEVENTREGISTRATION bit = null output,
@ORDEREVENTREGISTRATIONTOTAL money = null output,
@ISGRANTAWARD bit = null output,
@RGISOPEN bit = null output,
@SPONSORSHIPID uniqueidentifier = null output,
@SPONSORSHIPOPPORTUNITY nvarchar(200) = null output,
@ORDERHASRESOURCE bit = null output,
@ORDERRESOURCETOTAL money = null output,
@ORDERHASSTAFFRESOURCE bit = null output,
@ORDERSTAFFRESOURCETOTAL money = null output,
@CONSTITUENTISGRANTOR bit = null output,
@CURRENTAPPUSERID uniqueidentifier = null,
@HASPLANNEDGIFTPAYOUT bit = null output,
@RGHASDEVELOPMENTHISTORY bit = null output,
@HASBENEFITDISTRIBUTION bit = null output,
@HASGLDISTRIBUTIONS bit = null output,
@HASDNPADJUSTMENT bit = null output,
@ISMIXEDORDERPAYMENT bit = null output,
@HASGIFTAIDSPLITONPENDINGR68PROCESS bit = null output,
@HASPOSTEDBENEFITS bit = null output,
@ISAUCTIONDONATION bit = null output,
@PAYMENTALLOWSCREDITCARDREFUND bit = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output,
@SHOWGLINFO bit = null output,
@AUCTIONITEMID uniqueidentifier = null output,
@HASAUCTIONPURCHASE bit = null output,
@ISDONORCHALLENGE bit = null output,
@AUCTIONDONATIONISRESERVEDORSOLD bit = null output,
@HASGIFTFEEGLDISTRIBUTIONS bit = null output,
@HASPOSTEDGIFTFEES bit = null output,
@HASUNPOSTEDGIFTFEESADJUSTMENT bit = null output,
@SHOWREVENUEGLDISTRIBUTIONS bit = null output,
@ORDERHASFACILITY bit = null output,
@ORDERFACILITYTOTAL money = null output,
@ORDERHASMERCHANDISE bit = null output,
@ORDERMERCHANDISETOTAL money = null output,
@HASUNREALIZEDGAINLOSS bit = null output,
@HASSYSTEMDISTRIBUTIONS bit = null output,
@ISPLANNEDGIFTADDITION bit = null output,
@PLANNEDGIFTADDITIONID uniqueidentifier = null output,
@HASMATCHINGACCOUNTSYSTEM bit = null output,
@PDACCOUNTSYSTEMID uniqueidentifier = null output,
@HASEVENTREGISTRATIONDESIGNATIONAPPLICATION bit = null output,
@HASDONOTPOSTADJUSTMENT bit = null output,
@ISPENDINGGIFT bit = null output,
@ISPOSTABLE bit = null output,
@ISGIFTTHROUGHFAFEVENT bit = null output,
@EVENTID uniqueidentifier = null output,
@EVENTNAME nvarchar(200) = null output,
@ISSECURITYDEPOSITPAYMENT bit = null output,
@HASBENEFITLIABILITYDISTRIBUTION bit = null output,
@HASBENEFITBACKOUTDISTRIBUTION bit = null output,
@HASBENEFITDISTRIBUTIONADJUSTMENT bit = null output,
@HASBENEFITLIABILITYDISTRIBUTIONADJUSTMENT bit = null output,
@HASBENEFITBACKOUTDISTRIBUTIONADJUSTMENT bit = null output,
@HASBENEFITUNPOSTEDBACKOUTDISTRIBUTION bit = null output,
@SHOWLINKDEPOSIT bit = null output,
@ALLOWGLDISTRIBUTIONS bit = null output,
@HASSOLDGIFTINKIND bit = null output,
@ISFORSALE bit = null output,
@ISSPONSORSHIPRECURRINGADDITIONALGIFT bit = null output,
@GIFTINKINDAPPRAISALREQUIRED bit = null output,
@ISMEMBERSHIPPLEDGE bit = null output,
@HASUNPOSTEDBENEFITADJUSTMENT bit = null output,
@RECURRINGGIFTHASCONTRIBUTEDPORTION bit = null output,
@ISINDIVIDUAL bit = null output,
@SHOWGIFTAIDREFUNDS bit = null output,
@HASUNPOSTEDPAYOUTADJUSTMENT bit = null output,
@HASDESIGNATIONS bit = null output,
@HASMATCHINGGIFTCLAIMAPPLICATION bit = null output,
@REVENUEIDHASREGISTRATION bit = null output,
@SALESMETHODTYPECODE tinyint = null output,
@PASTDUEBYDATE money = null output,
@HASLINKEDOPPORTUNITY bit = null output,
@HASREFUND bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @REVENUEIDHASREGISTRATION = 0;
declare @POSTED bit;
declare @DONOTRECEIPT bit;
declare @CURRENTDATE datetime = getdate();
select
@ISPAYMENT = 0,
@ISGIFT = 0,
@ISPLEDGE = 0,
@ISRECURRINGGIFT = 0,
@ISMGPLEDGE = 0,
@ISAUCTIONDONATION = 0,
@ISPLANNEDGIFT = 0,
@CANROLLBACK = 0,
@CANSKIPTRANSACTION = 0,
@EXTRADATAISPOSTED = 0,
@ISPENDING = 0,
@HASWRITEOFF = 0,
@HASUNPOSTEDREVERSAL = 0,
@HASUNPOSTEDADJUSTMENT = 0,
@HASUNPOSTEDBENEFITADJUSTMENT = 0,
@HASUNPOSTEDEXTRADATA = 0,
@HASTRIBUTES = 0,
@CANAPPLYTRIBUTE = 0,
@PAYMENTINCLUDESGIFT = 0,
@ATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('REVENUE',@CURRENTAPPUSERID),
@ALLOWMATCHINGGIFTCLAIM =
case when exists
(
select
LI.ID
from
dbo.FINANCIALTRANSACTIONLINEITEM LI
inner join
dbo.REVENUESPLIT_EXT X on X.ID = LI.ID
where
LI.FINANCIALTRANSACTIONID = @ID
and LI.DELETEDON is null
and LI.TYPECODE != 1
)
then
1
else
0
end,
@MGPLEDGEISINACTIVE = 0,
@GIFTFEE_ENABLED = dbo.UFN_GIFTFEE_ENABLED(),
@ISORDER = 0,
@ISORDERAPPLICATION = 0,
@HASGIFTAIDGLDISTRIBUTIONS = 0,
@ISMISCELLANEOUSPAYMENT = 0,
@ISGRANTAWARD = 0,
@RGISOPEN = 0,
@CONSTITUENTISGRANTOR = 0,
@RGHASDEVELOPMENTHISTORY = 0,
@HASGLDISTRIBUTIONS = 0,
@HASDNPADJUSTMENT = 0,
@ISMIXEDORDERPAYMENT = 0,
@PAYMENTALLOWSCREDITCARDREFUND = 0,
@HASAUCTIONPURCHASE = 0,
@ISDONORCHALLENGE = 0,
@AUCTIONDONATIONISRESERVEDORSOLD = 0,
@HASGIFTFEEGLDISTRIBUTIONS = 0,
@HASPOSTEDGIFTFEES = 0,
@HASUNPOSTEDGIFTFEESADJUSTMENT = 0,
@SHOWREVENUEGLDISTRIBUTIONS = 1,
@HASEVENTREGISTRATIONDESIGNATIONAPPLICATION = 0,
@HASMATCHINGGIFTCLAIMAPPLICATION = 0,
@HASDESIGNATIONS = 0,
@HASDONOTPOSTADJUSTMENT = 0,
@ISPENDINGGIFT = 0,
@ISGIFTTHROUGHFAFEVENT = 0,
@EVENTID = null,
@EVENTNAME = '',
@SHOWLINKDEPOSIT = 0,
@ISSPONSORSHIPRECURRINGADDITIONALGIFT = 0,
@RECURRINGGIFTHASCONTRIBUTEDPORTION = 0,
@ISINDIVIDUAL = 0,
@SHOWGIFTAIDREFUNDS = 0,
@HASUNPOSTEDPAYOUTADJUSTMENT = 0,
@REVENUEIDHASREGISTRATION = 0,
@HASREFUND = 0;
declare @GIFTINKINDORGANIZATIONFAIRMARKETVALUE money;
declare @BASEAMOUNT money;
select top 1
@DATALOADED = 1,
@REVENUEID = REVENUE.ID,
@CONSTITUENTID = FINANCIALTRANSACTION.CONSTITUENTID,
@CONSTITUENTNAME = NF.NAME,
@ISPAYMENT = case when FINANCIALTRANSACTION.TYPECODE = 0 then 1 else 0 end,
@ISGIFT = case when FINANCIALTRANSACTION.TYPECODE = 0 then 1 else 0 end,
@ISPLEDGE = case when FINANCIALTRANSACTION.TYPECODE = 1 then 1 else 0 end,
@ISRECURRINGGIFT = case when FINANCIALTRANSACTION.TYPECODE = 2 then 1 else 0 end,
@ISMGPLEDGE = case when FINANCIALTRANSACTION.TYPECODE = 3 then 1 else 0 end,
@ISPLANNEDGIFT = case when FINANCIALTRANSACTION.TYPECODE = 4 then 1 else 0 end,
@ISORDER = case when FINANCIALTRANSACTION.TYPECODE = 5 then 1 else 0 end,
@ISAUCTIONDONATION = case when FINANCIALTRANSACTION.TYPECODE = 7 then 1 else 0 end,
@ISDONORCHALLENGE = case when FINANCIALTRANSACTION.TYPECODE = 8 then 1 else 0 end,
@HASUNPOSTEDADJUSTMENT = case when ADJUSTMENT.POSTSTATUSCODE = 1 then 1 else 0 end,
@HASUNPOSTEDBENEFITADJUSTMENT = case when BENEFITADJUSTMENT.POSTSTATUSCODE = 1 then 1 else 0 end,
@ISPOSTED = case when FINANCIALTRANSACTION.POSTSTATUSCODE != 2 then 0 else 1 end,
@DATE = cast(FINANCIALTRANSACTION.DATE as datetime),
@TYPE = FINANCIALTRANSACTION.TYPE,
@PLEDGEBALANCE =
case when FINANCIALTRANSACTION.TYPECODE = 1 or FINANCIALTRANSACTION.TYPECODE = 3 or FINANCIALTRANSACTION.TYPECODE = 6 or FINANCIALTRANSACTION.TYPECODE = 7 or FINANCIALTRANSACTION.TYPECODE = 9 or FINANCIALTRANSACTION.TYPECODE = 15
then
dbo.UFN_PLEDGE_GETBALANCE(REVENUE.ID)
else
0
end,
@PAYMENTTYPECODE = REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE,
@DONOTRECEIPT = REVENUE.DONOTRECEIPT,
@ISCONSTITUENTHOUSEHOLD = dbo.UFN_CONSTITUENT_ISHOUSEHOLD(FINANCIALTRANSACTION.CONSTITUENTID),
@NEEDSRERECEIPT = REVENUE.NEEDSRERECEIPT,
@REVENUEPAYMENTMETHODID = REVENUEPAYMENTMETHOD.ID,
@DONOTPOST = case FINANCIALTRANSACTION.POSTSTATUSCODE when 3 then 1 else 0 end,
@ELIGIBLEFORMATCHINGGIFTCLAIM = REVENUE.ELIGIBLEFORMATCHINGGIFTCLAIM,
@REFERENCE = REVENUE.REFERENCE,
@ISGRANTAWARD = case when FINANCIALTRANSACTION.TYPECODE = 6 then 1 else 0 end,
@TRANSACTIONCURRENCYID = coalesce(FINANCIALTRANSACTION.TRANSACTIONCURRENCYID, '00000000-0000-0000-0000-000000000000'),
@ISDONORCHALLENGE = case when FINANCIALTRANSACTION.TYPECODE = 8 then 1 else 0 end,
@PDACCOUNTSYSTEMID = case when FINANCIALTRANSACTION.TYPECODE in (0,1,4,5,6,7) then FINANCIALTRANSACTION.PDACCOUNTSYSTEMID else null end,
@ISPENDINGGIFT = case when FINANCIALTRANSACTION.TYPECODE = 9 then 1 else 0 end,
@ISPOSTABLE = case when FINANCIALTRANSACTION.TYPECODE in (2, 3, 8) then 0 else 1 end,
@GIFTINKINDORGANIZATIONFAIRMARKETVALUE = GIFTINKINDPAYMENTMETHODDETAIL.ORGANIZATIONFAIRMARKETVALUE,
@ISMEMBERSHIPPLEDGE = case when FINANCIALTRANSACTION.TYPECODE = 15 then 1 else 0 end,
@AMOUNT = FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
@BASEAMOUNT = FINANCIALTRANSACTION.BASEAMOUNT,
@ISINDIVIDUAL = case when CONSTITUENT.ISORGANIZATION = 0 and CONSTITUENT.ISGROUP = 0 and CONSTITUENT.ISCONSTITUENT = 1 then 1 else 0 end
from
dbo.FINANCIALTRANSACTION
inner join
dbo.REVENUE_EXT REVENUE on FINANCIALTRANSACTION.ID = REVENUE.ID
inner join
dbo.REVENUEPAYMENTMETHOD on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
left join
dbo.CONSTITUENT on CONSTITUENT.ID = FINANCIALTRANSACTION.CONSTITUENTID
left join
dbo.ADJUSTMENT on REVENUE.ID = ADJUSTMENT.REVENUEID and ADJUSTMENT.POSTSTATUSCODE = 1
left join
dbo.GIFTINKINDPAYMENTMETHODDETAIL on GIFTINKINDPAYMENTMETHODDETAIL.ID = REVENUEPAYMENTMETHOD.ID
left join
dbo.BENEFITADJUSTMENT on REVENUE.ID = BENEFITADJUSTMENT.REVENUEID and BENEFITADJUSTMENT.POSTSTATUSCODE = 1
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENT.ID) NF
where
REVENUE.ID = @ID
and FINANCIALTRANSACTION.TYPECODE in (0,1,2,3,4,5,6,7,8,9,15)
and FINANCIALTRANSACTION.DELETEDON is null
set @ALLOWGLDISTRIBUTIONS = dbo.UFN_PDACCOUNTSYSTEM_ALLOWGLDISTRIBUTIONS(@PDACCOUNTSYSTEMID);
select
@REVENUECOUNT = count(1)
from
dbo.FINANCIALTRANSACTIONLINEITEM FTLI
inner join
dbo.REVENUESPLIT_EXT on FTLI.ID = REVENUESPLIT_EXT.ID
where
FTLI.FINANCIALTRANSACTIONID = @ID and
FTLI.DELETEDON is null and
FTLI.TYPECODE <> 1;
select
@ISGIFTTHROUGHFAFEVENT = 1,
@EVENTID = E.ID,
@EVENTNAME = E.NAME
from
dbo.FINANCIALTRANSACTION FT
inner join
dbo.REVENUE_EXT R on R.ID = FT.ID
inner join
dbo.EVENT E on R.APPEALID = E.APPEALID
inner join
dbo.EVENTEXTENSION EX on E.ID = EX.EVENTID
where
R.ID = @ID
and FT.TYPECODE in (0,1,2,3,4,5,6,7,8,9,15)
and FT.DELETEDON is null
set @HOUSEHOLDSCANBEDONORS = dbo.UFN_INSTALLATIONINFO_GETHOUSEHOLDSCANBEDONORS();
select top 1
@HASDNPADJUSTMENT = (case when POSTSTATUSCODE = 2 then 1 else 0 end)
from
dbo.UFN_REVENUE_GETADJUSTMENTSTATUS(@REVENUEID)
order by
DATEADDED desc
-- Check if any of the stock has been sold
set @HASSOLDSTOCK = 0
if @PAYMENTTYPECODE = 4 -- Stock payment method
begin
if exists
(
select
STOCKDETAIL.ID
from
dbo.STOCKDETAIL
inner join
dbo.STOCKSALE_EXT STOCKSALE on STOCKDETAIL.ID = STOCKSALE.STOCKDETAILID
inner join
dbo.FINANCIALTRANSACTION FT on STOCKSALE.ID = FT.ID
where
STOCKDETAIL.ID = @REVENUEPAYMENTMETHODID
and
FT.DELETEDON is null
)
set @HASSOLDSTOCK = 1
end
-- Check if the property has sold
set @HASSOLDPROPERTY = 0
if @PAYMENTTYPECODE = 5 -- Property payment method
begin
if exists
(
select
PROPERTYDETAIL.ID
from
dbo.PROPERTYDETAIL_EXT PROPERTYDETAIL
where
ID = @REVENUEPAYMENTMETHODID
and SALEDATE is not null
)
set @HASSOLDPROPERTY = 1
end
-- Check if any of the gift-in-kind has been sold
set @HASSOLDGIFTINKIND = 0
if @PAYMENTTYPECODE = 6 -- Gift-in-kind payment method
begin
if exists
(
select
GIFTINKINDPAYMENTMETHODDETAIL.ID
from
dbo.GIFTINKINDPAYMENTMETHODDETAIL
inner join
dbo.GIFTINKINDSALE_EXT GIFTINKINDSALE on GIFTINKINDPAYMENTMETHODDETAIL.ID = GIFTINKINDSALE.GIFTINKINDPAYMENTMETHODDETAILID
inner join
dbo.FINANCIALTRANSACTION FT on GIFTINKINDSALE.ID = FT.ID
where
GIFTINKINDPAYMENTMETHODDETAIL.ID = @REVENUEPAYMENTMETHODID
and
FT.DELETEDON is null
)
set @HASSOLDGIFTINKIND = 1
end
--if Revenue is of type Sold Stock or Sold Payment and is Posted, we won't allow the user to edit the payment
if @PAYMENTTYPECODE = 4 and exists
(
select
STOCKSALE.ID
from
dbo.STOCKSALE_EXT STOCKSALE
inner join
dbo.FINANCIALTRANSACTION FT on FT.ID = STOCKSALE.ID
where
STOCKDETAILID = @REVENUEPAYMENTMETHODID
and FT.POSTSTATUSCODE = 2
and FT.DELETEDON is null
and FT.TYPECODE = 21
)
begin
set @ALLOWEDITPAYMENT = 0;
set @EXTRADATAISPOSTED = 1;
if exists
(
select
STOCKSALEADJUSTMENT.ID
from
dbo.STOCKSALEADJUSTMENT
inner join
dbo.STOCKSALE_EXT STOCKSALE on STOCKSALE.ID = STOCKSALEADJUSTMENT.STOCKSALEID
where
STOCKSALE.STOCKDETAILID = @REVENUEPAYMENTMETHODID
and STOCKSALEADJUSTMENT.POSTSTATUSCODE = 1
)
set @HASUNPOSTEDEXTRADATA = 1;
end
set @ISFORSALE = 0;
set @GIFTINKINDAPPRAISALREQUIRED = 0;
if @PAYMENTTYPECODE = 6 -- Gift-in-kind payment method
begin
--if Revenue is of type Gift-in-Kind and is Posted, we won't allow the user to edit the payment
if exists
(
select
GIFTINKINDSALE.ID
from
dbo.GIFTINKINDSALE_EXT GIFTINKINDSALE
inner join
dbo.FINANCIALTRANSACTION FT on FT.ID = GIFTINKINDSALE.ID
where
GIFTINKINDSALE.GIFTINKINDPAYMENTMETHODDETAILID = @REVENUEPAYMENTMETHODID and FT.POSTSTATUSCODE = 2 and FT.DELETEDON is null and FT.TYPECODE = 27
)
begin
set @ALLOWEDITPAYMENT = 0;
set @EXTRADATAISPOSTED = 1;
end
-- check that Gift-in-kind is for sale
if exists
(
select
DISPOSITIONCODE
from
dbo.GIFTINKINDPAYMENTMETHODDETAIL
where
ID = @REVENUEPAYMENTMETHODID and DISPOSITIONCODE = 1
)
begin
set @ISFORSALE = 1;
declare @USEAPPRAISALTHRESHOLD bit;
declare @APPRAISALTHRESHOLD money;
select top 1
@USEAPPRAISALTHRESHOLD = USEAPPRAISALTHRESHOLD,
@APPRAISALTHRESHOLD = APPRAISALTHRESHOLD
from
dbo.GIFTINKINDAPPRAISALSETTINGS;
if ((@USEAPPRAISALTHRESHOLD = 1) and
(@GIFTINKINDORGANIZATIONFAIRMARKETVALUE > @APPRAISALTHRESHOLD) and
not exists
(
select top(1) 1
from
dbo.GIFTINKINDAPPRAISAL
where GIFTINKINDPAYMENTMETHODDETAILID = @REVENUEPAYMENTMETHODID
)
)
set @GIFTINKINDAPPRAISALREQUIRED = 1;
end
end
if @PAYMENTTYPECODE = 5 and @HASSOLDPROPERTY = 1
select
@SALEPOSTSTATUSCODE = isnull(cast(case FT.POSTSTATUSCODE when 2 then 0 when 1 then 1 when 3 then 2 end as tinyint), 2)
from
dbo.PROPERTYDETAIL_EXT PROPERTYDETAIL
inner join
dbo.FINANCIALTRANSACTION FT on FT.ID = PROPERTYDETAIL.ID
where
PROPERTYDETAIL.ID = @REVENUEPAYMENTMETHODID
and FT.DELETEDON is null
and FT.TYPECODE = 22;
if @SALEPOSTSTATUSCODE = 0
begin
set @ALLOWEDITPAYMENT = 0;
set @EXTRADATAISPOSTED = 1;
if exists
(
select
1
from
dbo.PROPERTYDETAILADJUSTMENT
inner join
dbo.PROPERTYDETAIL_EXT PROPERTYDETAIL on PROPERTYDETAILADJUSTMENT.PROPERTYDETAILID = PROPERTYDETAIL.ID
where
PROPERTYDETAIL.ID = @REVENUEPAYMENTMETHODID
and PROPERTYDETAILADJUSTMENT.POSTSTATUSCODE = 1
)
set @HASUNPOSTEDEXTRADATA = 1;
if
(
select
top 1 POSTSTATUSCODE
from
dbo.PROPERTYDETAILADJUSTMENT
inner join
dbo.PROPERTYDETAIL_EXT PROPERTYDETAIL on PROPERTYDETAILADJUSTMENT.PROPERTYDETAILID = PROPERTYDETAIL.ID
where
PROPERTYDETAIL.ID = @REVENUEPAYMENTMETHODID
order by
PROPERTYDETAILADJUSTMENT.DATEADDED desc
) = 2
set @HASDONOTPOSTADJUSTMENT = 1;
end
if @ALLOWEDITPAYMENT = 1
begin
if @PAYMENTTYPECODE = 4 and @HASSOLDSTOCK = 1
if
(
select
isnull(cast(case FT.POSTSTATUSCODE when 2 then 0 when 1 then 1 when 3 then 2 end as tinyint), 2)
from
dbo.STOCKSALE_EXT STOCKSALE
inner join
dbo.FINANCIALTRANSACTION FT on FT.ID = STOCKSALE.ID
where
STOCKDETAILID = @REVENUEPAYMENTMETHODID and FT.TYPECODE = 21 and FT.DELETEDON is null
) = 0
begin
set @ALLOWEDITPAYMENT = 0;
set @EXTRADATAISPOSTED = 1;
if exists
(
select
*
from
dbo.STOCKSALEADJUSTMENT
inner join
dbo.STOCKSALE_EXT STOCKSALE on STOCKSALEADJUSTMENT.STOCKSALEID = STOCKSALE.ID and STOCKSALEADJUSTMENT.POSTSTATUSCODE = 1
inner join
dbo.STOCKDETAIL on STOCKSALE.STOCKDETAILID = STOCKDETAIL.ID
where STOCKDETAIL.ID = @REVENUEPAYMENTMETHODID
)
set @HASUNPOSTEDEXTRADATA = 1;
else
set @HASUNPOSTEDEXTRADATA = 0;
end
else
set @EXTRADATAISPOSTED = 0;
if @PAYMENTTYPECODE = 5 and @HASSOLDPROPERTY = 1
if
(
select
isnull(cast(case FT.POSTSTATUSCODE when 2 then 0 when 1 then 1 when 3 then 2 end as tinyint), 2)
from
dbo.PROPERTYDETAIL_EXT PROPERTYDETAIL
inner join
dbo.FINANCIALTRANSACTION FT on FT.ID = PROPERTYDETAIL.ID
where
PROPERTYDETAIL.ID = @REVENUEPAYMENTMETHODID
and FT.DELETEDON is null
and FT.TYPECODE = 22
) = 0
begin
set @ALLOWEDITPAYMENT = 0;
set @EXTRADATAISPOSTED = 1;
if exists
(
select
*
from
dbo.PROPERTYDETAILADJUSTMENT
inner join
dbo.PROPERTYDETAIL_EXT PROPERTYDETAIL on PROPERTYDETAILADJUSTMENT.PROPERTYDETAILID = PROPERTYDETAIL.ID and PROPERTYDETAILADJUSTMENT.POSTSTATUSCODE = 1
where
PROPERTYDETAIL.ID = @REVENUEPAYMENTMETHODID
)
set @HASUNPOSTEDEXTRADATA = 1;
else
set @HASUNPOSTEDEXTRADATA = 0;
end
else
set @EXTRADATAISPOSTED = 0;
if @PAYMENTTYPECODE = 6 and @HASSOLDGIFTINKIND = 1
if
(
select
isnull(cast(case FT.POSTSTATUSCODE when 2 then 0 when 1 then 1 when 3 then 2 end as tinyint), 2)
from
dbo.GIFTINKINDSALE_EXT GIFTINKINDSALE
inner join
dbo.FINANCIALTRANSACTION FT on FT.ID = GIFTINKINDSALE.ID
where
GIFTINKINDPAYMENTMETHODDETAILID = @REVENUEPAYMENTMETHODID and FT.DELETEDON is null and FT.TYPECODE = 27
) = 0
begin
set @ALLOWEDITPAYMENT = 0;
set @EXTRADATAISPOSTED = 1;
end
else
set @EXTRADATAISPOSTED = 0;
end
if @ALLOWEDITPAYMENT = 1
if @POSTED = 1
set @ALLOWEDITPAYMENT = 0;
if @ISRECURRINGGIFT = 1
begin
select
@RGISOPEN = case when REVENUESCHEDULE.STATUSCODE in (0, 1, 5) then 1 else 0 end -- included the 'held' and 'lapsed' statuses in the definition of open.
from
dbo.REVENUESCHEDULE
where
REVENUESCHEDULE.ID = @REVENUEID;
select
@ISPENDING = REVENUESCHEDULE.ISPENDING,
@BENEFITSWAIVED = REVENUE.BENEFITSWAIVED
from
dbo.REVENUE_EXT REVENUE
inner join
dbo.REVENUESCHEDULE on REVENUESCHEDULE.ID = REVENUE.ID
where
REVENUE.ID = @REVENUEID;
select
@SPONSORSHIPID = SPONSORSHIP.ID,
@SPONSORSHIPOPPORTUNITY = dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(SPONSORSHIP.SPONSORSHIPOPPORTUNITYID),
@TYPE = REVENUESPLIT.TYPE + ' ' + lower(@TYPE)
from
dbo.FINANCIALTRANSACTIONLINEITEM LI
inner join
dbo.REVENUESPLIT_EXT REVENUESPLIT on REVENUESPLIT.ID = LI.ID
inner join
dbo.SPONSORSHIP on SPONSORSHIP.REVENUESPLITID = REVENUESPLIT.ID
where
LI.FINANCIALTRANSACTIONID = @REVENUEID
and REVENUESPLIT.TYPECODE = 9
and SPONSORSHIP.ISMOSTRECENTFORCOMMITMENT = 1
and LI.DELETEDON is null and LI.TYPECODE != 1;
if exists
(
select top 1 1
from
dbo.RECURRINGGIFTDEVELOPMENTFUNCTIONHISTORY
where REVENUEID = @REVENUEID
)
set @RGHASDEVELOPMENTHISTORY = 1;
if exists
(
select top 1 1
from
dbo.SPONSORSHIPRECURRINGADDITIONALGIFT
where
REVENUEID = @REVENUEID
)
set @TYPE = 'Sponsorship recurring additional gift';
if exists
(
select
top 1 1
from
dbo.FINANCIALTRANSACTIONLINEITEM
inner join
dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
where
FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @REVENUEID and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1 and REVENUESPLIT_EXT.TYPECODE = 0
)
set @RECURRINGGIFTHASCONTRIBUTEDPORTION = 1
select @PASTDUEBYDATE = AMOUNT
from dbo.UFN_RECURRINGGIFT_GETPASTDUEAMOUNT_BULK_2(@CURRENTDATE,1)
where ID = @REVENUEID;
end
select
@HASADJUSTMENTS = case when count(*) > 0 then 1 else 0 end
from
(
select
ID
from
dbo.ADJUSTMENT
where REVENUEID = @ID
union all
select
STOCKSALEADJUSTMENT.ID
from
dbo.STOCKSALEADJUSTMENT
inner join
dbo.STOCKSALE_EXT STOCKSALE on STOCKSALEADJUSTMENT.STOCKSALEID = STOCKSALE.ID
where
STOCKSALE.STOCKDETAILID = @REVENUEPAYMENTMETHODID
union all
select
ID
from
dbo.PROPERTYDETAILADJUSTMENT
where
PROPERTYDETAILID = @REVENUEPAYMENTMETHODID
) as A;
--ADDTRANSACTIONID
if exists(select 1 from dbo.JOURNALENTRY_EXT where JOURNALENTRY_EXT.TABLENAMECODE = 7 and LOGICALREVENUEID = @ID)
set @HASGIFTAIDGLDISTRIBUTIONS = 1;
set @HASUNPOSTEDREVERSAL = dbo.UFN_HASUNPOSTEDREVERSAL(@ID);
if @ISPLEDGE = 1 or @ISGRANTAWARD = 1 or @ISAUCTIONDONATION = 1
begin
select
@HASWRITEOFF = case when count(*) > 0 then 1 else 0 end
from
dbo.FINANCIALTRANSACTION
inner join
dbo.WRITEOFF_EXT on FINANCIALTRANSACTION.ID = WRITEOFF_EXT.ID
where
TYPECODE = 20
and FINANCIALTRANSACTION.DELETEDON is null
and FINANCIALTRANSACTION.PARENTID = @ID
and isnull(FINANCIALTRANSACTION.POSTSTATUSCODE, 3) != 3;
end
if (@ISPLEDGE = 1 or @ISPLANNEDGIFT = 1 or @ISGRANTAWARD = 1)
and exists
(
select 1
from
dbo.JOURNALENTRY_EXT EXT
inner join
dbo.JOURNALENTRY JE on JE.ID = EXT.ID
inner join
dbo.FINANCIALTRANSACTIONLINEITEM LI on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
where
EXT.TABLENAMECODE = 14
and LI.FINANCIALTRANSACTIONID = @ID
and EXT.OUTDATED = 0
)
begin
set @HASUNREALIZEDGAINLOSS = 1
end
else
begin
set @HASUNREALIZEDGAINLOSS = 0
end
if @ISPLEDGE = 1 or @ISGRANTAWARD = 1 or @ISMEMBERSHIPPLEDGE = 1
begin
select
@ISPENDING = REVENUESCHEDULE.ISPENDING,
@BENEFITSWAIVED = REVENUE.BENEFITSWAIVED
from
dbo.REVENUE_EXT REVENUE
inner join
dbo.REVENUESCHEDULE on REVENUESCHEDULE.ID = REVENUE.ID
where REVENUE.ID = @ID;
end
if @ISMGPLEDGE = 1
begin
select
@ISPENDING = REVENUESCHEDULE.ISPENDING,
@LINKEDRECORDID = RMG.MGSOURCEREVENUEID,
@BENEFITSWAIVED = REVENUE.BENEFITSWAIVED,
@MGPLEDGEISINACTIVE = case when [RMG].ISACTIVE = 0 then 1 else 0 end
from
dbo.REVENUE_EXT REVENUE
inner join
dbo.REVENUEMATCHINGGIFT RMG on REVENUE.ID = RMG.ID
inner join
dbo.REVENUESCHEDULE on REVENUESCHEDULE.ID = REVENUE.ID
where
REVENUE.ID = @ID;
end
if exists
(
select
REVENUETRIBUTE.ID
from
dbo.REVENUETRIBUTE
where
REVENUETRIBUTE.REVENUEID = @ID
)
select @HASTRIBUTES = 1;
if @ISPLEDGE = 1
begin
if (select coalesce(sum(RT.AMOUNT),0) from dbo.REVENUETRIBUTE RT where REVENUEID = @ID) < @BASEAMOUNT
select @CANAPPLYTRIBUTE = 1;
end
else if @ISPAYMENT = 1 or @ISAUCTIONDONATION = 1
begin
set @PAYMENTINCLUDESGIFT = 1;
if (select coalesce(sum(RT.AMOUNT),0) from dbo.REVENUETRIBUTE RT where REVENUEID = @ID) < @BASEAMOUNT
set @CANAPPLYTRIBUTE = 1;
end
-- determine the receipt status
if @DONOTRECEIPT = 1
set @RECEIPTSTATUSCODE = 1; -- do not receipt
else
begin
declare @RECEIPTID uniqueidentifier;
declare @RECEIPTDATE datetime;
select
top 1 @RECEIPTID = RR.ID,
@RECEIPTDATE = RECEIPTDATE
from
dbo.REVENUERECEIPT RR
where
RR.REVENUEID = @REVENUEID
order by
RR.RECEIPTPROCESSDATE desc;
if @RECEIPTID is null
set @RECEIPTSTATUSCODE = 3; -- not receipted
else if @RECEIPTDATE is null
set @RECEIPTSTATUSCODE = 2; -- pending
else
set @RECEIPTSTATUSCODE = 0; -- receipted
end
-- if re-receipts turned off
if ((coalesce((select top 1 RERECEIPTPAYMENTS from dbo.RECEIPTPREFERENCEINFO), 1)) = 0 And (coalesce((select top 1 SAMENUMBERONRERECEIPT from dbo.RECEIPTPREFERENCEINFO), 1)) =0)
set @NEEDSRERECEIPT = null;
select @RECEIPTCOUNT = count(ID) from dbo.REVENUERECEIPT where REVENUEID = @REVENUEID;
if exists
(
select
JE.ID
from
dbo.JOURNALENTRY as JE
inner join
dbo.JOURNALENTRY_EXT EXT on JE.ID = EXT.ID and EXT.TABLENAMECODE = 5
inner join
dbo.FINANCIALTRANSACTIONLINEITEM as LI on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
inner join
dbo.REVENUEBENEFIT_EXT on LI.ID = REVENUEBENEFIT_EXT.ID
where
EXT.BENEFITTYPECODE = 1
and LI.FINANCIALTRANSACTIONID = @REVENUEID
and LI.DELETEDON is null
)
set @HASBENEFITDISTRIBUTION = 1
if exists
(
select
JE.ID
from
dbo.JOURNALENTRY as JE
inner join
dbo.JOURNALENTRY_EXT EXT on JE.ID = EXT.ID and EXT.TABLENAMECODE = 5
inner join
dbo.FINANCIALTRANSACTIONLINEITEM as LI on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
inner join
dbo.REVENUEBENEFIT_EXT on LI.ID = REVENUEBENEFIT_EXT.ID
where
EXT.BENEFITTYPECODE = 2
and LI.FINANCIALTRANSACTIONID = @REVENUEID
and LI.DELETEDON is null
)
set @HASBENEFITLIABILITYDISTRIBUTION = 1
if exists
(
select
JE.ID
from
dbo.JOURNALENTRY as JE
inner join
dbo.JOURNALENTRY_EXT EXT on JE.ID = EXT.ID and EXT.TABLENAMECODE = 5
inner join
dbo.FINANCIALTRANSACTIONLINEITEM as LI on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
inner join
dbo.REVENUEBENEFIT_EXT on LI.ID = REVENUEBENEFIT_EXT.ID
where
EXT.BENEFITTYPECODE = 3
and LI.FINANCIALTRANSACTIONID = @REVENUEID
and LI.DELETEDON is null
)
set @HASBENEFITBACKOUTDISTRIBUTION = 1
if exists
(
select
JE.ID
from
dbo.JOURNALENTRY as JE
inner join
dbo.JOURNALENTRY_EXT EXT on JE.ID = EXT.ID and EXT.TABLENAMECODE = 5
inner join
dbo.FINANCIALTRANSACTIONLINEITEM as LI on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
left join
dbo.BENEFITADJUSTMENT on LI.FINANCIALTRANSACTIONID = BENEFITADJUSTMENT.REVENUEID and EXT.BENEFITTYPECODE = BENEFITADJUSTMENT.BENEFITTYPECODE
where
EXT.BENEFITTYPECODE = 3
and BENEFITADJUSTMENT.ID is null
and LI.POSTSTATUSCODE = 1
and LI.FINANCIALTRANSACTIONID = @REVENUEID
and LI.DELETEDON is null
)
set @HASBENEFITUNPOSTEDBACKOUTDISTRIBUTION = 1
if exists(select 1 from dbo.BENEFITADJUSTMENT where BENEFITTYPECODE = 1 and REVENUEID = @REVENUEID)
set @HASBENEFITDISTRIBUTIONADJUSTMENT = 1
if exists(select 1 from dbo.BENEFITADJUSTMENT where BENEFITTYPECODE = 2 and REVENUEID = @REVENUEID)
set @HASBENEFITLIABILITYDISTRIBUTIONADJUSTMENT = 1
if exists(select 1 from dbo.BENEFITADJUSTMENT where BENEFITTYPECODE = 3 and REVENUEID = @REVENUEID)
set @HASBENEFITBACKOUTDISTRIBUTIONADJUSTMENT = 1
if @ISPLANNEDGIFT = 1
begin
select
@PLANNEDGIFTID = PLANNEDGIFTID,
@ISPLANNEDGIFTADDITION = ISADDITION,
@PLANNEDGIFTADDITIONID = PLANNEDGIFTADDITIONID
from
dbo.V_PLANNEDGIFTREVENUE_WITHADDITIONS
where
REVENUEID = @REVENUEID;
if exists(select ID from dbo.PLANNEDGIFTPAYOUT where REVENUEID = @REVENUEID)
set @HASPLANNEDGIFTPAYOUT = 1;
if @HASPLANNEDGIFTPAYOUT = 1
begin
if exists(select ID from dbo.PLANNEDGIFTPAYOUTADJUSTMENT where POSTSTATUSCODE = 1 and REVENUEID = @REVENUEID)
set @HASUNPOSTEDPAYOUTADJUSTMENT = 1
end
end
if @ISORDER = 1
begin
select
@ORDERTICKETTOTAL = dbo.UFN_SALESORDER_GETTICKETOTAL(SALESORDER.ID),
@ORDERMEMBERSHIPTOTAL = dbo.UFN_SALESORDER_GETMEMBERSHIPTOTAL(SALESORDER.ID),
@ORDERDONATIONTOTAL = dbo.UFN_SALESORDER_GETDONATIONTOTAL(SALESORDER.ID),
@ORDEREVENTREGISTRATIONTOTAL = dbo.UFN_SALESORDER_GETEVENTREGISTRATIONTOTAL([SALESORDER].[ID]),
@ORDERADJUSTMENTTOTAL = dbo.UFN_SALESORDER_GETORDERADJUSTMENTTOTAL(SALESORDER.ID),
@ORDERHASMEMBERSHIP = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = [SALESORDER].[ID] and SALESORDERITEM.TYPECODE = 1)), 0),
@ORDERHASDONATION = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = [SALESORDER].[ID] and SALESORDERITEM.TYPECODE = 2)), 0),
@ORDERHASADJUSTMENT = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = [SALESORDER].[ID] and SALESORDERITEM.TYPECODE in (3,4,5))), 0),
@ORDERHASEVENTREGISTRATION = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = [SALESORDER].[ID] and SALESORDERITEM.TYPECODE = 6)), 0),
@REFUNDSTATUS = SALESORDER.REFUNDSTATUS,
@REFUNDTOTAL = (select coalesce(sum(amount), 0) from dbo.CREDIT where SALESORDERID = SALESORDER.ID and CREDIT.TYPECODE = 0),
@SALESORDERID = ID,
@ORDERHASRESOURCE = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = [SALESORDER].ID and SALESORDERITEM.TYPECODE in (8,9))), 0),
@ORDERRESOURCETOTAL = dbo.UFN_RESERVATION_GETRESOURCETOTAL([SALESORDER].ID),
@ORDERHASSTAFFRESOURCE = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = [SALESORDER].ID and SALESORDERITEM.TYPECODE in (10,11))), 0),
@ORDERSTAFFRESOURCETOTAL = dbo.UFN_RESERVATION_GETSTAFFRESOURCETOTAL([SALESORDER].ID),
@ORDERHASFACILITY = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = [SALESORDER].ID and SALESORDERITEM.TYPECODE = 7) ), 0),
@ORDERHASMERCHANDISE = coalesce((select 1 where exists(select [ID] from dbo.SALESORDERITEM where SALESORDERITEM.SALESORDERID = [SALESORDER].ID and SALESORDERITEM.TYPECODE = 14) ), 0),
@ORDERMERCHANDISETOTAL = dbo.UFN_SALESORDER_GETMERCHANDISETOTAL(SALESORDER.ID)
from
dbo.[SALESORDER]
where
[SALESORDER].[REVENUEID] = @REVENUEID;
if @ORDERHASFACILITY = 1
begin
select
@ORDERFACILITYTOTAL = sum(TOTAL)
from
dbo.SALESORDERITEM
where
SALESORDERID = @SALESORDERID and
TYPECODE = 7
end
--If there are order credit's tied to that revenue id, we need
--to account for those too
select
@AMOUNT = @AMOUNT - coalesce(sum([CREDITGLDISTRIBUTION].[AMOUNT]), 0)
from
dbo.[CREDITGLDISTRIBUTION]
where
[CREDITGLDISTRIBUTION].[REVENUEID] = @ID and
[CREDITGLDISTRIBUTION].[OUTDATED] = 0 and
[CREDITGLDISTRIBUTION].[TRANSACTIONTYPECODE] = 0
end
if @ISPAYMENT = 1
if exists
(
select
1
from
dbo.SALESORDERPAYMENT
left join
dbo.SALESORDERITEM on SALESORDERITEM.SALESORDERID = SALESORDERPAYMENT.SALESORDERID
where
SALESORDERPAYMENT.PAYMENTID = @ID
and (SALESORDERITEM.TYPECODE is null or SALESORDERITEM.TYPECODE <> 12)
)
begin
select
@ISORDERAPPLICATION = 1,
@SALESORDERPAYMENTID = SALESORDERPAYMENT.ID,
@SALESMETHODTYPECODE = SALESORDER.SALESMETHODTYPECODE
from
dbo.SALESORDERPAYMENT
inner join
dbo.SALESORDER on SALESORDERPAYMENT.SALESORDERID = SALESORDER.ID
where
PAYMENTID = @REVENUEID;
if exists
(
select
1
from
dbo.REVENUESPLIT
where
REVENUEID = @ID
and APPLICATIONCODE <> 10
)
set @ISMIXEDORDERPAYMENT = 1;
end
if @ISORDER = 0 and exists(select 1 from dbo.FINANCIALTRANSACTIONLINEITEM LI inner join dbo.REVENUESPLIT_EXT RS on RS.ID = LI.ID where LI.FINANCIALTRANSACTIONID = @ID and RS.APPLICATIONCODE = 11 and LI.DELETEDON is null and LI.TYPECODE != 1)
begin
set @ISMISCELLANEOUSPAYMENT = 1;
end
if @ISPAYMENT = 1 and exists (select 1 from dbo.FINANCIALTRANSACTIONLINEITEM LI
inner join dbo.REVENUESPLIT_EXT RS on RS.ID = LI.ID where LI.FINANCIALTRANSACTIONID = @ID
and RS.APPLICATIONCODE = 1 AND RS.TYPECODE = 1)
set @REVENUEIDHASREGISTRATION = 1
-- Refunds are enabled at the payment level now
set @PAYMENTALLOWSCREDITCARDREFUND = null;
-- is there a donation applied to an event registration?
if @ISPAYMENT = 1 and exists(select 1 from dbo.FINANCIALTRANSACTIONLINEITEM LI inner join dbo.REVENUESPLIT_EXT RS on RS.ID = LI.ID where LI.FINANCIALTRANSACTIONID = @ID and RS.APPLICATIONCODE = 1 and RS.TYPECODE = 0 and LI.DELETEDON is null and LI.TYPECODE != 1)
set @HASEVENTREGISTRATIONDESIGNATIONAPPLICATION = 1;
if exists (select 1 from dbo.FINANCIALTRANSACTIONLINEITEM LI inner join dbo.REVENUESPLIT_EXT as [SPLITS] on LI.ID = [SPLITS].ID where LI.FINANCIALTRANSACTIONID = @ID and [SPLITS].DESIGNATIONID is not null)
set @HASDESIGNATIONS = 1;
-- Is there a matching gift claim application
if @ISPAYMENT = 1
and exists
(
select
1
from
dbo.FINANCIALTRANSACTIONLINEITEM
inner join
dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
--Get only applications paying a matching gift claim by inner joining to dbo.INSTALLMENTSPLITPAYMENT.
-- Unapplied matching gift payments would not have an installment split payment row because there is
-- no commitment being paid.
inner join
dbo.INSTALLMENTSPLITPAYMENT on REVENUESPLIT_EXT.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
where
FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @ID
and REVENUESPLIT_EXT.TYPECODE = 0 --Gift
and REVENUESPLIT_EXT.APPLICATIONCODE = 7 --Matching gift
)
set @HASMATCHINGGIFTCLAIMAPPLICATION = 1;
if exists(select ID from dbo.GRANTOR where ID = @CONSTITUENTID)
select @CONSTITUENTISGRANTOR = 1
if exists(
select JE.ID from dbo.JOURNALENTRY as JE
inner join dbo.FINANCIALTRANSACTIONLINEITEM as LI on JE.FINANCIALTRANSACTIONLINEITEMID = LI.ID
where LI.FINANCIALTRANSACTIONID = @ID
)
set @HASGLDISTRIBUTIONS = 1
set @HASGIFTAIDSPLITONPENDINGR68PROCESS = dbo.UFN_REVENUE_HASGIFTAIDSPLITONPENDINGR68(@REVENUEID, @ISPAYMENT)
if exists(select ID from FINANCIALTRANSACTIONLINEITEM where TYPECODE = 3 and POSTSTATUSCODE = 2 and FINANCIALTRANSACTIONID = @ID)
set @HASPOSTEDBENEFITS = 1
set @SHOWGLINFO = 0
if dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('133F9BCA-00F1-4007-9792-586B931340C6') != 0
begin
--KevinKoe - WI 129011 - Always display the account system for the payment, regardless of whether or not the user has access to the account system
--if dbo.UFN_PDACCOUNTSYSTEM_GETNUMBEROFSYSTEMSFORUSER(@CURRENTAPPUSERID) > 1
set @SHOWGLINFO = 1
end
if @ISAUCTIONDONATION = 1
select
@AUCTIONITEMID = AUCTIONITEM.ID,
@AUCTIONDONATIONISRESERVEDORSOLD = case
when (AUCTIONITEMRESERVATION.ID is not null) or ([RESERVEDPARENTPACKAGE].ID is not null) or (AUCTIONITEMREVENUEPURCHASE.REVENUEPURCHASEID is not null) then 1
else 0
end
from
dbo.AUCTIONITEM
left join dbo.AUCTIONITEMREVENUEPURCHASE on AUCTIONITEMREVENUEPURCHASE.AUCTIONITEMID = AUCTIONITEM.ID
left join dbo.AUCTIONITEMRESERVATION on AUCTIONITEM.ID = AUCTIONITEMRESERVATION.AUCTIONITEMID
left join dbo.AUCTIONITEMRESERVATION [RESERVEDPARENTPACKAGE] on [RESERVEDPARENTPACKAGE].AUCTIONITEMID = AUCTIONITEM.PACKAGEID
where AUCTIONITEM.REVENUEAUCTIONDONATIONID = @ID;
if exists(select 1 from dbo.FINANCIALTRANSACTIONLINEITEM LI inner join dbo.REVENUESPLIT_EXT RS on RS.ID = LI.ID where LI.FINANCIALTRANSACTIONID = @ID and RS.TYPECODE = 12 and RS.APPLICATIONCODE = 12 and LI.DELETEDON is null and LI.TYPECODE != 1)
set @HASAUCTIONPURCHASE = 1;
if @HASAUCTIONPURCHASE = 1
if not exists(select 1 from dbo.FINANCIALTRANSACTIONLINEITEM LI inner join dbo.REVENUESPLIT_EXT RS on RS.ID = LI.ID where LI.FINANCIALTRANSACTIONID = @ID and RS.TYPECODE <> 12 and RS.APPLICATIONCODE <> 12 and LI.DELETEDON is null and LI.TYPECODE != 1)
set @SHOWREVENUEGLDISTRIBUTIONS = 0;
if exists (select 1 from dbo.JOURNALENTRY_EXT where LOGICALREVENUEID = @ID and TABLENAMECODE = 8)
set @HASGIFTFEEGLDISTRIBUTIONS = 1;
if exists( select EXT.ID
from dbo.JOURNALENTRY_EXT EXT
inner join dbo.JOURNALENTRY JE on JE.ID = EXT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
where
LI.POSTSTATUSCODE = 2 and
EXT.LOGICALREVENUEID = @ID
and EXT.TABLENAMECODE = 8)
set @HASPOSTEDGIFTFEES = 1
if exists ( select 1 from dbo.GIFTFEEADJUSTMENT
where
REVENUEID = @ID and
POSTSTATUSCODE = 1) -- Not posted
set @HASUNPOSTEDGIFTFEESADJUSTMENT = 1
if exists(
select
JE.ID
from dbo.JOURNALENTRY JE
inner join dbo.FINANCIALTRANSACTIONLINEITEM LI
on JE.FINANCIALTRANSACTIONLINEITEMID = LI.ID
where LI.FINANCIALTRANSACTIONID = @ID
and JE.TYPECODE <> 0 -- system
and LI.DELETEDON is NULL -- not outdated
)
or
exists(select 1
from dbo.JOURNALENTRY_EXT EXT
inner join dbo.JOURNALENTRY JE on JE.ID = EXT.ID
where EXT.TABLENAMECODE = 2 and EXT.REVENUEPURCHASEID = @ID and JE.TYPECODE != 0 and EXT.OUTDATED = 0)
set @HASSYSTEMDISTRIBUTIONS = 1;
set @HASMATCHINGACCOUNTSYSTEM = 1
if dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('0E85C527-E6E9-4C5F-A8E8-105FD0E18FE7') = 1
begin
if @ISPLEDGE = 1 and not exists (select * from UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) where ID = @PDACCOUNTSYSTEMID)
begin
set @HASMATCHINGACCOUNTSYSTEM = 0
end
end
set @ISSECURITYDEPOSITPAYMENT = 0
if @ISPAYMENT = 1 and exists(select 1 from dbo.FINANCIALTRANSACTIONLINEITEM LI inner join dbo.REVENUESPLIT_EXT RS on RS.ID = LI.ID where LI.FINANCIALTRANSACTIONID = @ID and RS.TYPECODE = 13 and LI.DELETEDON is null and LI.TYPECODE != 1)
set @ISSECURITYDEPOSITPAYMENT = 1
if @ISPAYMENT = 1 and @ISMISCELLANEOUSPAYMENT = 0 and @PAYMENTTYPECODE in (0,1,2,10) --Cash, Check, Credit Card, Other
select
@SHOWLINKDEPOSIT=case when DEPOSITID is null then 1 else 0 end
from
dbo.BANKACCOUNTDEPOSITPAYMENT
where
ID = @ID
if exists(select 1 from dbo.FINANCIALTRANSACTIONLINEITEM LI inner join dbo.REVENUESPLIT_EXT RS on RS.ID = LI.ID where LI.FINANCIALTRANSACTIONID = @ID and RS.APPLICATIONCODE not in (4, 6, 8))
set @SHOWGIFTAIDREFUNDS = 1;
set @HASLINKEDOPPORTUNITY = 0;
if exists (select 1 from dbo.REVENUEOPPORTUNITY RO inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on LI.ID = RO.ID where LI.FINANCIALTRANSACTIONID = @ID)
set @HASLINKEDOPPORTUNITY = 1;
if @PAYMENTTYPECODE = 2 and exists
(
select
1
from
dbo.CREDITPAYMENT
inner join
dbo.FINANCIALTRANSACTION FT on FT.ID = CREDITPAYMENT.REVENUEID
where
FT.ID = @ID
)
begin
set @HASREFUND = 1;
end
return 0;