USP_SALESORDER_ADDSPONSORSHIPS
Add any sponsorships associated w/ the specified sales order.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SALESORDERID | uniqueidentifier | IN | |
@TRANSACTIONDATE | date | IN | |
@CONSTITUENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_SALESORDER_ADDSPONSORSHIPS (
@SALESORDERID uniqueidentifier,
@TRANSACTIONDATE date,
@CONSTITUENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@CURRENTDATE datetime
)
as
begin
declare SPONSORSHIPSCUR cursor local fast_forward for
select
SOIS.ID,
SOIS.SPONSORSHIPPROGRAMID,
SOIS.SPONSORSHIPOPPORTUNITYID,
SOIS.STARTDATE,
isnull(SOIS.GIFTRECIPIENTID,@CONSTITUENTID),
SOIS.SPONSORSHIPLOCATIONID,
SOIS.GENDERCODE,
SOIS.SPONSORSHIPOPPORTUNITYAGERANGEID,
SOIS.ISHIVPOSITIVECODE,
SOIS.HASCONDITIONCODE,
SOIS.ISORPHANEDCODE,
SOIS.SPROPPPROJECTCATEGORYCODEID,
SOIS.ISSOLESPONSORSHIP,
SOIS.EXPIRATIONDATE,
SOIS.EXPIRATIONREASONID,
SOIRS.AMOUNT,
SOIRS.FREQUENCYCODE,
SOIRS.SCHEDULESTARTDATE,
SOIRS.PAYMENTMETHODCODE,
SOIRS.REFERENCEDATE,
SOIRS.REFERENCENUMBER,
SOIRS.CARDHOLDERNAME,
SOIRS.CREDITCARDPARTIALNUMBER,
SOIRS.CREDITTYPECODEID,
SOIRS.EXPIRESON,
SOIRS.CREDITCARDTOKEN,
SOIRS.CONSTITUENTACCOUNTID,
SOIRS.AUTOPAY,
SOI.DATA,
SOIS.CURRENCYISO,
SOIS.PDACCOUNTSYSTEMID,
SOIS.APPEALID
from dbo.SALESORDERITEMSPONSORSHIP as SOIS
inner join dbo.SALESORDERITEM SOI on SOI.ID = SOIS.ID
inner join dbo.SALESORDERITEMREVENUESCHEDULE as SOIRS on SOIRS.ID = SOIS.ID
where SOI.SALESORDERID = @SALESORDERID;
declare @SALESORDERITEMSPONSORSHIPID uniqueidentifier;
declare @SPONSORSHIPPROGRAMID uniqueidentifier;
declare @SPONSORSHIPOPPORTUNITYID uniqueidentifier;
declare @STARTDATE date;
declare @CORRESPONDINGSPONSORID uniqueidentifier;
declare @SPONSORSHIPLOCATIONID uniqueidentifier;
declare @GENDERCODE tinyint;
declare @SPONSORSHIPOPPORTUNITYAGERANGEID uniqueidentifier;
declare @ISHIVPOSITIVECODE tinyint;
declare @HASCONDITIONCODE tinyint;
declare @ISORPHANEDCODE tinyint;
declare @SPROPPPROJECTCATEGORYCODEID uniqueidentifier;
declare @ISSOLESPONSORSHIP bit;
declare @EXPIRATIONDATE date;
declare @EXPIRATIONREASONID uniqueidentifier;
declare @AMOUNT money;
declare @FREQUENCYCODE tinyint;
declare @SCHEDULESTARTDATE date;
declare @PAYMENTMETHODCODE tinyint;
declare @REFERENCEDATE dbo.UDT_FUZZYDATE;
declare @REFERENCENUMBER nvarchar(20);
declare @CARDHOLDERNAME nvarchar(255);
declare @CREDITCARDNUMBER nvarchar(20);
declare @CREDITTYPECODEID uniqueidentifier;
declare @EXPIRESON dbo.UDT_FUZZYDATE;
declare @CREDITCARDTOKEN uniqueidentifier;
declare @CONSTITUENTACCOUNTID uniqueidentifier;
declare @AUTOPAY bit;
declare @DATA xml;
declare @CURRENCYISO nvarchar(3);
declare @PDACCOUNTSYSTEMID uniqueidentifier;
declare @APPEALID uniqueidentifier;
--Sponsorship should carry the channel code defined in the web transactions configuration (WI#154664)
declare @CHANNELCODEID uniqueidentifier;
select top 1 @CHANNELCODEID = CHANNELCODEID from dbo.NETCOMMUNITYDEFAULTCODEMAP;
open SPONSORSHIPSCUR;
fetch next from SPONSORSHIPSCUR into
@SALESORDERITEMSPONSORSHIPID,
@SPONSORSHIPPROGRAMID,
@SPONSORSHIPOPPORTUNITYID,
@STARTDATE,
@CORRESPONDINGSPONSORID,
@SPONSORSHIPLOCATIONID,
@GENDERCODE,
@SPONSORSHIPOPPORTUNITYAGERANGEID,
@ISHIVPOSITIVECODE,
@HASCONDITIONCODE,
@ISORPHANEDCODE,
@SPROPPPROJECTCATEGORYCODEID,
@ISSOLESPONSORSHIP,
@EXPIRATIONDATE,
@EXPIRATIONREASONID,
@AMOUNT,
@FREQUENCYCODE,
@SCHEDULESTARTDATE,
@PAYMENTMETHODCODE,
@REFERENCEDATE,
@REFERENCENUMBER,
@CARDHOLDERNAME,
@CREDITCARDNUMBER,
@CREDITTYPECODEID,
@EXPIRESON,
@CREDITCARDTOKEN,
@CONSTITUENTACCOUNTID,
@AUTOPAY,
@DATA,
@CURRENCYISO,
@PDACCOUNTSYSTEMID,
@APPEALID;
declare @TRANSACTIONCURRENCYID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
declare @BASEEXCHANGERATEID uniqueidentifier;
declare @EXCHANGERATE decimal(20,8);
while @@FETCH_STATUS = 0
begin
declare @ID uniqueidentifier;
set @ID = null; --reset for multiple sponsorships
set @TRANSACTIONCURRENCYID = dbo.UFN_CURRENCY_GETCURRENCYFROMISO(@CURRENCYISO);
select @BASECURRENCYID = cs.BASECURRENCYID
from PDACCOUNTSYSTEM pdas
inner join CURRENCYSET cs on cs.ID = pdas.CURRENCYSETID
where pdas.ID = @PDACCOUNTSYSTEMID;
set @BASEEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@TRANSACTIONCURRENCYID, @BASECURRENCYID, @CURRENTDATE, 1, null);
exec dbo.USP_SPONSORSHIP_CREATECOMMITMENT
@ID output,
@CHANGEAGENTID,
@CONSTITUENTID,
@CORRESPONDINGSPONSORID,
null, --@REASSIGNEDFROMSPONSORSHIPID,
null, --@SPONSORSHIPREASONID,
@SPONSORSHIPPROGRAMID,
@SPONSORSHIPLOCATIONID,
@GENDERCODE,
@SPONSORSHIPOPPORTUNITYAGERANGEID,
@ISHIVPOSITIVECODE,
@HASCONDITIONCODE,
@ISORPHANEDCODE,
@SPROPPPROJECTCATEGORYCODEID,
@SPONSORSHIPOPPORTUNITYID,
@ISSOLESPONSORSHIP,
@STARTDATE,
@AMOUNT,
@PAYMENTMETHODCODE,
@REFERENCEDATE,
@REFERENCENUMBER,
@CARDHOLDERNAME,
@CREDITCARDNUMBER,
@CREDITTYPECODEID,
@EXPIRESON,
@CONSTITUENTACCOUNTID,
@FREQUENCYCODE,
null, --@REVENUESCHEDULEENDDATE,
@SCHEDULESTARTDATE,
@AUTOPAY,
@CREDITCARDTOKEN,
@EXPIRATIONDATE,
1, --@SENDREMINDER,
null, --@FINDERNUMBER,
'', --@SOURCECODE,
@APPEALID, --@APPEALID,
null, --@MAILINGID,
@CHANNELCODEID,
null, --@REFERENCE,
null, --@CATEGORYCODEID,
@EXPIRATIONREASONID,
@TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID,
null, --@EXCHANGERATE,
null, --@CURRENTAPPUSERID,
'', --@BATCHNUMBER,
0, --@DONOTACKNOWLEDGE,
@DATA,
@BASECURRENCYID,
default --SEPAMANDATEID
-- customized program should be here. @ID is the sponsorship ID.
declare @CUSTOMSP nvarchar(500);
select @CUSTOMSP = ADDSPONSORSHIPCUSTOMPROCEDURE
from dbo.SPONSORSHIPINFO
if @CUSTOMSP is not null and len(@CUSTOMSP)>0
begin
set @CUSTOMSP = @CUSTOMSP + ' ''' + CONVERT(NVARCHAR(36),@ID) + ''''
EXEC sp_executesql @CUSTOMSP
end
-- write the sponsorship ID back to salesorderitemsponsorship
-- so that the payment can be applied to it
update dbo.SALESORDERITEMSPONSORSHIP
set SPONSORSHIPID = @ID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @SALESORDERITEMSPONSORSHIPID;
fetch next from SPONSORSHIPSCUR into
@SALESORDERITEMSPONSORSHIPID,
@SPONSORSHIPPROGRAMID,
@SPONSORSHIPOPPORTUNITYID,
@STARTDATE,
@CORRESPONDINGSPONSORID,
@SPONSORSHIPLOCATIONID,
@GENDERCODE,
@SPONSORSHIPOPPORTUNITYAGERANGEID,
@ISHIVPOSITIVECODE,
@HASCONDITIONCODE,
@ISORPHANEDCODE,
@SPROPPPROJECTCATEGORYCODEID,
@ISSOLESPONSORSHIP,
@EXPIRATIONDATE,
@EXPIRATIONREASONID,
@AMOUNT,
@FREQUENCYCODE,
@SCHEDULESTARTDATE,
@PAYMENTMETHODCODE,
@REFERENCEDATE,
@REFERENCENUMBER,
@CARDHOLDERNAME,
@CREDITCARDNUMBER,
@CREDITTYPECODEID,
@EXPIRESON,
@CREDITCARDTOKEN,
@CONSTITUENTACCOUNTID,
@AUTOPAY,
@DATA,
@CURRENCYISO,
@PDACCOUNTSYSTEMID,
@APPEALID;
end
close SPONSORSHIPSCUR;
deallocate SPONSORSHIPSCUR;
end