USP_DATAFORMTEMPLATE_EDITLOAD_PAYMENTADJUST3
Loads payment information for a posted payment.
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 | |
@CONSTITUENTNAME | nvarchar(255) | INOUT | Constituent |
@DATE | datetime | INOUT | Date |
@AMOUNT | money | INOUT | Amount |
@APPLICATIONCODE | tinyint | INOUT | Application |
@RECEIPTAMOUNT | money | INOUT | Receipt amount |
@REVENUESTREAMS | xml | INOUT | Revenue streams |
@SOURCECODE | nvarchar(50) | INOUT | Source code |
@APPEALID | uniqueidentifier | INOUT | Appeal |
@BENEFITS | xml | INOUT | Benefits |
@BENEFITSWAIVED | bit | INOUT | Benefits waived |
@GIVENANONYMOUSLY | bit | INOUT | Payment is anonymous |
@MAILINGID | uniqueidentifier | INOUT | Mailing |
@CHANNELCODEID | uniqueidentifier | INOUT | Inbound channel |
@DONOTRECEIPT | bit | INOUT | Do not receipt |
@DONOTACKNOWLEDGE | bit | INOUT | Do not acknowledge |
@REFERENCE | nvarchar(255) | INOUT | Reference |
@POSTSTATUSCODE | tinyint | INOUT | Post status |
@POSTDATE | datetime | INOUT | Post date |
@CANHAVEUNAPPLIEDMG | bit | INOUT | |
@ADJUSTMENTDATE | datetime | INOUT | Adjustment date |
@ADJUSTMENTPOSTDATE | datetime | INOUT | Adjustment post date |
@ADJUSTMENTPOSTSTATUSCODE | tinyint | INOUT | Adjustment post status |
@ADJUSTMENTREASON | nvarchar(300) | INOUT | Adjustment details |
@PENDINGADJUSTMENTCODE | tinyint | INOUT | |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@PAYMENTMETHODCODE | tinyint | INOUT | Payment method |
@OTHERPAYMENTMETHODCODEID | uniqueidentifier | INOUT | Other method |
@CHECKDATE | UDT_FUZZYDATE | INOUT | Check date |
@CHECKNUMBER | nvarchar(20) | INOUT | Check number |
@REFERENCEDATE | UDT_FUZZYDATE | INOUT | Reference date |
@REFERENCENUMBER | nvarchar(20) | INOUT | Reference number |
@CARDHOLDERNAME | nvarchar(255) | INOUT | Name on card |
@CREDITCARDNUMBER | nvarchar(4) | INOUT | Card number |
@CREDITTYPECODEID | uniqueidentifier | INOUT | Card type |
@AUTHORIZATIONCODE | nvarchar(20) | INOUT | Authorization code |
@EXPIRESON | UDT_FUZZYDATE | INOUT | Expires on |
@ISSUER | nvarchar(100) | INOUT | Issuer |
@NUMBEROFUNITS | decimal(20, 3) | INOUT | Number of units |
@SYMBOL | nvarchar(25) | INOUT | Symbol |
@MEDIANPRICE | decimal(19, 4) | INOUT | Median price |
@GIFTINKINDSUBTYPECODEID | uniqueidentifier | INOUT | Subtype |
@PROPERTYSUBTYPECODEID | uniqueidentifier | INOUT | Subtype |
@CONSTITUENTACCOUNTID | uniqueidentifier | INOUT | Account |
@DIRECTDEBITRESULTCODE | nvarchar(10) | INOUT | Result code |
@LOWPRICE | decimal(19, 4) | INOUT | Low price |
@HIGHPRICE | decimal(19, 4) | INOUT | High price |
@HASPOSTEDSOLDSTOCK | bit | INOUT | Has sold stock |
@HASSOLDSTOCK | bit | INOUT | Has sold stock |
@HASSOLDPROPERTY | bit | INOUT | Has sold property |
@ADJUSTMENTREASONCODEID | uniqueidentifier | INOUT | Adjustment reason |
@GIFTINKINDITEMNAME | nvarchar(100) | INOUT | Item name |
@GIFTINKINDDISPOSITIONCODE | tinyint | INOUT | Disposition |
@GIFTINKINDNUMBEROFUNITS | int | INOUT | Number of units |
@GIFTINKINDFAIRMARKETVALUE | money | INOUT | Fair market value per unit |
@GIFTINKINDUSEAPPRAISALTHRESHOLD | bit | INOUT | |
@GIFTINKINDAPPRAISALTHRESHOLD | money | INOUT | |
@GIFTINKINDGIFTAPPRAISED | bit | INOUT | |
@DEPOSITID | uniqueidentifier | INOUT | |
@DIRECTDEBITISREJECTED | bit | INOUT | Rejected |
@ADJUSTMENTID | uniqueidentifier | INOUT | Adjustment ID |
@DISABLEADJUSTMENTPOSTSTATUS | bit | INOUT | Disable adjustment post status |
@PERCENTAGEBENEFITS | xml | INOUT | Benefits |
@HASCREDITCARDBEENCHARGED | bit | 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 | |
@HASMATCHINGGIFTCLAIM | bit | INOUT | |
@ADJUSTMATCHINGGIFTCLAIMS | tinyint | INOUT | |
@UPDATEGIFTFEEOPTION | tinyint | INOUT | |
@UPDATETRIBUTEOPTION | tinyint | INOUT | |
@HASTRIBUTE | bit | INOUT | |
@VALIDATETRIBUTES | bit | INOUT | |
@ALLOWGLDISTRIBUTIONS | bit | INOUT | |
@HASSOLDGIFTINKIND | bit | INOUT | |
@HASPOSTEDSOLDGIFTINKIND | bit | INOUT | |
@PDACCOUNTSYSTEMID | uniqueidentifier | INOUT | |
@REQUIREDEPOSIT | bit | INOUT | |
@SEPAMANDATEID | uniqueidentifier | INOUT | |
@FINDERNUMBER | bigint | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_PAYMENTADJUST3
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@CONSTITUENTID uniqueidentifier = null output,
@CONSTITUENTNAME nvarchar(255) = 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,
@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,
@DONOTACKNOWLEDGE bit = null output,
@REFERENCE nvarchar(255) = null output,
@POSTSTATUSCODE tinyint = null output,
@POSTDATE datetime = null output,
@CANHAVEUNAPPLIEDMG bit = null output,
@ADJUSTMENTDATE datetime = null output,
@ADJUSTMENTPOSTDATE datetime = null output,
@ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
@ADJUSTMENTREASON nvarchar(300) = null output,
@PENDINGADJUSTMENTCODE tinyint = null output,
@TSLONG bigint = 0 output,
@PAYMENTMETHODCODE tinyint = null output,
@OTHERPAYMENTMETHODCODEID uniqueidentifier = null output,
@CHECKDATE dbo.UDT_FUZZYDATE = null output,
@CHECKNUMBER nvarchar(20) = null output,
@REFERENCEDATE dbo.UDT_FUZZYDATE = null output,
@REFERENCENUMBER nvarchar(20) = null output,
@CARDHOLDERNAME nvarchar(255) = null output,
@CREDITCARDNUMBER nvarchar(4) = null output,
@CREDITTYPECODEID uniqueidentifier = null output,
@AUTHORIZATIONCODE nvarchar(20) = null output,
@EXPIRESON dbo.UDT_FUZZYDATE = null output,
@ISSUER nvarchar(100) = null output,
@NUMBEROFUNITS decimal(20,3) = null output,
@SYMBOL nvarchar(25) = null output,
@MEDIANPRICE decimal(19,4) = null output,
@GIFTINKINDSUBTYPECODEID uniqueidentifier = null output,
@PROPERTYSUBTYPECODEID uniqueidentifier = null output,
@CONSTITUENTACCOUNTID uniqueidentifier = null output,
@DIRECTDEBITRESULTCODE nvarchar(10) = null output,
@LOWPRICE decimal(19,4) = null output,
@HIGHPRICE decimal(19,4) = null output,
@HASPOSTEDSOLDSTOCK bit = null output,
@HASSOLDSTOCK bit = null output,
@HASSOLDPROPERTY bit = null output,
@ADJUSTMENTREASONCODEID uniqueidentifier = null output,
@GIFTINKINDITEMNAME nvarchar(100) = null output,
@GIFTINKINDDISPOSITIONCODE tinyint = null output,
@GIFTINKINDNUMBEROFUNITS int = null output,
@GIFTINKINDFAIRMARKETVALUE money = null output,
@GIFTINKINDUSEAPPRAISALTHRESHOLD bit = null output,
@GIFTINKINDAPPRAISALTHRESHOLD money = null output,
@GIFTINKINDGIFTAPPRAISED bit = null output,
@DEPOSITID uniqueidentifier = null output,
@DIRECTDEBITISREJECTED bit = null output,
@ADJUSTMENTID uniqueidentifier = null output,
@DISABLEADJUSTMENTPOSTSTATUS bit = null output,
@PERCENTAGEBENEFITS xml = null output,
@HASCREDITCARDBEENCHARGED bit = 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,
@HASMATCHINGGIFTCLAIM bit = null output,
@ADJUSTMATCHINGGIFTCLAIMS tinyint = null output,
@UPDATEGIFTFEEOPTION tinyint = null output,
@UPDATETRIBUTEOPTION tinyint = null output,
@HASTRIBUTE bit = null output,
@VALIDATETRIBUTES bit = null output,
@ALLOWGLDISTRIBUTIONS bit = null output,
@HASSOLDGIFTINKIND bit = null output,
@HASPOSTEDSOLDGIFTINKIND bit = null output,
@PDACCOUNTSYSTEMID uniqueidentifier = null output,
@REQUIREDEPOSIT bit = null output,
@SEPAMANDATEID uniqueidentifier = null output,
@FINDERNUMBER bigint = null output
)
as
set nocount on;
select
@ADJUSTMENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
@ADJUSTMENTPOSTSTATUSCODE = 0;
select top 1
@ADJUSTMENTDATE = ADJUSTMENT.DATE,
@ADJUSTMENTPOSTDATE = ADJUSTMENT.POSTDATE,
@ADJUSTMENTPOSTSTATUSCODE = ADJUSTMENT.POSTSTATUSCODE,
@ADJUSTMENTREASON = ADJUSTMENT.REASON,
@ADJUSTMENTREASONCODEID = ADJUSTMENT.REASONCODEID,
@ADJUSTMENTID = ADJUSTMENT.ID,
@DISABLEADJUSTMENTPOSTSTATUS = case when (ADJUSTMENT.POSTSTATUSCODE <> 0 and ADJUSTMENT.ADJUSTMENTCODE <> 0) then 1 else 0 end
from dbo.ADJUSTMENT
where ADJUSTMENT.REVENUEID = @ID and ADJUSTMENT.POSTSTATUSCODE = 1
order by dateadded desc;
if @ADJUSTMENTREASONCODEID is null
begin
select
@ADJUSTMENTDATE = DATE,
@ADJUSTMENTPOSTDATE = POSTDATE,
@ADJUSTMENTPOSTSTATUSCODE = 1,
@ADJUSTMENTREASON = REASON,
@ADJUSTMENTREASONCODEID = REASONCODEID,
@ADJUSTMENTID = ID
from dbo.BENEFITADJUSTMENT
where REVENUEID = @ID and POSTSTATUSCODE = 1
end
set @VALIDATETRIBUTES = 1;
exec dbo.USP_PAYMENT_LOAD
@ID, @DATALOADED output, @CONSTITUENTID output, @CONSTITUENTNAME output,
@DATE output, @AMOUNT output, @APPLICATIONCODE output, @RECEIPTAMOUNT output,
@REVENUESTREAMS output, @SOURCECODE output, @POSTSTATUSCODE output, @POSTDATE output,
@APPEALID output, @BENEFITS output, @BENEFITSWAIVED output,
@GIVENANONYMOUSLY output, @MAILINGID output, @CHANNELCODEID output,
@DONOTRECEIPT output, @REFERENCE output, @TSLONG output, @DONOTACKNOWLEDGE output,
@FINDERNUMBER output, @PERCENTAGEBENEFITS output, @BASECURRENCYID output, @TRANSACTIONCURRENCYID output,
@BASEEXCHANGERATEID output, @EXCHANGERATE output, @HADSPOTRATE output,
@BASEDECIMALDIGITS output, @BASEROUNDINGTYPECODE output, @TRANSACTIONCURRENCYDESCRIPTION output;
exec dbo.USP_REVENUE_GETPAYMENTDETAILS
@REVENUEID = @ID,
@PAYMENTMETHODCODE = @PAYMENTMETHODCODE output,
@CHECKDATE = @CHECKDATE output,
@CHECKNUMBER = @CHECKNUMBER output,
@REFERENCEDATE = @REFERENCEDATE output,
@REFERENCENUMBER = @REFERENCENUMBER output,
@CARDHOLDERNAME = @CARDHOLDERNAME output,
@CREDITCARDNUMBER = @CREDITCARDNUMBER output,
@CREDITTYPECODEID = @CREDITTYPECODEID output,
@AUTHORIZATIONCODE = @AUTHORIZATIONCODE output,
@EXPIRESON = @EXPIRESON output,
@ISSUER = @ISSUER output,
@NUMBEROFUNITS = @NUMBEROFUNITS output,
@SYMBOL = @SYMBOL output,
@MEDIANPRICE = @MEDIANPRICE output,
@GIFTINKINDSUBTYPECODEID = @GIFTINKINDSUBTYPECODEID output,
@PROPERTYSUBTYPECODEID = @PROPERTYSUBTYPECODEID output,
@CONSTITUENTACCOUNTID = @CONSTITUENTACCOUNTID output,
@OTHERPAYMENTMETHODCODEID = @OTHERPAYMENTMETHODCODEID output,
@DIRECTDEBITRESULTCODE = @DIRECTDEBITRESULTCODE output,
@LOWPRICE = @LOWPRICE output,
@HIGHPRICE = @HIGHPRICE output,
@GIFTINKINDITEMNAME = @GIFTINKINDITEMNAME output,
@GIFTINKINDDISPOSITIONCODE = @GIFTINKINDDISPOSITIONCODE output,
@GIFTINKINDNUMBEROFUNITS = @GIFTINKINDNUMBEROFUNITS output,
@GIFTINKINDFAIRMARKETVALUE = @GIFTINKINDFAIRMARKETVALUE output,
@DIRECTDEBITISREJECTED = @DIRECTDEBITISREJECTED output,
@HASCREDITCARDBEENCHARGED = @HASCREDITCARDBEENCHARGED output,
@SEPAMANDATEID = @SEPAMANDATEID output;
select @HASMATCHINGGIFTCLAIM = 1
from dbo.REVENUEMATCHINGGIFT
left join dbo.INSTALLMENTSPLITPAYMENT on INSTALLMENTSPLITPAYMENT.PLEDGEID = REVENUEMATCHINGGIFT.ID
where REVENUEMATCHINGGIFT.MGSOURCEREVENUEID = @ID
and REVENUEMATCHINGGIFT.MATCHINGGIFTCONDITIONID is not null
and INSTALLMENTSPLITPAYMENT.ID is null;
select @HASTRIBUTE = count(1)
from dbo.REVENUETRIBUTE
where REVENUETRIBUTE.REVENUEID = @ID;
set @UPDATETRIBUTEOPTION = 0;
set @ADJUSTMATCHINGGIFTCLAIMS = 3;
set @UPDATEGIFTFEEOPTION = 0;
select @CANHAVEUNAPPLIEDMG = ISORGANIZATION
from dbo.CONSTITUENT
where ID = @CONSTITUENTID;
declare @REVENUEPAYMENTMETHODID uniqueidentifier
select @REVENUEPAYMENTMETHODID = ID
from dbo.REVENUEPAYMENTMETHOD
where REVENUEID = @ID
set @PENDINGADJUSTMENTCODE = 0;
if @PENDINGADJUSTMENTCODE = 0
begin
if ((select count(STOCKSALEADJUSTMENT.ID) from dbo.STOCKSALEADJUSTMENT
inner join dbo.STOCKSALE on STOCKSALEADJUSTMENT.STOCKSALEID = STOCKSALE.ID
where STOCKSALE.STOCKDETAILID = @REVENUEPAYMENTMETHODID and STOCKSALEADJUSTMENT.POSTSTATUSCODE <> 0) > 0)
set @PENDINGADJUSTMENTCODE = 1;
end
if @PENDINGADJUSTMENTCODE = 0
begin
if ((select count(GIFTINKINDSALEADJUSTMENT.ID) from dbo.GIFTINKINDSALEADJUSTMENT
inner join dbo.GIFTINKINDSALE on GIFTINKINDSALEADJUSTMENT.GIFTINKINDSALEID = GIFTINKINDSALE.ID
where GIFTINKINDSALE.GIFTINKINDPAYMENTMETHODDETAILID = @REVENUEPAYMENTMETHODID and GIFTINKINDSALEADJUSTMENT.POSTSTATUSCODE <> 0) > 0)
set @PENDINGADJUSTMENTCODE = 1;
end
if @PENDINGADJUSTMENTCODE = 0
begin
if ((select count(PROPERTYDETAILADJUSTMENT.ID) from dbo.PROPERTYDETAILADJUSTMENT
where PROPERTYDETAILADJUSTMENT.PROPERTYDETAILID = @REVENUEPAYMENTMETHODID and PROPERTYDETAILADJUSTMENT.POSTSTATUSCODE <> 0) > 0)
set @PENDINGADJUSTMENTCODE = 1;
end
set @HASPOSTEDSOLDSTOCK = 0
if exists (select 1 from dbo.STOCKSALE where STOCKDETAILID = @REVENUEPAYMENTMETHODID and SALEPOSTSTATUSCODE = 0)
set @HASPOSTEDSOLDSTOCK = 1;
set @HASSOLDSTOCK = 0;
if @PAYMENTMETHODCODE = 4
begin
if exists ( select 1 from dbo.STOCKSALE
inner join dbo.REVENUEPAYMENTMETHOD on STOCKSALE.STOCKDETAILID = REVENUEPAYMENTMETHOD.ID
where REVENUEPAYMENTMETHOD.REVENUEID = @ID)
set @HASSOLDSTOCK = 1;
end
set @HASPOSTEDSOLDGIFTINKIND = 0
if exists (select 1 from dbo.GIFTINKINDSALE where GIFTINKINDPAYMENTMETHODDETAILID = @REVENUEPAYMENTMETHODID and SALEPOSTSTATUSCODE = 0)
set @HASPOSTEDSOLDGIFTINKIND = 1;
set @HASSOLDGIFTINKIND = 0;
if @PAYMENTMETHODCODE = 6
begin
if exists ( select 1 from dbo.GIFTINKINDSALE
inner join dbo.REVENUEPAYMENTMETHOD on GIFTINKINDSALE.GIFTINKINDPAYMENTMETHODDETAILID = REVENUEPAYMENTMETHOD.ID
where REVENUEPAYMENTMETHOD.REVENUEID = @ID)
set @HASSOLDGIFTINKIND = 1;
end
set @HASSOLDPROPERTY = 0
if @PAYMENTMETHODCODE = 5
begin
if exists ( select 1 from dbo.PROPERTYDETAIL
inner join dbo.REVENUEPAYMENTMETHOD on PROPERTYDETAIL.ID = REVENUEPAYMENTMETHOD.ID
where ISSOLD = 1 and REVENUEPAYMENTMETHOD.REVENUEID = @ID)
set @HASSOLDPROPERTY = 1
end
select top 1
@GIFTINKINDUSEAPPRAISALTHRESHOLD = USEAPPRAISALTHRESHOLD,
@GIFTINKINDAPPRAISALTHRESHOLD = APPRAISALTHRESHOLD
from
dbo.GIFTINKINDAPPRAISALSETTINGS
if exists ( select top(1) 1
from dbo.GIFTINKINDAPPRAISAL inner join dbo.REVENUEPAYMENTMETHOD on GIFTINKINDPAYMENTMETHODDETAILID = REVENUEPAYMENTMETHOD.ID
where REVENUEPAYMENTMETHOD.REVENUEID = @ID)
set @GIFTINKINDGIFTAPPRAISED = 1
else
set @GIFTINKINDGIFTAPPRAISED = 0
select @DEPOSITID = DEPOSITID
from dbo.BANKACCOUNTDEPOSITPAYMENT
where ID = @ID;
if @ADJUSTMENTPOSTDATE is null
begin
if not @DEPOSITID is null
select @ADJUSTMENTPOSTDATE = POSTDATE
from dbo.BANKACCOUNTDEPOSITPAYMENT
inner join dbo.BANKACCOUNTDEPOSIT on BANKACCOUNTDEPOSITPAYMENT.DEPOSITID = BANKACCOUNTDEPOSIT.ID
inner join dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTDEPOSIT.ID = BANKACCOUNTTRANSACTION.ID
where BANKACCOUNTDEPOSITPAYMENT.ID = @ID;
else
select @ADJUSTMENTPOSTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
end
-- Check GL business rule for this account system and set to 'Do not post' if needed.
select @PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID, @REQUIREDEPOSIT = PDACCOUNTSYSTEM.REQUIREDPOSIT
from dbo.FINANCIALTRANSACTION
inner join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
where FINANCIALTRANSACTION.ID = @ID;
set @ALLOWGLDISTRIBUTIONS = dbo.UFN_PDACCOUNTSYSTEM_ALLOWGLDISTRIBUTIONS(@PDACCOUNTSYSTEMID);