USP_DATAFORMTEMPLATE_ADD_PLEDGE
The save procedure used by the add dataform template "Pledge Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@CONSTITUENTID | uniqueidentifier | IN | Constituent |
@DATE | datetime | IN | Date |
@AMOUNT | money | IN | Amount |
@POSTSTATUSCODE | tinyint | IN | Post status |
@POSTDATE | datetime | IN | Post date |
@SENDPLEDGEREMINDER | bit | IN | Send reminders |
@SPLITS | xml | IN | Designations |
@FREQUENCYCODE | tinyint | IN | Frequency |
@NUMBEROFINSTALLMENTS | int | IN | No. installments |
@STARTDATE | datetime | IN | Starting on |
@INSTALLMENTS | xml | IN | |
@AUTOPAY | bit | IN | Pay installments automatically by: |
@PAYMENTMETHODCODE | tinyint | IN | Payment method |
@CARDHOLDERNAME | nvarchar(255) | IN | Name on card |
@CREDITCARDNUMBER | nvarchar(20) | IN | Card number |
@CREDITTYPECODEID | uniqueidentifier | IN | Card type |
@EXPIRESON | UDT_FUZZYDATE | IN | Expires on |
@REFERENCEDATE | UDT_FUZZYDATE | IN | Reference date |
@REFERENCENUMBER | nvarchar(20) | IN | Reference number |
@CONSTITUENTACCOUNTID | uniqueidentifier | IN | Account |
@FINDERNUMBER | bigint | IN | Finder number |
@SOURCECODE | nvarchar(50) | IN | Source code |
@APPEALID | uniqueidentifier | IN | Appeal |
@BENEFITS | xml | IN | Benefits |
@BENEFITSWAIVED | bit | IN | Benefits waived |
@GIVENANONYMOUSLY | bit | IN | Pledge is anonymous |
@MAILINGID | uniqueidentifier | IN | Effort |
@CHANNELCODEID | uniqueidentifier | IN | Inbound channel |
@DONOTACKNOWLEDGE | bit | IN | Do not acknowledge |
@PLEDGESUBTYPEID | uniqueidentifier | IN | Pledge subtype |
@OPPORTUNITYID | uniqueidentifier | IN | Opportunity |
@REFERENCE | nvarchar(255) | IN | Reference |
@CATEGORYCODEID | uniqueidentifier | IN | Revenue category |
@CREDITCARDTOKEN | uniqueidentifier | IN | Credit card token |
@STANDINGORDERSETUP | bit | IN | Standing order has been setup |
@STANDINGORDERSETUPDATE | datetime | IN | Setup on |
@DDISOURCECODEID | uniqueidentifier | IN | DDI source |
@DDISOURCEDATE | date | IN | DDI source date |
@PERCENTAGEBENEFITS | xml | IN | Benefits |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | Transaction currency |
@BASEEXCHANGERATEID | uniqueidentifier | IN | Exchange rate ID |
@EXCHANGERATE | decimal(20, 8) | IN | Exchange rate |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | Account system |
@GENERATEREFERENCENUMBER | bit | IN | Automatically generate reference number |
@STANDINGORDERREFERENCENUMBER | nvarchar(18) | IN | Reference number |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@EVENTID | uniqueidentifier | IN | Event |
@LOCALCORPID | uniqueidentifier | IN | Local corp |
@BATCHNUMBER | nvarchar(100) | IN | |
@INSTALLMENTAMOUNT | money | IN | |
@INSTALLMENTSPLITSCHEDULEOPTIONCODE | tinyint | IN | |
@SEPAMANDATEID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_PLEDGE
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier,
@CONSTITUENTID uniqueidentifier,
@DATE datetime,
@AMOUNT money,
@POSTSTATUSCODE tinyint = 1,
@POSTDATE datetime = null,
@SENDPLEDGEREMINDER bit = 1,
@SPLITS xml,
@FREQUENCYCODE tinyint = 5,
@NUMBEROFINSTALLMENTS int = 1,
@STARTDATE datetime = null,
@INSTALLMENTS xml = null,
@AUTOPAY bit = 0,
@PAYMENTMETHODCODE tinyint = 2,
@CARDHOLDERNAME nvarchar(255) = '',
@CREDITCARDNUMBER nvarchar(20) = '',
@CREDITTYPECODEID uniqueidentifier = null,
@EXPIRESON dbo.UDT_FUZZYDATE = '00000000',
@REFERENCEDATE dbo.UDT_FUZZYDATE = '00000000',
@REFERENCENUMBER nvarchar(20) = '',
@CONSTITUENTACCOUNTID uniqueidentifier = null,
@FINDERNUMBER bigint = null,
@SOURCECODE nvarchar(50) = null,
@APPEALID uniqueidentifier = null,
@BENEFITS xml = null,
@BENEFITSWAIVED bit = 0,
@GIVENANONYMOUSLY bit = null,
@MAILINGID uniqueidentifier = null,
@CHANNELCODEID uniqueidentifier = null,
@DONOTACKNOWLEDGE bit = 0,
@PLEDGESUBTYPEID uniqueidentifier = null,
@OPPORTUNITYID uniqueidentifier = null,
@REFERENCE nvarchar(255) = null,
@CATEGORYCODEID uniqueidentifier = null,
@CREDITCARDTOKEN uniqueidentifier = null,
@STANDINGORDERSETUP bit = 0,
@STANDINGORDERSETUPDATE datetime = null,
@DDISOURCECODEID uniqueidentifier = null,
@DDISOURCEDATE date = null,
@PERCENTAGEBENEFITS xml = null,
@TRANSACTIONCURRENCYID uniqueidentifier = null,
@BASEEXCHANGERATEID uniqueidentifier = null,
@EXCHANGERATE decimal(20,8) = null,
@PDACCOUNTSYSTEMID uniqueidentifier = null,
@GENERATEREFERENCENUMBER bit = 1,
@STANDINGORDERREFERENCENUMBER nvarchar(18) = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@EVENTID uniqueidentifier = null,
@LOCALCORPID uniqueidentifier = null,
@BATCHNUMBER nvarchar(100) = '',
@INSTALLMENTAMOUNT money = 0,
@INSTALLMENTSPLITSCHEDULEOPTIONCODE tinyint = 0,
@SEPAMANDATEID uniqueidentifier = null
)
as
begin
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getdate();
if @PDACCOUNTSYSTEMID is null
set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B'
-- Check GL business rule for this account system and set to 'Do not post' if needed.
-- ****
declare @ALLOWGLDISTRIBUTIONS bit;
set @ALLOWGLDISTRIBUTIONS = dbo.UFN_PDACCOUNTSYSTEM_ALLOWGLDISTRIBUTIONS(@PDACCOUNTSYSTEMID);
if @ALLOWGLDISTRIBUTIONS = 0
begin
set @POSTSTATUSCODE = 2 -- Do not post
set @POSTDATE = null
end
-- ****
--Multicurrency - AdamBu 3/30/10 - Retrieve base currency from the account system's currency set.
declare @CURRENCYSETID uniqueidentifier
select
@CURRENCYSETID = CURRENCYSETID
from
dbo.PDACCOUNTSYSTEM
where
ID = @PDACCOUNTSYSTEMID
declare @BASECURRENCYID uniqueidentifier;
select
@BASECURRENCYID = BASECURRENCYID
from
dbo.CURRENCYSET
where
ID = coalesce(@CURRENCYSETID,dbo.UFN_CURRENCYSET_GETAPPUSERDEFAULTCURRENCYSET())
--Multicurrency - AdamBu 4/1/10 - Add a spot exchange rate if an existing rate hasn't
--been selected, the base and transaction currencies are different, and the rate
--entered isn't zero (which indicates that the user wants to enter the record without a rate).
if @BASEEXCHANGERATEID = '00000000-0000-0000-0000-000000000001'
begin
set @BASEEXCHANGERATEID = newid()
--Replace with call to USP_CURRENCYEXCHANGERATE_ENSURESPOTRATEEXISTS for PBI 102747 in the future
/*if not dbo.UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE(@CURRENTAPPUSERID,'911f104d-ba5f-4469-b0ae-184c879aea99') = 1
and not dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
begin
raiserror('User does not have the right to add a new spot rate.', 13, 1);
return 1;
end*/
insert into dbo.CURRENCYEXCHANGERATE(
ID,
FROMCURRENCYID,
TOCURRENCYID,
RATE,
ASOFDATE,
TYPECODE,
SOURCECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values(
@BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID,
@BASECURRENCYID,
@EXCHANGERATE,
@DATE,
2,
null,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
if @ID is null
set @ID = NewID();
if @PAYMENTMETHODCODE = 11 and @STANDINGORDERSETUP = 0 --Standing order
set @STANDINGORDERSETUPDATE = null;
if @NUMBEROFINSTALLMENTS > 150
raiserror('BBERR_NUMINSTALLMENTS',13,1);
begin try
declare @SPLITSDECLININGGIFTAID xml;
--if we have a finder number make sure the constituent has been added to the tables
if isnull(@FINDERNUMBER, 0) > 0
exec dbo.[USP_DATAFORMTEMPLATE_ADD_ACQUISITIONLISTMEMBER] @CONSTITUENTID, @CHANGEAGENTID, @FINDERNUMBER;
if @BATCHNUMBER is null
set @BATCHNUMBER = ''
exec dbo.USP_PLEDGE_ADD
@ID output,
@CHANGEAGENTID,
@CONSTITUENTID,
@DATE,
@AMOUNT,
@POSTSTATUSCODE,
@POSTDATE,
@SENDPLEDGEREMINDER,
@SPLITS,
@FREQUENCYCODE,
@NUMBEROFINSTALLMENTS,
@STARTDATE,
@INSTALLMENTS,
@AUTOPAY,
@PAYMENTMETHODCODE,
@CARDHOLDERNAME,
@CREDITCARDNUMBER,
@CREDITTYPECODEID,
@EXPIRESON,
@REFERENCEDATE,
@REFERENCENUMBER,
@CONSTITUENTACCOUNTID,
@FINDERNUMBER,
@SOURCECODE,
@APPEALID,
@BENEFITS,
@BENEFITSWAIVED,
@GIVENANONYMOUSLY,
@MAILINGID,
@CHANNELCODEID,
@DONOTACKNOWLEDGE,
@PLEDGESUBTYPEID,
@BATCHNUMBER,
@OPPORTUNITYID,
@REFERENCE,
@CATEGORYCODEID,
@CREDITCARDTOKEN,
@STANDINGORDERSETUP,
@STANDINGORDERSETUPDATE,
@DDISOURCECODEID,
@DDISOURCEDATE,
@SPLITSDECLININGGIFTAID output,
@PERCENTAGEBENEFITS,
@TRANSACTIONCURRENCYID,
@BASECURRENCYID,
@BASEEXCHANGERATEID,
@PDACCOUNTSYSTEMID,
0, -- business units applied
@GENERATEREFERENCENUMBER,
@STANDINGORDERREFERENCENUMBER,
@EVENTID,
@LOCALCORPID,
0, --ISMEMBERSHIPPLEDGE
@SEPAMANDATEID
exec dbo.USP_GIFTAIDREVENUESPLIT_ADDUPDATESPLITS @ID, @APPEALID, @PAYMENTMETHODCODE, @CREDITTYPECODEID, @CHANGEAGENTID, @DATE, 1, @SPLITSDECLININGGIFTAID; --revenue transaction type code of pledge is 1
insert into dbo.PLEDGEINSTALLMENTOPTION
(ID
,INSTALLMENTAMOUNT
,SPLITSCHEDULEOPTIONCODE
,ADDEDBYID
,CHANGEDBYID
,DATEADDED
,DATECHANGED)
values (@ID
,case @FREQUENCYCODE when 4 then null else @INSTALLMENTAMOUNT end
,@INSTALLMENTSPLITSCHEDULEOPTIONCODE
,@CHANGEAGENTID
,@CHANGEAGENTID
,@CURRENTDATE
,@CURRENTDATE);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end