USP_PLANNEDGIFTRECONCILE_SAVE
This procedure populates the data into Planned Gift Reconcile table.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PLANNEDGIFTID | uniqueidentifier | IN | |
@REVENUEID | uniqueidentifier | IN | |
@PLANNEDGIFTADDITIONID | uniqueidentifier | IN | |
@OLDAMOUNT | money | IN | |
@NEWAMOUNT | money | IN | |
@OLDDATE | datetime | IN | |
@NEWDATE | datetime | IN | |
@DESIGNATIONCHANGED | bit | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN | |
@OLDTRANSACTIONAMOUNT | money | IN | |
@NEWTRANSACTIONAMOUNT | money | IN | |
@OLDDONOTRECEIPT | bit | IN | |
@DONOTRECEIPT | bit | IN | |
@OLDRECEIPTAMOUNT | money | IN | |
@RECEIPTAMOUNT | money | IN | |
@BASECURRENCYID | uniqueidentifier | IN | |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_PLANNEDGIFTRECONCILE_SAVE
(
@PLANNEDGIFTID uniqueidentifier,
@REVENUEID uniqueidentifier,
@PLANNEDGIFTADDITIONID uniqueidentifier,
@OLDAMOUNT money,
@NEWAMOUNT money,
@OLDDATE datetime,
@NEWDATE datetime,
@DESIGNATIONCHANGED bit,
@CHANGEAGENTID uniqueidentifier,
@CHANGEDATE datetime,
@OLDTRANSACTIONAMOUNT money,
@NEWTRANSACTIONAMOUNT money,
@OLDDONOTRECEIPT bit = null,
@DONOTRECEIPT bit = null,
@OLDRECEIPTAMOUNT money = null,
@RECEIPTAMOUNT money = null,
@BASECURRENCYID uniqueidentifier = null,
@TRANSACTIONCURRENCYID uniqueidentifier = null
)
as
begin
set nocount on;
begin try
if @OLDTRANSACTIONAMOUNT <> @NEWTRANSACTIONAMOUNT
or @OLDDONOTRECEIPT <> @DONOTRECEIPT
or @OLDDATE <> @NEWDATE
or @OLDRECEIPTAMOUNT <> @RECEIPTAMOUNT
or @DESIGNATIONCHANGED = 1
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
-- Backwards compatibility
if @OLDDONOTRECEIPT is null
or @DONOTRECEIPT is null
or @OLDRECEIPTAMOUNT is null
or @RECEIPTAMOUNT is null
or @BASECURRENCYID is null
or @TRANSACTIONCURRENCYID is null
begin
select
@OLDDONOTRECEIPT = coalesce(@OLDDONOTRECEIPT, DONOTRECEIPT),
@DONOTRECEIPT = coalesce(@DONOTRECEIPT, DONOTRECEIPT),
@OLDRECEIPTAMOUNT = coalesce(@OLDRECEIPTAMOUNT, RECEIPTAMOUNT),
@RECEIPTAMOUNT = coalesce(@RECEIPTAMOUNT, RECEIPTAMOUNT),
@BASECURRENCYID = coalesce(@BASECURRENCYID, BASECURRENCYID),
@TRANSACTIONCURRENCYID = coalesce(@TRANSACTIONCURRENCYID, TRANSACTIONCURRENCYID)
from dbo.REVENUE
where ID = @REVENUEID
end
declare @CURRENTDATE datetime = getdate();
insert into dbo.PLANNEDGIFTRECONCILE(
ID,
PLANNEDGIFTID,
REVENUEID,
PLANNEDGIFTADDITIONID,
OLDAMOUNT,
NEWAMOUNT,
OLDDATE,
NEWDATE,
DESIGNATIONCHANGED,
COMPLETED,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
OLDDONOTRECEIPT,
DONOTRECEIPT,
OLDRECEIPTAMOUNT,
RECEIPTAMOUNT,
TRANSACTIONOLDAMOUNT,
TRANSACTIONNEWAMOUNT,
BASECURRENCYID,
TRANSACTIONCURRENCYID
)
values (
newid(),
@PLANNEDGIFTID,
@REVENUEID,
@PLANNEDGIFTADDITIONID,
@OLDAMOUNT,
@NEWAMOUNT,
@OLDDATE,
@NEWDATE,
@DESIGNATIONCHANGED,
0,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@OLDDONOTRECEIPT,
@DONOTRECEIPT,
@OLDRECEIPTAMOUNT,
@RECEIPTAMOUNT,
@OLDTRANSACTIONAMOUNT,
@NEWTRANSACTIONAMOUNT,
@BASECURRENCYID,
@TRANSACTIONCURRENCYID
)
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end