USP_RECURRINGGIFT_ADDMISSINGINSTALLMENTS
Bring a recurring gift's installments up to date, including the next expected payment.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CREATIONDATE | datetime | IN | |
@AMOUNT | money | IN | |
@LASTINSTALLMENTDATE | date | INOUT | |
@BASECURRENCYID | uniqueidentifier | IN | |
@ORGANIZATIONAMOUNT | money | IN | |
@ORGANIZATIONEXCHANGERATEID | uniqueidentifier | IN | |
@TRANSACTIONAMOUNT | money | IN | |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | |
@BASEEXCHANGERATEID | uniqueidentifier | IN | |
@ASOFDATE | date | IN |
Definition
Copy
CREATE procedure dbo.USP_RECURRINGGIFT_ADDMISSINGINSTALLMENTS (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@CREATIONDATE datetime,
@AMOUNT money,
@LASTINSTALLMENTDATE date = null output,
@BASECURRENCYID uniqueidentifier = null,
@ORGANIZATIONAMOUNT money = null,
@ORGANIZATIONEXCHANGERATEID uniqueidentifier = null,
@TRANSACTIONAMOUNT money = null,
@TRANSACTIONCURRENCYID uniqueidentifier = null,
@BASEEXCHANGERATEID uniqueidentifier = null,
@ASOFDATE date = null
)
as
begin
declare @DATES table (DATE date)
insert into @DATES
select DATE
from dbo.UFN_RECURRINGGIFT_GETMISSINGINSTALLMENTS_ASOFDATE(@ID, @ASOFDATE);
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
-- insert any missing installments and the next installment
insert into dbo.RECURRINGGIFTINSTALLMENT (
ID,
REVENUEID,
AMOUNT,
DATE,
BASECURRENCYID,
ORGANIZATIONAMOUNT,
ORGANIZATIONEXCHANGERATEID,
TRANSACTIONAMOUNT,
TRANSACTIONCURRENCYID,
BASEEXCHANGERATEID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select
newid(),
@ID,
@AMOUNT,
DATE,
coalesce(@BASECURRENCYID,@ORGANIZATIONCURRENCYID),
coalesce(@ORGANIZATIONAMOUNT,@AMOUNT),
@ORGANIZATIONEXCHANGERATEID,
coalesce(@TRANSACTIONAMOUNT,@AMOUNT),
coalesce(@TRANSACTIONCURRENCYID,@ORGANIZATIONCURRENCYID),
@BASEEXCHANGERATEID,
@CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE
from @DATES;
select @LASTINSTALLMENTDATE = max(DATE) from dbo.RECURRINGGIFTINSTALLMENT where REVENUEID = @ID;
end