USP_DATAFORMTEMPLATE_EDIT_REVENUEUPDATEBATCHROW_9
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@REVENUEID | uniqueidentifier | IN | |
@REVENUESPLITID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN | |
@TYPECODE | tinyint | IN | |
@DATE | datetime | IN | |
@AMOUNT | money | IN | |
@PAYMENTMETHODCODE | tinyint | IN | |
@DONOTACKNOWLEDGE | bit | IN | |
@CHECKDATE | UDT_FUZZYDATE | IN | |
@CHECKNUMBER | nvarchar(20) | IN | |
@REFERENCEDATE | UDT_FUZZYDATE | IN | |
@REFERENCENUMBER | nvarchar(20) | IN | |
@CARDHOLDERNAME | nvarchar(255) | IN | |
@CREDITCARDNUMBER | nvarchar(20) | IN | |
@CREDITTYPECODEID | uniqueidentifier | IN | |
@AUTHORIZATIONCODE | nvarchar(20) | IN | |
@EXPIRESON | UDT_FUZZYDATE | IN | |
@ISSUER | nvarchar(100) | IN | |
@NUMBEROFUNITS | decimal(20, 3) | IN | |
@SYMBOL | nvarchar(25) | IN | |
@MEDIANPRICE | decimal(19, 4) | IN | |
@PROPERTYSUBTYPECODEID | uniqueidentifier | IN | |
@GIFTINKINDSUBTYPECODEID | uniqueidentifier | IN | |
@RECEIPTAMOUNT | money | IN | |
@DONOTRECEIPT | bit | IN | |
@CONSTITUENTACCOUNTID | uniqueidentifier | IN | |
@SPLITS | xml | IN | |
@SINGLEDESIGNATIONID | uniqueidentifier | IN | |
@REVENUESTREAMS | xml | IN | |
@APPLYTOSHOWNFORCONSTITUENTID | uniqueidentifier | IN | |
@SEQUENCE | int | IN | |
@INSTALLMENTFREQUENCYCODE | tinyint | IN | |
@INSTALLMENTSTARTDATE | datetime | IN | |
@INSTALLMENTENDDATE | datetime | IN | |
@NUMBEROFINSTALLMENTS | int | IN | |
@SOLICITORS | xml | IN | |
@BENEFITS | xml | IN | |
@FINDERNUMBER | bigint | IN | |
@SOURCECODE | nvarchar(60) | IN | |
@APPEALID | uniqueidentifier | IN | |
@FINDERNUMBERISVALID | bit | IN | |
@USERMODIFIEDBENEFITS | bit | IN | |
@BENEFITSWAIVED | bit | IN | |
@POSTDATE | datetime | IN | |
@POSTSTATUSCODE | tinyint | IN | |
@SENDPLEDGEREMINDER | bit | IN | |
@SALEDATE | datetime | IN | |
@SALEAMOUNT | money | IN | |
@BROKERFEE | money | IN | |
@SALEPOSTSTATUSCODE | tinyint | IN | |
@SALEPOSTDATE | datetime | IN | |
@NOTETITLE | nvarchar(50) | IN | |
@NOTEAUTHORID | uniqueidentifier | IN | |
@NOTEDATEENTERED | datetime | IN | |
@NOTETYPECODEID | uniqueidentifier | IN | |
@NOTETEXTNOTE | nvarchar(max) | IN | |
@GIVENANONYMOUSLY | bit | IN | |
@GIVENANONYMOUSLYDEFAULTEDFORCONSTITUENTID | uniqueidentifier | IN | |
@USERMODIFIEDRECEIPTAMOUNT | bit | IN | |
@PLEDGESUBTYPEID | uniqueidentifier | IN | |
@REJECTIONCODEID | uniqueidentifier | IN | |
@CONSTITUENTLOOKUPID | uniqueidentifier | IN | |
@MAILINGID | uniqueidentifier | IN | |
@CHANNELCODEID | uniqueidentifier | IN | |
@INSTALLMENTS | xml | IN | |
@PAYMENTFORPLEDGEAMOUNT | money | IN | |
@RECOGNITIONS | xml | IN | |
@DIDRECOGNITIONSDEFAULT | bit | IN | |
@TRIBUTES | xml | IN | |
@UNAPPLIEDMATCHINGGIFTSPLITS | xml | IN | |
@UNAPPLIEDMATCHINGGIFTAMOUNT | money | IN | |
@RECEIPTTYPECODE | tinyint | IN | |
@NEWCONSTITUENT | xml | IN | |
@OTHERPAYMENTMETHODCODEID | uniqueidentifier | IN | |
@LETTERCODEID | uniqueidentifier | IN | |
@ACKNOWLEDGEDATE | datetime | IN | |
@REFERENCE | nvarchar(255) | IN | |
@CATEGORYCODEID | uniqueidentifier | IN | |
@ACKNOWLEDGEEID | uniqueidentifier | IN | |
@APPLICATIONINFO | nvarchar(60) | IN | |
@OTHERTYPECODEID | uniqueidentifier | IN | |
@OPPORTUNITYID | uniqueidentifier | IN | |
@DIRECTDEBITRESULTCODE | nvarchar(10) | IN | |
@LOWPRICE | decimal(19, 4) | IN | |
@HIGHPRICE | decimal(19, 4) | IN | |
@NUMBEROFUNITSSOLD | decimal(20, 3) | IN | |
@USERMODIFIEDNUMBEROFUNITSSOLD | bit | IN | |
@CREDITCARDTOKEN | uniqueidentifier | IN | |
@REJECTIONMESSAGE | nvarchar(250) | IN | |
@PARTIALCREDITCARDNUMBER | nvarchar(4) | IN | |
@TAXDECLARATIONS | xml | IN | |
@STANDINGORDERCONSTITUENTACCOUNTID | uniqueidentifier | IN | |
@STANDINGORDERREFERENCENUMBER | nvarchar(20) | IN | |
@STANDINGORDERREFERENCEDATE | UDT_FUZZYDATE | IN | |
@STANDINGORDERSETUP | bit | IN | |
@STANDINGORDERSETUPDATE | datetime | IN | |
@TRANSACTIONID | uniqueidentifier | IN | |
@ISTRANSIENTCARD | bit | IN | |
@DECLINESGIFTAID | bit | IN | |
@DDISOURCECODEID | uniqueidentifier | IN | |
@DDISOURCEDATE | date | IN | |
@ISCOVENANT | bit | IN | |
@AMOUNTFORVAT | money | IN | |
@VATTAXRATEID | uniqueidentifier | IN | |
@VATAMOUNT | money | IN | |
@ADDITIONALAPPLICATIONSSTREAM | xml | IN | |
@REVENUELOOKUPID | nvarchar(100) | IN | |
@APPLICATIONSOLICITORS | xml | IN | |
@APPLICATIONRECOGNITIONS | xml | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@MATCHINGGIFTS | xml | IN | |
@MGGENERATED | bit | IN | |
@MGALTERED | bit | IN | |
@PAYINGPENDINGREVENUEID | uniqueidentifier | IN | |
@GIFTINKINDITEMNAME | nvarchar(100) | IN | |
@GIFTINKINDDISPOSITIONCODE | tinyint | IN | |
@GIFTINKINDNUMBEROFUNITS | int | IN | |
@GIFTINKINDFAIRMARKETVALUE | money | IN | |
@DIRECTDEBITISREJECTED | bit | IN | |
@PERCENTAGEBENEFITS | xml | IN | |
@ISGIFTAIDSPONSORSHIP | bit | IN | |
@LOCKBOXID | uniqueidentifier | IN | |
@LOCKBOXBATCHNUMBER | nvarchar(100) | IN | |
@LOCKBOXBATCHSEQUENCE | int | IN | |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | |
@ISADJUSTMENT | bit | IN | |
@ADJUSTMENTDATE | datetime | IN | |
@ADJUSTMENTPOSTDATE | datetime | IN | |
@ADJUSTMENTREASON | nvarchar(300) | IN | |
@ADJUSTMENTREASONCODEID | uniqueidentifier | IN | |
@ADJUSTMENTPOSTSTATUSCODE | tinyint | IN | |
@REVENUEDEVELOPMENTFUNCTIONCODEID | uniqueidentifier | IN | |
@ORIGINALAPPLICATIONINFO | nvarchar(60) | IN | |
@RELOADRECOGNITION | bit | IN | |
@RELOADSOLICITORS | bit | IN | |
@LETTERS | xml | IN | |
@APPLICATIONBUSINESSUNITS | xml | IN | |
@NOTES | xml | IN | |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | |
@BASECURRENCYID | uniqueidentifier | IN | |
@BASEEXCHANGERATEID | uniqueidentifier | IN | |
@EXCHANGERATE | decimal(20, 8) | IN | |
@GENERATEREFERENCENUMBER | bit | IN | |
@UPDATEMATCHINGGIFTCLAIMS | tinyint | IN | |
@UPDATEGIFTFEES | bit | IN | |
@UPDATETRIBUTES | bit | IN | |
@INSTALLMENTSCHEDULESEEDDATE | datetime | IN | |
@APPLYBYPERCENT | bit | IN | |
@ADJPAYMENT_DATE | datetime | IN | |
@ADJPAYMENT_POSTDATE | datetime | IN | |
@ADJPAYMENT_REASONCODEID | uniqueidentifier | IN | |
@ADJPAYMENT_DETAILS | nvarchar(255) | IN | |
@SALE_LOWPRICE | decimal(19, 4) | IN | |
@SALE_MEDIANPRICE | decimal(19, 4) | IN | |
@SALE_HIGHPRICE | decimal(19, 4) | IN | |
@VENDORID | nvarchar(50) | IN | |
@INSTALLMENTAMOUNT | money | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REVENUEUPDATEBATCHROW_9
(
@ID uniqueidentifier,
@REVENUEID uniqueidentifier,
@REVENUESPLITID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@CONSTITUENTID uniqueidentifier,
@TYPECODE tinyint,
@DATE datetime,
@AMOUNT money,
@PAYMENTMETHODCODE tinyint,
@DONOTACKNOWLEDGE bit,
@CHECKDATE dbo.UDT_FUZZYDATE,
@CHECKNUMBER nvarchar(20),
@REFERENCEDATE dbo.UDT_FUZZYDATE,
@REFERENCENUMBER nvarchar(20),
@CARDHOLDERNAME nvarchar(255),
@CREDITCARDNUMBER nvarchar(20),
@CREDITTYPECODEID uniqueidentifier,
@AUTHORIZATIONCODE nvarchar(20),
@EXPIRESON dbo.UDT_FUZZYDATE,
@ISSUER nvarchar(100),
@NUMBEROFUNITS decimal(20,3),
@SYMBOL nvarchar(25),
@MEDIANPRICE decimal(19,4),
@PROPERTYSUBTYPECODEID uniqueidentifier,
@GIFTINKINDSUBTYPECODEID uniqueidentifier,
@RECEIPTAMOUNT money,
@DONOTRECEIPT bit,
@CONSTITUENTACCOUNTID uniqueidentifier,
@SPLITS xml,
@SINGLEDESIGNATIONID uniqueidentifier,
@REVENUESTREAMS xml,
@APPLYTOSHOWNFORCONSTITUENTID uniqueidentifier,
@SEQUENCE int,
@INSTALLMENTFREQUENCYCODE tinyint,
@INSTALLMENTSTARTDATE datetime,
@INSTALLMENTENDDATE datetime,
@NUMBEROFINSTALLMENTS int,
--Solicitors field is no longer in use (APPLICATIONSOLICITORS is current)
@SOLICITORS xml,
@BENEFITS xml,
@FINDERNUMBER bigint,
@SOURCECODE nvarchar(60),
@APPEALID uniqueidentifier,
@FINDERNUMBERISVALID bit,
@USERMODIFIEDBENEFITS bit,
@BENEFITSWAIVED bit,
@POSTDATE datetime,
@POSTSTATUSCODE tinyint,
@SENDPLEDGEREMINDER bit,
@SALEDATE datetime,
@SALEAMOUNT money,
@BROKERFEE money,
@SALEPOSTSTATUSCODE tinyint,
@SALEPOSTDATE datetime,
@NOTETITLE nvarchar(50),
@NOTEAUTHORID uniqueidentifier,
@NOTEDATEENTERED datetime,
@NOTETYPECODEID uniqueidentifier,
@NOTETEXTNOTE nvarchar(max),
@GIVENANONYMOUSLY bit,
@GIVENANONYMOUSLYDEFAULTEDFORCONSTITUENTID uniqueidentifier,
@USERMODIFIEDRECEIPTAMOUNT bit,
@PLEDGESUBTYPEID uniqueidentifier,
@REJECTIONCODEID uniqueidentifier,
@CONSTITUENTLOOKUPID uniqueidentifier,
@MAILINGID uniqueidentifier,
@CHANNELCODEID uniqueidentifier,
@INSTALLMENTS xml,
@PAYMENTFORPLEDGEAMOUNT money,
--Recognitions field is no longer in use (APPLICATIONRECOGNITIONS is current)
@RECOGNITIONS xml,
@DIDRECOGNITIONSDEFAULT bit,
@TRIBUTES xml,
@UNAPPLIEDMATCHINGGIFTSPLITS xml,
@UNAPPLIEDMATCHINGGIFTAMOUNT money,
@RECEIPTTYPECODE tinyint,
@NEWCONSTITUENT xml,
@OTHERPAYMENTMETHODCODEID uniqueidentifier,
@LETTERCODEID uniqueidentifier,
@ACKNOWLEDGEDATE datetime,
@REFERENCE nvarchar(255),
@CATEGORYCODEID uniqueidentifier,
@ACKNOWLEDGEEID uniqueidentifier,
@APPLICATIONINFO nvarchar(60),
@OTHERTYPECODEID uniqueidentifier,
@OPPORTUNITYID uniqueidentifier,
@DIRECTDEBITRESULTCODE nvarchar(10),
@LOWPRICE decimal(19,4),
@HIGHPRICE decimal(19,4),
@NUMBEROFUNITSSOLD decimal(20,3),
@USERMODIFIEDNUMBEROFUNITSSOLD bit,
@CREDITCARDTOKEN uniqueidentifier,
@REJECTIONMESSAGE nvarchar(250),
-- PARTIALCREDITCARDNUMBER is used to support import and
-- credit card - last 4 digits recurring gifts
@PARTIALCREDITCARDNUMBER nvarchar(4),
@TAXDECLARATIONS xml,
@STANDINGORDERCONSTITUENTACCOUNTID uniqueidentifier,
@STANDINGORDERREFERENCENUMBER nvarchar(20),
@STANDINGORDERREFERENCEDATE dbo.UDT_FUZZYDATE,
@STANDINGORDERSETUP bit,
@STANDINGORDERSETUPDATE datetime,
@TRANSACTIONID uniqueidentifier,
@ISTRANSIENTCARD bit,
@DECLINESGIFTAID bit,
@DDISOURCECODEID uniqueidentifier,
@DDISOURCEDATE date,
@ISCOVENANT bit,
@AMOUNTFORVAT money,
@VATTAXRATEID uniqueidentifier,
@VATAMOUNT money,
@ADDITIONALAPPLICATIONSSTREAM xml,
@REVENUELOOKUPID nvarchar(100),
@APPLICATIONSOLICITORS xml,
@APPLICATIONRECOGNITIONS xml,
@CURRENTAPPUSERID uniqueidentifier = null,
@MATCHINGGIFTS xml,
@MGGENERATED bit,
@MGALTERED bit,
@PAYINGPENDINGREVENUEID uniqueidentifier,
@GIFTINKINDITEMNAME nvarchar(100),
@GIFTINKINDDISPOSITIONCODE tinyint,
@GIFTINKINDNUMBEROFUNITS int,
@GIFTINKINDFAIRMARKETVALUE money,
@DIRECTDEBITISREJECTED bit,
@PERCENTAGEBENEFITS xml,
@ISGIFTAIDSPONSORSHIP bit,
@LOCKBOXID uniqueidentifier,
@LOCKBOXBATCHNUMBER nvarchar(100),
@LOCKBOXBATCHSEQUENCE int,
@PDACCOUNTSYSTEMID uniqueidentifier,
@ISADJUSTMENT bit,
@ADJUSTMENTDATE datetime ,
@ADJUSTMENTPOSTDATE datetime,
@ADJUSTMENTREASON nvarchar(300),
@ADJUSTMENTREASONCODEID uniqueidentifier,
@ADJUSTMENTPOSTSTATUSCODE tinyint,
@REVENUEDEVELOPMENTFUNCTIONCODEID uniqueidentifier,
@ORIGINALAPPLICATIONINFO nvarchar(60),
@RELOADRECOGNITION bit,
@RELOADSOLICITORS bit,
@LETTERS xml,
@APPLICATIONBUSINESSUNITS xml,
@NOTES xml,
@TRANSACTIONCURRENCYID uniqueidentifier,
@BASECURRENCYID uniqueidentifier,
@BASEEXCHANGERATEID uniqueidentifier,
@EXCHANGERATE decimal(20,8),
@GENERATEREFERENCENUMBER bit,
@UPDATEMATCHINGGIFTCLAIMS tinyint,
@UPDATEGIFTFEES bit,
@UPDATETRIBUTES bit,
@INSTALLMENTSCHEDULESEEDDATE datetime,
@APPLYBYPERCENT bit,
@ADJPAYMENT_DATE datetime,
@ADJPAYMENT_POSTDATE datetime,
@ADJPAYMENT_REASONCODEID uniqueidentifier,
@ADJPAYMENT_DETAILS nvarchar(255),
@SALE_LOWPRICE decimal(19,4),
@SALE_MEDIANPRICE decimal(19,4),
@SALE_HIGHPRICE decimal(19,4),
@VENDORID nvarchar(50),
@INSTALLMENTAMOUNT money
)
as
set nocount on;
declare @CURRENTDATE datetime;
declare @BATCHID uniqueidentifier;
if @ID is null
set @ID = NewID()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @CURRENTDATE = getdate()
declare @contextCache varbinary(128);
set @contextCache = CONTEXT_INFO();
if not @CHANGEAGENTID is null
set CONTEXT_INFO @CHANGEAGENTID;
begin try
if @TYPECODE = 0 -- payment
begin
if @PAYMENTMETHODCODE = 6 --Gift-in-kind
begin
if @GIFTINKINDITEMNAME is null or @GIFTINKINDITEMNAME = ''
raiserror('BBERR_GIFTINKINDITEMNAMEREQUIRED', 13, 1)
if @GIFTINKINDDISPOSITIONCODE is null
raiserror('BBERR_GIFTINKINDDISPOSITIONCODEREQUIRED', 13, 1)
if @GIFTINKINDNUMBEROFUNITS is null
raiserror('BBERR_GIFTINKINDNUMBEROFUNITSREQUIRED', 13, 1)
if @GIFTINKINDFAIRMARKETVALUE is null
raiserror('BBERR_GIFTINKINDFAIRMARKETVALUEREQUIRED', 13, 1)
if @GIFTINKINDNUMBEROFUNITS < 0
raiserror('BBERR_GIFTINKINDNUMBEROFUNITSNEGATIVE', 13, 1)
if @GIFTINKINDFAIRMARKETVALUE < 0
raiserror('BBERR_GIFTINKINDFAIRMARKETVALUENEGATIVE', 13, 1)
end
end
if @PAYMENTMETHODCODE = 11 --Standing order
begin
if @GENERATEREFERENCENUMBER is null
select
@STANDINGORDERREFERENCENUMBER = '',
@GENERATEREFERENCENUMBER = 0
if @GENERATEREFERENCENUMBER = 1
select
@STANDINGORDERREFERENCENUMBER = ''
set @CONSTITUENTACCOUNTID = @STANDINGORDERCONSTITUENTACCOUNTID;
--if @CONSTITUENTACCOUNTID is null
--begin
--raiserror('Standing order account must be specified for standing order payments', 13, 1)
--end
set @REFERENCEDATE = @STANDINGORDERREFERENCEDATE;
end
--JamesWill CR269707-031107 2007/03/19 Set default values for any non-nullable fields that might come in as null
if @DONOTACKNOWLEDGE is null
set @DONOTACKNOWLEDGE = 0;
if @CHECKDATE is null
set @CHECKDATE = '00000000';
if @CHECKNUMBER is null
set @CHECKNUMBER = '';
if @REFERENCEDATE is null
set @REFERENCEDATE = '00000000';
if @REFERENCENUMBER is null
set @REFERENCENUMBER = '';
if @CARDHOLDERNAME is null
set @CARDHOLDERNAME = '';
if @CREDITCARDNUMBER is null
set @CREDITCARDNUMBER = '';
if @AUTHORIZATIONCODE is null
set @AUTHORIZATIONCODE = '';
if @EXPIRESON is null
set @EXPIRESON = '00000000';
if @ISSUER is null
set @ISSUER = '';
if @NUMBEROFUNITS is null
set @NUMBEROFUNITS = 0;
if @NUMBEROFUNITSSOLD is null
set @NUMBEROFUNITSSOLD = 0;
if @USERMODIFIEDNUMBEROFUNITSSOLD is null
set @USERMODIFIEDNUMBEROFUNITSSOLD = 0;
if @SYMBOL is null
set @SYMBOL = '';
if @MEDIANPRICE is null
set @MEDIANPRICE = 0;
if @LOWPRICE is null
set @LOWPRICE = 0;
if @HIGHPRICE is null
set @HIGHPRICE = 0;
if @RECEIPTAMOUNT is null
set @RECEIPTAMOUNT = 0;
if @DONOTRECEIPT is null
set @DONOTRECEIPT = 0;
if @NUMBEROFINSTALLMENTS is null
set @NUMBEROFINSTALLMENTS = 1;
if @SOURCECODE is null
set @SOURCECODE = '';
if @FINDERNUMBERISVALID is null
set @FINDERNUMBERISVALID = 0;
if @USERMODIFIEDBENEFITS is null
set @USERMODIFIEDBENEFITS = 0;
if @BENEFITSWAIVED is null
set @BENEFITSWAIVED = 0;
if @SENDPLEDGEREMINDER is null
set @SENDPLEDGEREMINDER = 1;
if @SALEAMOUNT is null
set @SALEAMOUNT = 0;
if @BROKERFEE is null
set @BROKERFEE = 0;
if @NOTETITLE is null
set @NOTETITLE = '';
if @NOTETEXTNOTE is null
set @NOTETEXTNOTE = '';
if @GIVENANONYMOUSLY is null
set @GIVENANONYMOUSLY = 0;
if @USERMODIFIEDRECEIPTAMOUNT is null
set @USERMODIFIEDRECEIPTAMOUNT = 0;
if @PAYMENTFORPLEDGEAMOUNT is null
set @PAYMENTFORPLEDGEAMOUNT = 0;
if @DIDRECOGNITIONSDEFAULT is null
set @DIDRECOGNITIONSDEFAULT = 0;
if @STANDINGORDERSETUP is null
set @STANDINGORDERSETUP = 0;
if @AMOUNTFORVAT is null
set @AMOUNTFORVAT = 0;
if @VATAMOUNT is null
set @VATAMOUNT = 0;
if @GIFTINKINDITEMNAME is null
set @GIFTINKINDITEMNAME = '';
if @GIFTINKINDDISPOSITIONCODE is null
set @GIFTINKINDDISPOSITIONCODE = 0;
if @GIFTINKINDNUMBEROFUNITS is null
set @GIFTINKINDNUMBEROFUNITS = 0;
if @GIFTINKINDFAIRMARKETVALUE is null
set @GIFTINKINDFAIRMARKETVALUE = 0;
if @TYPECODE <> 0
set @LOCKBOXID = null;
if not @LOCKBOXID is null
if (@LOCKBOXBATCHNUMBER is null) or len(@LOCKBOXBATCHNUMBER)=0 or (@LOCKBOXBATCHSEQUENCE is null)
raiserror('BBERR_LOCKBOXFIELDREQUIRED', 13, 1);
if @LOCKBOXBATCHNUMBER is null or @LOCKBOXID is null
set @LOCKBOXBATCHNUMBER = '';
if @LOCKBOXBATCHSEQUENCE is null or @LOCKBOXID is null
set @LOCKBOXBATCHSEQUENCE = 0;
if @ISADJUSTMENT is null
set @ISADJUSTMENT = 0;
if @ADJUSTMENTPOSTSTATUSCODE is null and (@ISADJUSTMENT <> 1 or @TYPECODE <> 0)
set @ADJUSTMENTPOSTSTATUSCODE = 1;
if @FINDERNUMBER is null
set @FINDERNUMBER = 0;
if cast(@SPLITS as nvarchar(max)) = ''
set @SPLITS = null;
if not @SPLITS is null
set @SINGLEDESIGNATIONID = null;
if not @APPLICATIONINFO is null and len(@APPLICATIONINFO) > 3
set @SINGLEDESIGNATIONID = null;
if @PAYMENTMETHODCODE is null
set @PAYMENTMETHODCODE = 255;
if @UPDATETRIBUTES is null
set @UPDATETRIBUTES = 0;
/* JamesWill CR267402-021907 INSTALLMENTFREQUENCYCODE cannot be null in the database, but it can be null in the defaults */
if @INSTALLMENTFREQUENCYCODE is null or @INSTALLMENTFREQUENCYCODE = 5
begin
-- For Recurring Gifts, default to Monthly. For other types, use Single Installment.
if @TYPECODE = 3
set @INSTALLMENTFREQUENCYCODE = 3;
else
set @INSTALLMENTFREQUENCYCODE = 5;
end
/* JamesWill CR265838-020507 2007/03/07 */
if @POSTSTATUSCODE is null
set @POSTSTATUSCODE = 255;
if @SALEPOSTSTATUSCODE is null
set @SALEPOSTSTATUSCODE = 255;
if @RECEIPTTYPECODE is null
set @RECEIPTTYPECODE = 255;
if @BASECURRENCYID is null
begin
declare @CURRENCYSETID uniqueidentifier
select @CURRENCYSETID = CURRENCYSETID
from dbo.PDACCOUNTSYSTEM
where ID = @PDACCOUNTSYSTEMID
select
@BASECURRENCYID = CURRENCYSET.BASECURRENCYID
from
dbo.CURRENCYSET
where
CURRENCYSET.ID = coalesce(@CURRENCYSETID,dbo.UFN_CURRENCYSET_GETAPPUSERCURRENCYSET(@CURRENTAPPUSERID))
end
if @EXCHANGERATE is null
set @EXCHANGERATE = 0;
if @STANDINGORDERSETUP is null
set @STANDINGORDERSETUP = 0;
if @GENERATEREFERENCENUMBER is null
set @GENERATEREFERENCENUMBER = 1;
--If item is adjustable set ADJUSTMENTPOSTSTATUSCODE AND ADJUSTMENTREASONCODEID to required
if @ISADJUSTMENT = 1
begin
if @ADJUSTMENTDATE is null
raiserror('BBERR_ADJUSTMENTDATEREQUIRED', 13, 1);
if @ADJUSTMENTPOSTDATE is null and @ADJUSTMENTPOSTSTATUSCODE <> 2
raiserror('BBERR_ADJUSTMENTPOSTDATEREQUIRED', 13, 1);
if @ADJUSTMENTREASONCODEID is null
raiserror('BBERR_ADJUSTMENTREASONCODEIDREQUIRED', 13, 1);
if @ADJUSTMENTPOSTSTATUSCODE is null and @TYPECODE = 0
raiserror('BBERR_ADJUSTMENTPOSTSTATUSCODEREQUIRED', 13, 1);
end
/* Lookup and set all possible marketing data (via output params) from the data that was specified. */
select
@BATCHID = [BATCHID]
from
dbo.[BATCHREVENUE]
where
[ID] = @ID;
declare @LOOKUPSINGLEDESIGNATION bit = (case when @SINGLEDESIGNATIONID is null and @SPLITS is null and @REVENUESTREAMS is null and @ADDITIONALAPPLICATIONSSTREAM is null then 1 else 0 end);
exec dbo.[USP_REVENUEBATCH_GETMARKETINGDATA]
@FINDERNUMBER = @FINDERNUMBER,
@LOOKUPSINGLEDESIGNATION = @LOOKUPSINGLEDESIGNATION,
@CHANGEAGENTID = @CHANGEAGENTID,
@CURRENTAPPUSERID = @CURRENTAPPUSERID,
@SOURCECODE = @SOURCECODE output,
@MAILINGID = @MAILINGID output,
@APPEALID = @APPEALID output,
@CONSTITUENTID = @CONSTITUENTID output,
@FINDERNUMBERISVALID = @FINDERNUMBERISVALID output,
@SINGLEDESIGNATIONID = @SINGLEDESIGNATIONID output,
@BATCHID = @BATCHID;
declare @CREDITCARDID uniqueidentifier
if @PAYMENTMETHODCODE = 2
begin try
exec dbo.USP_CREDITCARD_SAVE
@ID = @CREDITCARDID output,
@CREDITCARDTOKEN = @CREDITCARDTOKEN,
@CARDHOLDERNAME = @CARDHOLDERNAME,
@CREDITCARDPARTIALNUMBER = @CREDITCARDNUMBER,
@CREDITTYPECODEID = @CREDITTYPECODEID,
@EXPIRESON = @EXPIRESON,
@CHANGEAGENTID = @CHANGEAGENTID,
@CURRENTDATE = @CURRENTDATE,
@ISTRANSIENT = @ISTRANSIENTCARD;
end try
begin catch
if (@CREDITCARDTOKEN is null or len(coalesce(@CREDITCARDNUMBER, '')) < 4)
raiserror('BBERR_CREDITCARDFIELDSREQUIRED', 13, 1);
if coalesce(@EXPIRESON, '00000000') = '00000000'
raiserror('BBERR_EXPIRESONFIELDSREQUIRED', 13, 1);
if len(coalesce(@CARDHOLDERNAME, '')) = 0
raiserror('BBERR_CARDHOLDERFIELDSREQUIRED', 13, 1);
end catch
-- if this is a single split payment and the user changes it
declare @REVENUESPLITID1 uniqueidentifier;
set @REVENUESPLITID1 = @REVENUESPLITID
declare @APPLICATIONINFO1 nvarchar(60);
if not @ORIGINALAPPLICATIONINFO is null
begin
if len(@APPLICATIONINFO) > 3
begin
set @APPLICATIONINFO1 = substring(@APPLICATIONINFO, 1, 36)
end
else
begin
set @APPLICATIONINFO1 = @APPLICATIONINFO
end
if @APPLICATIONINFO1 <> @ORIGINALAPPLICATIONINFO
set @REVENUESPLITID = null
end
--Clear the credit card fields before inserting them into the batch table if the payment method is credit card (2)
--They are saved above in that scenario and they only need to be saved to the BATCHREVENUE table if the payment method is 98 - Credit card - last 4 digits only
if @PAYMENTMETHODCODE = 2
begin
set @CARDHOLDERNAME = '';
set @CREDITTYPECODEID = null;
set @EXPIRESON = '00000000';
end
update dbo.BATCHREVENUE
set REVENUEID = @REVENUEID,
REVENUESPLITID = @REVENUESPLITID,
CONSTITUENTID = @CONSTITUENTID,
TYPECODE = @TYPECODE,
DATE = @DATE,
PAYMENTMETHODCODE = @PAYMENTMETHODCODE,
DONOTACKNOWLEDGE = @DONOTACKNOWLEDGE,
CHECKDATE = @CHECKDATE,
CHECKNUMBER = @CHECKNUMBER,
REFERENCEDATE = @REFERENCEDATE,
REFERENCENUMBER = @REFERENCENUMBER,
CREDITCARDID = @CREDITCARDID,
AUTHORIZATIONCODE = @AUTHORIZATIONCODE,
CONSTITUENTACCOUNTID = @CONSTITUENTACCOUNTID,
AMOUNT = @AMOUNT,
RECEIPTAMOUNT = @RECEIPTAMOUNT,
DONOTRECEIPT = @DONOTRECEIPT,
SEQUENCE = @SEQUENCE,
INSTALLMENTFREQUENCYCODE = @INSTALLMENTFREQUENCYCODE,
INSTALLMENTSTARTDATE = @INSTALLMENTSTARTDATE,
INSTALLMENTENDDATE = @INSTALLMENTENDDATE,
NUMBEROFINSTALLMENTS = @NUMBEROFINSTALLMENTS,
APPLYTOSHOWNFORCONSTITUENTID = @APPLYTOSHOWNFORCONSTITUENTID,
FINDERNUMBER = @FINDERNUMBER,
SOURCECODE = @SOURCECODE,
APPEALID = @APPEALID,
FINDERNUMBERISVALID = @FINDERNUMBERISVALID,
USERMODIFIEDBENEFITS = @USERMODIFIEDBENEFITS,
BENEFITSWAIVED = @BENEFITSWAIVED,
POSTDATE = @POSTDATE,
POSTSTATUSCODE = @POSTSTATUSCODE,
SENDPLEDGEREMINDER = @SENDPLEDGEREMINDER,
SALEDATE = @SALEDATE,
SALEAMOUNT = @SALEAMOUNT,
BROKERFEE = @BROKERFEE,
SALEPOSTSTATUSCODE = @SALEPOSTSTATUSCODE,
SALEPOSTDATE = @SALEPOSTDATE,
ISSUER = @ISSUER,
NUMBEROFUNITS = @NUMBEROFUNITS,
SYMBOL = @SYMBOL,
MEDIANPRICE = @MEDIANPRICE,
GIFTINKINDSUBTYPECODEID = @GIFTINKINDSUBTYPECODEID,
PROPERTYSUBTYPECODEID = @PROPERTYSUBTYPECODEID,
NOTETITLE = @NOTETITLE,
NOTEAUTHORID = @NOTEAUTHORID,
NOTEDATEENTERED = @NOTEDATEENTERED,
NOTETYPECODEID = @NOTETYPECODEID,
NOTETEXTNOTE = @NOTETEXTNOTE,
GIVENANONYMOUSLY = @GIVENANONYMOUSLY,
GIVENANONYMOUSLYDEFAULTEDFORCONSTITUENTID = @GIVENANONYMOUSLYDEFAULTEDFORCONSTITUENTID,
USERMODIFIEDRECEIPTAMOUNT = @USERMODIFIEDRECEIPTAMOUNT,
PLEDGESUBTYPEID = @PLEDGESUBTYPEID,
REJECTIONMESSAGE = @REJECTIONMESSAGE,
MAILINGID = @MAILINGID,
CHANNELCODEID = @CHANNELCODEID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
PAYMENTFORPLEDGEAMOUNT = @PAYMENTFORPLEDGEAMOUNT,
RECEIPTTYPECODE = @RECEIPTTYPECODE,
OTHERPAYMENTMETHODCODEID = @OTHERPAYMENTMETHODCODEID,
LETTERCODEID = @LETTERCODEID,
ACKNOWLEDGEDATE = @ACKNOWLEDGEDATE,
REFERENCE = @REFERENCE,
GLREVENUECATEGORYMAPPINGID = @CATEGORYCODEID,
ACKNOWLEDGEEID = @ACKNOWLEDGEEID,
OTHERTYPECODEID = @OTHERTYPECODEID,
OPPORTUNITYID = @OPPORTUNITYID,
DIRECTDEBITRESULTCODE = @DIRECTDEBITRESULTCODE,
LOWPRICE = @LOWPRICE,
HIGHPRICE = @HIGHPRICE,
NUMBEROFUNITSSOLD = @NUMBEROFUNITSSOLD,
USERMODIFIEDNUMBEROFUNITSSOLD = @USERMODIFIEDNUMBEROFUNITSSOLD,
STANDINGORDERSETUP = @STANDINGORDERSETUP,
STANDINGORDERSETUPDATE = @STANDINGORDERSETUPDATE,
TRANSACTIONID = @TRANSACTIONID,
DECLINESGIFTAID = coalesce(@DECLINESGIFTAID, 0),
DDISOURCECODEID = @DDISOURCECODEID,
DDISOURCEDATE = @DDISOURCEDATE,
ISCOVENANT = @ISCOVENANT,
AMOUNTFORVAT = @AMOUNTFORVAT,
VATTAXRATEID = @VATTAXRATEID,
VATAMOUNT = @VATAMOUNT,
APPLICATIONINFO = @APPLICATIONINFO,
REVENUELOOKUPID = coalesce(rtrim(ltrim(@REVENUELOOKUPID)),''),
MGGENERATED = @MGGENERATED,
MGALTERED = @MGALTERED,
PAYINGPENDINGREVENUEID = @PAYINGPENDINGREVENUEID,
GIFTINKINDITEMNAME = @GIFTINKINDITEMNAME,
GIFTINKINDDISPOSITIONCODE = @GIFTINKINDDISPOSITIONCODE,
GIFTINKINDNUMBEROFUNITS = @GIFTINKINDNUMBEROFUNITS,
GIFTINKINDFAIRMARKETVALUE = @GIFTINKINDFAIRMARKETVALUE,
DIRECTDEBITISREJECTED = coalesce(@DIRECTDEBITISREJECTED,0),
ISGIFTAIDSPONSORSHIP = coalesce(@ISGIFTAIDSPONSORSHIP, 0),
LOCKBOXID = @LOCKBOXID,
LOCKBOXBATCHNUMBER = @LOCKBOXBATCHNUMBER,
LOCKBOXBATCHSEQUENCE = @LOCKBOXBATCHSEQUENCE,
PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID,
ISADJUSTMENT = @ISADJUSTMENT,
ADJUSTMENTDATE = @ADJUSTMENTDATE ,
ADJUSTMENTPOSTDATE = @ADJUSTMENTPOSTDATE,
ADJUSTMENTREASON = @ADJUSTMENTREASON,
ADJUSTMENTREASONCODEID = @ADJUSTMENTREASONCODEID,
ADJUSTMENTPOSTSTATUSCODE = @ADJUSTMENTPOSTSTATUSCODE,
REVENUEDEVELOPMENTFUNCTIONCODEID = @REVENUEDEVELOPMENTFUNCTIONCODEID,
ORIGINALAPPLICATIONINFO = @ORIGINALAPPLICATIONINFO,
RELOADRECOGNITION = @RELOADRECOGNITION,
RELOADSOLICITORS = @RELOADSOLICITORS,
BASECURRENCYID = @BASECURRENCYID,
TRANSACTIONCURRENCYID = @TRANSACTIONCURRENCYID,
BASEEXCHANGERATEID = @BASEEXCHANGERATEID,
EXCHANGERATE = @EXCHANGERATE,
USESYSTEMGENERATEDREFERENCENUMBER = @GENERATEREFERENCENUMBER,
UPDATEMATCHINGGIFTCLAIMSCODE = @UPDATEMATCHINGGIFTCLAIMS,
UPDATEGIFTFEES = @UPDATEGIFTFEES,
UPDATETRIBUTES = @UPDATETRIBUTES,
INSTALLMENTSCHEDULESEEDDATE = @INSTALLMENTSCHEDULESEEDDATE,
APPLYBYPERCENT=@APPLYBYPERCENT,
ADJPAYMENT_DATE=@ADJPAYMENT_DATE,
ADJPAYMENT_POSTDATE=@ADJPAYMENT_POSTDATE,
ADJPAYMENT_REASONCODEID=@ADJPAYMENT_REASONCODEID,
ADJPAYMENT_DETAILS=@ADJPAYMENT_DETAILS,
SALE_LOWPRICE = @SALE_LOWPRICE,
SALE_MEDIANPRICE = @SALE_MEDIANPRICE,
SALE_HIGHPRICE = @SALE_HIGHPRICE,
VENDORID = isnull(@VENDORID, ''),
INSTALLMENTAMOUNT = @INSTALLMENTAMOUNT,
CARDHOLDERNAME = @CARDHOLDERNAME,
CREDITTYPECODEID = @CREDITTYPECODEID,
CREDITCARDPARTIALNUMBER = @PARTIALCREDITCARDNUMBER,
EXPIRESON= @EXPIRESON,
STANDINGORDERREFERENCENUMBER = @STANDINGORDERREFERENCENUMBER
where ID = @ID
if @SPLITS is not null
begin
exec dbo.USP_REVENUEBATCH_SPLITSWITHCHILDREN_UPDATEFROMXML @ID, @SPLITS, @DATE, @CHANGEAGENTID, @CURRENTDATE;
end
else
delete from dbo.BATCHREVENUESPLIT where BATCHREVENUEID = @ID;
delete from dbo.BATCHREVENUERECOGNITION where BATCHREVENUEID = @ID;
delete from dbo.BATCHREVENUESOLICITOR where BATCHREVENUEID = @ID;
declare @APPLICATIONCODE tinyint;
declare @SINGLEAPPLICATIONID uniqueidentifier;
if @APPLICATIONINFO is not null
if len(@APPLICATIONINFO) > 0
if len(@APPLICATIONINFO) = 3
set @APPLICATIONCODE = cast(substring(@APPLICATIONINFO, 3, 1) as tinyint);
else if len(@APPLICATIONINFO) > 3
set @SINGLEAPPLICATIONID = cast(substring(@APPLICATIONINFO, 1, 36) as uniqueidentifier);
declare @ADDITIONALAPPLICATIONCOUNT int
select @ADDITIONALAPPLICATIONCOUNT = count(*) from @ADDITIONALAPPLICATIONSSTREAM.nodes('/ADDITIONALAPPLICATIONSSTREAM/ITEM') T(c)
--JamesWilliams If this application was generated by the generate payments process, mark it pending
if @SINGLEAPPLICATIONID is not null and @SINGLEAPPLICATIONID <> '00000000-0000-0000-0000-000000000000' and @SINGLEAPPLICATIONID = @PAYINGPENDINGREVENUEID
update dbo.REVENUESCHEDULE
set REVENUESCHEDULE.ISPENDING = 1,
REVENUESCHEDULE.CHANGEDBYID = @CHANGEAGENTID,
REVENUESCHEDULE.DATECHANGED = @CURRENTDATE
where ID = @PAYINGPENDINGREVENUEID;
declare @SPLITCOUNT int;
select @SPLITCOUNT = count(*) from @SPLITS.nodes('/SPLITS/ITEM') T(c)
declare @REVENUESTREAMSCOUNT int;
select @REVENUESTREAMSCOUNT = count(*) from @REVENUESTREAMS.nodes('/REVENUESTREAMS/ITEM') T(c)
-- deal with payment payment application recognitions/solicitors
if @REVENUESTREAMSCOUNT > 0
exec dbo.USP_REVENUEUPDATEBATCH_ADDPAYMENTRECOGNITIONSANDSOLICITORS @ID, @APPLICATIONRECOGNITIONS, @APPLICATIONSOLICITORS, @REVENUESTREAMS, @CHANGEAGENTID, @CURRENTDATE
if @APPLICATIONCODE is not null and @SPLITCOUNT > 1 and @TYPECODE = 0
exec dbo.USP_REVENUEBATCH_ADDRECOGNITIONSANDSOLICITORS @ID, @APPLICATIONRECOGNITIONS, @APPLICATIONSOLICITORS, @SPLITS, @APPLICATIONCODE, NULL, @CHANGEAGENTID, @CURRENTDATE
else if @APPLICATIONCODE is not null and @ADDITIONALAPPLICATIONCOUNT >= 1 and @TYPECODE = 0
exec dbo.USP_REVENUEUPDATEBATCH_ADDRECOGNITIONSANDSOLICITORS @ID, @APPLICATIONRECOGNITIONS, @APPLICATIONSOLICITORS, @ADDITIONALAPPLICATIONSSTREAM, @APPLICATIONCODE, @CHANGEAGENTID, @CURRENTDATE;
else if @APPLICATIONCODE is null and @SINGLEAPPLICATIONID is null and @ADDITIONALAPPLICATIONCOUNT >= 1 and @TYPECODE = 0
exec dbo.USP_REVENUEUPDATEBATCH_ADDRECOGNITIONSANDSOLICITORS @ID, @APPLICATIONRECOGNITIONS, @APPLICATIONSOLICITORS, @ADDITIONALAPPLICATIONSSTREAM, NULL, @CHANGEAGENTID, @CURRENTDATE;
else
exec dbo.USP_REVENUEUPDATEBATCH_ADDRECOGNITIONSANDSOLICITORS @ID, @APPLICATIONRECOGNITIONS, @APPLICATIONSOLICITORS, @SPLITS, 0, @CHANGEAGENTID, @CURRENTDATE;
exec dbo.USP_REVENUEBATCH_ADDITIONALAPPLICATIONWITHCHILDREN_UPDATEFROMXML @ID, @ADDITIONALAPPLICATIONSSTREAM, @DATE, @CHANGEAGENTID
exec dbo.USP_REVENUEBATCH_GETBENEFITS_UPDATEFROMXML @ID, @BENEFITS, @CHANGEAGENTID;
exec dbo.USP_REVENUEBATCH_GETBENEFITSPCT_UPDATEFROMXML @ID, @PERCENTAGEBENEFITS, @CHANGEAGENTID;
exec dbo.USP_REVENUEBATCH_GETUNAPPLIEDMATCHINGGIFTSPLITS_UPDATEFROMXML @ID, @UNAPPLIEDMATCHINGGIFTSPLITS, @CHANGEAGENTID;
exec dbo.USP_REVENUEUPDATEBATCH_GETLETTERS_UPDATEFROMXML @ID, @LETTERS, @CHANGEAGENTID;
exec dbo.USP_REVENUEUPDATEBATCH_GETNOTES_UPDATEFROMXML @ID, @NOTES, @CHANGEAGENTID;
--exec dbo.USP_REVENUEUPDATEBATCH_GETINSTALLMENTS_UPDATEFROMXML @ID, @INSTALLMENTS, @CHANGEAGENTID;
if not @INSTALLMENTS is null
begin
exec dbo.USP_REVENUEUPDATEBATCH_GETINSTALLMENTS_UPDATEFROMXML @ID, @INSTALLMENTS, @CHANGEAGENTID;
declare @BATCHINSTALLMENTID uniqueidentifier;
declare @INSTALLMENTSPLITS xml;
declare INSTALLMENTSPLITS cursor local fast_forward for
select
T.c.value('(ID)[1]','uniqueidentifier') as BATCHINSTALLMENTID,
cast(T.c.query('INSTALLMENTSPLITS') as xml) as INSTALLMENTSPLITS
from @INSTALLMENTS.nodes('/INSTALLMENTS/ITEM') T(c)
open INSTALLMENTSPLITS
fetch next from INSTALLMENTSPLITS into @BATCHINSTALLMENTID, @INSTALLMENTSPLITS
while @@FETCH_STATUS = 0
begin
exec dbo.USP_REVENUEUPDATEBATCH_GETINSTALLMENTSPLITS_UPDATEFROMXML @BATCHINSTALLMENTID, @INSTALLMENTSPLITS, @CHANGEAGENTID;
fetch next from INSTALLMENTSPLITS into @BATCHINSTALLMENTID, @INSTALLMENTSPLITS
end
close INSTALLMENTSPLITS
deallocate INSTALLMENTSPLITS
insert into dbo.BATCHREVENUEINSTALLMENTSPLITPAYMENT
(
ID,
BATCHREVENUEINSTALLMENTSPLITID,
AMOUNT,
PAYMENTID,
DATEADDED,
DATECHANGED,
ADDEDBYID,
CHANGEDBYID
)
select
isnull(T.c.value('(ID)[1]','uniqueidentifier'), NEWID()),
T.c.value('(../../ID)[1]','uniqueidentifier') as BATCHINSTALLMENTSPLITID,
T.c.value('(AMOUNT)[1]','money') as AMOUNT,
T.c.value('(LINEITEMID)[1]','uniqueidentifier') as PAYMENTID,
@CURRENTDATE,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID
from
@INSTALLMENTS.nodes('/INSTALLMENTS/ITEM/INSTALLMENTSPLITS/ITEM/INSTALLMENTSPLITPAYMENTS/ITEM') T(c)
insert into dbo.BATCHREVENUEINSTALLMENTSPLITWRITEOFF
(
ID,
BATCHREVENUEINSTALLMENTSPLITID,
AMOUNT,
WRITEOFFID,
DATEADDED,
DATECHANGED,
ADDEDBYID,
CHANGEDBYID
)
select
isnull(T.c.value('(ID)[1]','uniqueidentifier'), NEWID()),
T.c.value('(../../ID)[1]','uniqueidentifier') as BATCHINSTALLMENTSPLITID,
T.c.value('(AMOUNT)[1]','money') as AMOUNT,
T.c.value('(TRANSACTIONID)[1]','uniqueidentifier') as WRITEOFFID,
@CURRENTDATE,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID
from
@INSTALLMENTS.nodes('/INSTALLMENTS/ITEM/INSTALLMENTSPLITS/ITEM/INSTALLMENTSPLITWRITEOFFS/ITEM') T(c)
end
exec dbo.USP_REVENUEBATCH_GETTRIBUTES_UPDATEFROMXML @ID, @TRIBUTES, @CHANGEAGENTID;
exec dbo.USP_REVENUEBATCH_GETTAXDECLARATIONS_UPDATEFROMXML @ID, @TAXDECLARATIONS, @CHANGEAGENTID;
--JamesWill CR268756-030207 2007/03/02
--Unset the ISPENDING flag for all of the gifts we were previously applying to from a generated transaction
update dbo.REVENUESCHEDULE
set REVENUESCHEDULE.ISPENDING = 0,
REVENUESCHEDULE.CHANGEDBYID = @CHANGEAGENTID,
REVENUESCHEDULE.DATECHANGED = @CURRENTDATE
where REVENUESCHEDULE.ID in (select REVENUEID from dbo.BATCHREVENUEAPPLICATION where BATCHREVENUEID = @ID and APPLIED > 0 and WASGENERATED = 1)
delete from dbo.BATCHREVENUEAPPLICATIONPLEDGE where ID in (select BATCHREVENUEAPPLICATIONPLEDGEID from BATCHREVENUEAPPLICATION where BATCHREVENUEID = @ID);
delete from dbo.BATCHREVENUEAPPLICATIONMEMBERSHIP where ID in (select BATCHREVENUEAPPLICATIONMEMBERSHIPID from BATCHREVENUEAPPLICATION where BATCHREVENUEID = @ID);
delete from BATCHREVENUEAPPLICATION where BATCHREVENUEID = @ID
exec dbo.USP_REVENUEBATCH_REVENUEAPPLICATIONS_ADDFROMXML_2 @ID, @REVENUESTREAMS, @CHANGEAGENTID, @CURRENTDATE, @CURRENTAPPUSERID;
--JamesWill CR268756-030207 2007/03/02
--Set the ISPENDING flag for all gifts that we are currently applying to which were from a generated transaction
update dbo.REVENUESCHEDULE
set REVENUESCHEDULE.ISPENDING = 1,
REVENUESCHEDULE.CHANGEDBYID = @CHANGEAGENTID,
REVENUESCHEDULE.DATECHANGED = @CURRENTDATE
where REVENUESCHEDULE.ID in (select REVENUEID from dbo.BATCHREVENUEAPPLICATION where BATCHREVENUEID = @ID and APPLIED > 0 and WASGENERATED = 1)
exec dbo.USP_REVENUEBATCH_ENHANCEDMATCHINGGIFTSWITHCHILDREN_UPDATEFROMXML @ID, @MATCHINGGIFTS, @CHANGEAGENTID, @CURRENTDATE;
if not @contextCache is null
set CONTEXT_INFO @contextCache;
/* Apply business units */
if @APPLICATIONBUSINESSUNITS is not null
exec dbo.USP_REVENUEBATCH_ADDBUSINESSUNITS @ID, @APPLICATIONBUSINESSUNITS, @TYPECODE
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;