USP_PAYMENT_LOAD
Stored procedure to load a payment.
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @ID | uniqueidentifier | IN | |
| @DATALOADED | bit | INOUT | |
| @CONSTITUENTID | uniqueidentifier | INOUT | |
| @CONSTITUENTNAME | nvarchar(700) | INOUT | |
| @DATE | datetime | INOUT | |
| @AMOUNT | money | INOUT | |
| @APPLICATIONCODE | tinyint | INOUT | |
| @RECEIPTAMOUNT | money | INOUT | |
| @REVENUESTREAMS | xml | INOUT | |
| @SOURCECODE | nvarchar(50) | INOUT | |
| @POSTSTATUSCODE | tinyint | INOUT | |
| @POSTDATE | datetime | INOUT | |
| @APPEALID | uniqueidentifier | INOUT | |
| @BENEFITS | xml | INOUT | |
| @BENEFITSWAIVED | bit | INOUT | |
| @GIVENANONYMOUSLY | bit | INOUT | |
| @MAILINGID | uniqueidentifier | INOUT | |
| @CHANNELCODEID | uniqueidentifier | INOUT | |
| @DONOTRECEIPT | bit | INOUT | |
| @REFERENCE | nvarchar(255) | INOUT | |
| @TSLONG | bigint | INOUT | |
| @DONOTACKNOWLEDGE | bit | INOUT | |
| @FINDERNUMBER | bigint | INOUT | |
| @PERCENTAGEBENEFITS | xml | INOUT | |
| @BASECURRENCYID | uniqueidentifier | INOUT | |
| @TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | |
| @BASEEXCHANGERATEID | uniqueidentifier | INOUT | |
| @EXCHANGERATE | decimal(20, 8) | INOUT | |
| @HADSPOTRATE | bit | INOUT | |
| @BASEDECIMALDIGITS | tinyint | INOUT | |
| @BASEROUNDINGTYPECODE | tinyint | INOUT | |
| @TRANSACTIONCURRENCYDESCRIPTION | nvarchar(110) | INOUT |
Definition
Copy
CREATE procedure dbo.USP_PAYMENT_LOAD
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@CONSTITUENTID uniqueidentifier = null output,
@CONSTITUENTNAME nvarchar(700) = null output,
@DATE datetime = null output,
@AMOUNT money = null output,
@APPLICATIONCODE tinyint = null output,
@RECEIPTAMOUNT money = null output,
@REVENUESTREAMS xml = null output,
@SOURCECODE nvarchar(50) = null output,
@POSTSTATUSCODE tinyint = null output,
@POSTDATE datetime = null output,
@APPEALID uniqueidentifier = null output,
@BENEFITS xml = null output,
@BENEFITSWAIVED bit = null output,
@GIVENANONYMOUSLY bit = null output,
@MAILINGID uniqueidentifier = null output,
@CHANNELCODEID uniqueidentifier = null output,
@DONOTRECEIPT bit = null output,
@REFERENCE nvarchar(255) = null output,
@TSLONG bigint = 0 output,
@DONOTACKNOWLEDGE bit = null output,
@FINDERNUMBER bigint = null output,
@PERCENTAGEBENEFITS xml = null output,
@BASECURRENCYID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output,
@BASEEXCHANGERATEID uniqueidentifier = null output,
@EXCHANGERATE decimal(20,8) = null output,
@HADSPOTRATE bit = null output,
@BASEDECIMALDIGITS tinyint = null output,
@BASEROUNDINGTYPECODE tinyint = null output,
@TRANSACTIONCURRENCYDESCRIPTION nvarchar(110) = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
select
@DATALOADED = 1,
@APPLICATIONCODE = 0,
@CONSTITUENTID = REVENUE.CONSTITUENTID,
@CONSTITUENTNAME = NF.NAME,
@DATE = cast(REVENUE.DATE as datetime),
@AMOUNT = REVENUE.TRANSACTIONAMOUNT,
@DONOTRECEIPT = REVENUE_EXT.DONOTRECEIPT,
@DONOTACKNOWLEDGE = REVENUE_EXT.DONOTACKNOWLEDGE,
@RECEIPTAMOUNT = REVENUE_EXT.RECEIPTAMOUNT,
@SOURCECODE = REVENUE_EXT.SOURCECODE,
@POSTSTATUSCODE = case REVENUE.POSTSTATUSCODE when 3 then 2 when 2 then 0 else 1 end,
@POSTDATE = REVENUE.POSTDATE,
@APPEALID = REVENUE_EXT.APPEALID,
@GIVENANONYMOUSLY = REVENUE_EXT.GIVENANONYMOUSLY,
@MAILINGID = REVENUE_EXT.MAILINGID,
@CHANNELCODEID = REVENUE_EXT.CHANNELCODEID,
@BENEFITSWAIVED = REVENUE_EXT.BENEFITSWAIVED,
@TSLONG = REVENUE.TSLONG,
@REFERENCE = REVENUE_EXT.REFERENCE,
@REVENUESTREAMS = dbo.[UFN_REVENUE_GETAPPLICATIONS_2_TOITEMLISTXML](@ID, 1),
@FINDERNUMBER = REVENUE_EXT.FINDERNUMBER,
@BASECURRENCYID = V.BASECURRENCYID,
@TRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID = REVENUE.BASEEXCHANGERATEID,
@EXCHANGERATE =
case
when REVENUE.BASEEXCHANGERATEID is not null
then CURRENCYEXCHANGERATE.RATE
when REVENUE.TRANSACTIONCURRENCYID = V.BASECURRENCYID
then 1
else 0
end,
@HADSPOTRATE =
case
when CURRENCYEXCHANGERATE.TYPECODE = 2
then 1
else 0
end,
@BASEDECIMALDIGITS = CURRENCY.DECIMALDIGITS,
@BASEROUNDINGTYPECODE = CURRENCY.ROUNDINGTYPECODE,
@TRANSACTIONCURRENCYDESCRIPTION = dbo.UFN_CURRENCY_GETDESCRIPTION(REVENUE.TRANSACTIONCURRENCYID)
from dbo.FINANCIALTRANSACTION REVENUE
inner join dbo.REVENUE_EXT on REVENUE.ID = REVENUE_EXT.ID
left outer join dbo.V_BASECURRENCYFORFINANCIALTRANSACTION_I V with (noexpand) on REVENUE.ID = V.FINANCIALTRANSACTIONID
left join dbo.CURRENCY on CURRENCY.ID = V.BASECURRENCYID
left join dbo.CURRENCYEXCHANGERATE on CURRENCYEXCHANGERATE.ID = REVENUE.BASEEXCHANGERATEID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) NF
where
REVENUE.ID = @ID and
REVENUE.TYPECODE = 0 and
REVENUE.DELETEDON is null;
exec dbo.USP_REVENUE_GETBENEFITSSPLIT @ID, @BENEFITS output, @PERCENTAGEBENEFITS output
return 0;