USP_DATAFORMTEMPLATE_EDITLOAD_REVENUETRANSACTIONCHANGECONSTITUENTPOSTED_3
The load procedure used by the edit dataform template "Revenue Transaction Change Constituent Posted Edit Form 3"
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. |
@CONSTITUENTNAME | nvarchar(154) | INOUT | Current constituent |
@TYPE | nvarchar(22) | INOUT | Type |
@NEWCONSTITUENTID | uniqueidentifier | INOUT | New constituent |
@CONSTITUENTACCOUNTID | uniqueidentifier | INOUT | Account |
@ADJUSTMENTPOSTDATE | datetime | INOUT | Adjustment post date |
@ADJUSTMENTDATE | datetime | INOUT | Adjustment date |
@ADJUSTMENTREASON | nvarchar(100) | INOUT | Adjustment details |
@RESETRECOGNITIONCREDITS | bit | INOUT | Recognition credit |
@RESETSOLICITORS | bit | INOUT | Solicitors |
@HOUSEHOLDSCANBEDONORS | bit | INOUT | Households can be donors |
@TYPECODE | tinyint | INOUT | Transaction type |
@PAYMENTMETHOD | nvarchar(30) | INOUT | Payment method |
@PAYMENTMETHODCODE | tinyint | INOUT | Payment method |
@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. |
@ADJUSTMENTREASONCODEID | uniqueidentifier | INOUT | Adjustment reason |
@ADJUSTMENTPOSTSTATUSCODE | tinyint | INOUT | Adjustment post status code |
@RESETMATCHINGGIFTCLAIMS | bit | INOUT | Matching gift claims |
@ALLOWMATCHINGGIFTCLAIM | bit | INOUT | |
@LINKEDTODEPOSIT | bit | INOUT | |
@SEPAMANDATEID | uniqueidentifier | INOUT | |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REVENUETRANSACTIONCHANGECONSTITUENTPOSTED_3
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@CONSTITUENTNAME nvarchar(154) = null output,
@TYPE nvarchar(22) = null output,
@NEWCONSTITUENTID uniqueidentifier = null output,
@CONSTITUENTACCOUNTID uniqueidentifier= null output,
@ADJUSTMENTPOSTDATE datetime = null output,
@ADJUSTMENTDATE datetime = null output,
@ADJUSTMENTREASON nvarchar(100) = null output,
@RESETRECOGNITIONCREDITS bit = null output,
@RESETSOLICITORS bit = null output,
@HOUSEHOLDSCANBEDONORS bit = null output,
@TYPECODE tinyint = null output,
@PAYMENTMETHOD nvarchar(30) = null output,
@PAYMENTMETHODCODE tinyint = null output,
@TSLONG bigint = 0 output,
@ADJUSTMENTREASONCODEID uniqueidentifier = null output,
@ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
@RESETMATCHINGGIFTCLAIMS bit = null output,
@ALLOWMATCHINGGIFTCLAIM bit = null output,
@LINKEDTODEPOSIT bit = null output,
@SEPAMANDATEID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output
)
as
set nocount on;
select top 1
@DATALOADED = 1,
@CONSTITUENTNAME = CONSTITUENT.NAME,
@TYPE = FINANCIALTRANSACTION.TYPE,
@TYPECODE = FINANCIALTRANSACTION.TYPECODE,
@PAYMENTMETHOD = REVENUEPAYMENTMETHOD.PAYMENTMETHOD,
@PAYMENTMETHODCODE = REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE,
@TSLONG = FINANCIALTRANSACTION.TSLONG,
@ADJUSTMENTPOSTDATE=FINANCIALTRANSACTION.POSTDATE,
@TRANSACTIONCURRENCYID = FINANCIALTRANSACTION.TRANSACTIONCURRENCYID
from dbo.FINANCIALTRANSACTION
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join dbo.CONSTITUENT on CONSTITUENT.ID = FINANCIALTRANSACTION.CONSTITUENTID
inner join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = FINANCIALTRANSACTION.ID
where FINANCIALTRANSACTION.ID = @ID
and FINANCIALTRANSACTION.DELETEDON is null;
set @ADJUSTMENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
if not exists(select 1 from dbo.BANKACCOUNTDEPOSITPAYMENT where ID = @ID and DEPOSITID is not null)
set @ADJUSTMENTPOSTDATE = getdate();
select top 1
@ADJUSTMENTDATE = ADJUSTMENT.DATE,
@ADJUSTMENTPOSTDATE = ADJUSTMENT.POSTDATE,
@ADJUSTMENTREASON = ADJUSTMENT.REASON,
@ADJUSTMENTREASONCODEID = ADJUSTMENT.REASONCODEID,
@ADJUSTMENTPOSTSTATUSCODE = ADJUSTMENT.POSTSTATUSCODE
from dbo.ADJUSTMENT
inner join dbo.FINANCIALTRANSACTION on ADJUSTMENT.REVENUEID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
where FINANCIALTRANSACTION.ID = @ID and ADJUSTMENT.POSTSTATUSCODE > 0
and FINANCIALTRANSACTION.DELETEDON is null;
set @RESETRECOGNITIONCREDITS = 0;
set @RESETSOLICITORS = 0;
set @HOUSEHOLDSCANBEDONORS = dbo.UFN_INSTALLATIONINFO_GETHOUSEHOLDSCANBEDONORS();
set @RESETMATCHINGGIFTCLAIMS = 0;
set @ALLOWMATCHINGGIFTCLAIM = case when exists (
select top 1 FINANCIALTRANSACTION.ID
from dbo.FINANCIALTRANSACTION
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
where FINANCIALTRANSACTION.TYPECODE = 0
and FINANCIALTRANSACTION.DELETEDON is null
and exists (
select top 1 FINANCIALTRANSACTION.ID
from dbo.FINANCIALTRANSACTIONLINEITEM
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
where FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and REVENUESPLIT_EXT.APPLICATIONCODE <> 7
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null)
and not exists(
select top 1 FINANCIALTRANSACTION.ID
from dbo.FINANCIALTRANSACTIONLINEITEM
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
where FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and REVENUESPLIT_EXT.APPLICATIONCODE = 11
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null)
and FINANCIALTRANSACTION.ID = @ID
) then 1 else 0 end;
if exists(select 1 from dbo.BANKACCOUNTDEPOSITPAYMENT where ID = @ID and DEPOSITID is not null)
set @LINKEDTODEPOSIT = 1;
else
set @LINKEDTODEPOSIT = 0;