USP_RECONCILEMATCHINGGIFT_GENERATEANDPAYCLAIM
Creates and pays a matching gift claim when reconciling matching gift claims.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@INSTALLMENTSPLITPAYMENTID | uniqueidentifier | INOUT | |
@REVENUESPLITID | uniqueidentifier | IN | |
@APPLICATIONID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN | |
@APPLICATIONDESIGNATIONID | uniqueidentifier | IN | |
@APPLIEDAMOUNT | money | IN | |
@MGCLAIMINSTALLMENTSPLITID | uniqueidentifier | IN | |
@DATE | datetime | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CREATIONDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_RECONCILEMATCHINGGIFT_GENERATEANDPAYCLAIM
(
@INSTALLMENTSPLITPAYMENTID uniqueidentifier output,
@REVENUESPLITID uniqueidentifier,
@APPLICATIONID uniqueidentifier,
@CONSTITUENTID uniqueidentifier,
@APPLICATIONDESIGNATIONID uniqueidentifier,
@APPLIEDAMOUNT money,
@MGCLAIMINSTALLMENTSPLITID uniqueidentifier,
@DATE datetime,
@CHANGEAGENTID uniqueidentifier,
@CREATIONDATE datetime
)
as
set nocount on
declare @MGMAILINGID uniqueidentifier;
declare @MGAPPEALID uniqueidentifier;
declare @MGSOURCECODE nvarchar(50);
declare @MGSOURCEREVENUEID uniqueidentifier;
select
@MGMAILINGID = REVENUE.MAILINGID,
@MGAPPEALID = REVENUE.APPEALID,
@MGSOURCECODE = REVENUE.SOURCECODE,
@MGSOURCEREVENUEID = REVENUE.ID
from dbo.REVENUESPLIT
inner join dbo.REVENUE on REVENUESPLIT.REVENUEID = REVENUE.ID
where REVENUESPLIT.ID = @APPLICATIONID;
declare @TRANSACTIONCURRENCYID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
declare @BASEEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
select
@TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID,
@BASECURRENCYID = BASECURRENCYID,
@BASEEXCHANGERATEID = BASEEXCHANGERATEID,
@ORGANIZATIONEXCHANGERATEID = ORGANIZATIONEXCHANGERATEID
from dbo.REVENUESPLIT
where ID = @REVENUESPLITID;
declare @BASEAMOUNT money;
declare @ORGANIZATIONAMOUNT money;
exec dbo.USP_CURRENCY_GETCURRENCYVALUES
@AMOUNT = @APPLIEDAMOUNT,
@DATE = null,
@BASECURRENCYID = @BASECURRENCYID,
@BASEEXCHANGERATEID = @BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID = @TRANSACTIONCURRENCYID,
@BASEAMOUNT = @BASEAMOUNT output,
@ORGANIZATIONAMOUNT = @ORGANIZATIONAMOUNT output,
@ORGANIZATIONEXCHANGERATEID = @ORGANIZATIONEXCHANGERATEID
declare @MGREVENUEID uniqueidentifier;
set @MGREVENUEID = newid();
insert into dbo.REVENUE (ID, CONSTITUENTID, DATE, DONOTPOST, POSTDATE, DONOTRECEIPT, TRANSACTIONAMOUNT, TRANSACTIONCURRENCYID, AMOUNT, BASECURRENCYID, BASEEXCHANGERATEID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID, TRANSACTIONTYPECODE, RECEIPTAMOUNT, MAILINGID, APPEALID, SOURCECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@MGREVENUEID, @CONSTITUENTID, @DATE, 1, null, 1, @APPLIEDAMOUNT, @TRANSACTIONCURRENCYID, @BASEAMOUNT, @BASECURRENCYID, @BASEEXCHANGERATEID, @ORGANIZATIONAMOUNT, @ORGANIZATIONEXCHANGERATEID, 3, 0, @MGMAILINGID, @MGAPPEALID, @MGSOURCECODE, @CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE);
--Add origination source
exec dbo.USP_REVENUE_ADDORIGIN @MGREVENUEID, @CONSTITUENTID, @CHANGEAGENTID, @CREATIONDATE;
insert into dbo.REVENUESPLIT (REVENUEID, DESIGNATIONID, TRANSACTIONAMOUNT, TRANSACTIONCURRENCYID, AMOUNT, BASECURRENCYID, BASEEXCHANGERATEID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@MGREVENUEID, @APPLICATIONDESIGNATIONID, @APPLIEDAMOUNT, @TRANSACTIONCURRENCYID, @BASEAMOUNT, @BASECURRENCYID, @BASEEXCHANGERATEID, @ORGANIZATIONAMOUNT, @ORGANIZATIONEXCHANGERATEID, @CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE);
insert into dbo.REVENUEPAYMENTMETHOD (REVENUEID, AMOUNT, PAYMENTMETHODCODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@MGREVENUEID, @BASEAMOUNT, 9, @CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE);
insert into dbo.REVENUEMATCHINGGIFT (ID, MATCHINGGIFTCONDITIONID, MGSOURCEREVENUEID, RELATIONSHIPID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@MGREVENUEID, null, @MGSOURCEREVENUEID, null, @CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE);
declare @FREQUENCYCODE tinyint;
declare @NUMBEROFINSTALLMENTS int;
declare @INSTALLMENTSEQUENCE int;
set @FREQUENCYCODE = 5; --Single Installment
set @NUMBEROFINSTALLMENTS = 1;
set @INSTALLMENTSEQUENCE = 1;
insert into dbo.REVENUESCHEDULE (ID, STARTDATE, FREQUENCYCODE, NUMBEROFINSTALLMENTS, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@MGREVENUEID, @DATE, @FREQUENCYCODE, @NUMBEROFINSTALLMENTS, @CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE);
declare @INSTALLMENTID uniqueidentifier;
set @INSTALLMENTID = newid();
insert into dbo.INSTALLMENT (ID, REVENUEID, TRANSACTIONAMOUNT, TRANSACTIONCURRENCYID, AMOUNT, BASECURRENCYID, BASEEXCHANGERATEID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID, DATE, SEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@INSTALLMENTID, @MGREVENUEID, @APPLIEDAMOUNT, @TRANSACTIONCURRENCYID, @BASEAMOUNT, @BASECURRENCYID, @BASEEXCHANGERATEID, @ORGANIZATIONAMOUNT, @ORGANIZATIONEXCHANGERATEID, @DATE, @INSTALLMENTSEQUENCE, @CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE);
set @MGCLAIMINSTALLMENTSPLITID = newid();
insert into dbo.INSTALLMENTSPLIT (ID, INSTALLMENTID, PLEDGEID, DESIGNATIONID, TRANSACTIONAMOUNT, TRANSACTIONCURRENCYID, AMOUNT, BASECURRENCYID, BASEEXCHANGERATEID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@MGCLAIMINSTALLMENTSPLITID, @INSTALLMENTID, @MGREVENUEID, @APPLICATIONDESIGNATIONID, @APPLIEDAMOUNT, @TRANSACTIONCURRENCYID, @BASEAMOUNT, @BASECURRENCYID, @BASEEXCHANGERATEID, @ORGANIZATIONAMOUNT, @ORGANIZATIONEXCHANGERATEID, @CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE);
set @INSTALLMENTSPLITPAYMENTID = newid();
insert into dbo.INSTALLMENTSPLITPAYMENT (ID, PAYMENTID, PLEDGEID, INSTALLMENTSPLITID, AMOUNT, APPLICATIONCURRENCYID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@INSTALLMENTSPLITPAYMENTID, @REVENUESPLITID, @MGREVENUEID, @MGCLAIMINSTALLMENTSPLITID, @APPLIEDAMOUNT, @TRANSACTIONCURRENCYID, @CHANGEAGENTID, @CHANGEAGENTID, @CREATIONDATE, @CREATIONDATE);