USP_REVENUEDETAIL_CREATERECOGNITIONS
Creates recognition credits for a pledge payment or gift.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUESPLITID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN | |
@SOURCERECURRINGGIFTREVENUESPLITID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_REVENUEDETAIL_CREATERECOGNITIONS
(
@REVENUESPLITID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@CHANGEDATE datetime,
@SOURCERECURRINGGIFTREVENUESPLITID uniqueidentifier = null
)
as
begin
set nocount on;
-- Verify that the revenue record isn't set to anonymous
declare @REVENUEGIVENANONYMOUSLY bit
declare @CONSTITUENTID uniqueidentifier
declare @DATE datetime
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @BASETOORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
select
@REVENUEGIVENANONYMOUSLY = REVENUE_EXT.GIVENANONYMOUSLY,
@CONSTITUENTID = REVENUE.CONSTITUENTID,
@DATE = cast(REVENUE.DATE as datetime),
@BASECURRENCYID = isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CS.BASECURRENCYID)
from dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT
inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = REVENUESPLIT.ID
inner join dbo.FINANCIALTRANSACTION REVENUE on REVENUE.ID = REVENUESPLIT.FINANCIALTRANSACTIONID
inner join dbo.REVENUE_EXT on REVENUE_EXT.ID = REVENUE.ID
inner join dbo.PDACCOUNTSYSTEM PD on PD.ID = REVENUE.PDACCOUNTSYSTEMID
inner join dbo.CURRENCYSET CS on CS.ID = PD.CURRENCYSETID
where REVENUESPLIT.ID = @REVENUESPLITID;
exec dbo.USP_CURRENCY_GETCURRENCYVALUES
@AMOUNT=null,
@DATE=@DATE,
@BASECURRENCYID=@BASECURRENCYID,
@BASEEXCHANGERATEID=null,
@TRANSACTIONCURRENCYID=null,
@BASEAMOUNT=null,
@ORGANIZATIONCURRENCYID=@ORGANIZATIONCURRENCYID output,
@ORGANIZATIONAMOUNT=null,
@ORGANIZATIONEXCHANGERATEID=null,
@LOOKUPORGANIZATIONEXCHANGERATE=0,
@BASETOORGANIZATIONEXCHANGERATEID=@BASETOORGANIZATIONEXCHANGERATEID output;
insert into dbo.REVENUERECOGNITION
(
REVENUESPLITID,
CONSTITUENTID,
AMOUNT,
EFFECTIVEDATE,
REVENUERECOGNITIONTYPECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
BASECURRENCYID,
ORGANIZATIONAMOUNT,
ORGANIZATIONEXCHANGERATEID
)
select
REVENUESPLIT.ID,
RECOGNITIONS.CONSTITUENTID,
RECOGNITIONS.AMOUNT,
@DATE,
RECOGNITIONS.REVENUERECOGNITIONTYPECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CHANGEDATE,
@CHANGEDATE,
@BASECURRENCYID,
case --Multicurrency - AdamBu 3/30/10 - Calculate organization amount.
when @BASECURRENCYID <> @ORGANIZATIONCURRENCYID
then dbo.UFN_CURRENCY_CONVERT(RECOGNITIONS.AMOUNT, @BASETOORGANIZATIONEXCHANGERATEID)
else RECOGNITIONS.AMOUNT
end,
@BASETOORGANIZATIONEXCHANGERATEID ORGANIZATIONEXCHANGERATEID
from dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT
cross apply dbo.UFN_REVENUEDETAIL_GETDEFAULTRECOGNITIONS(@REVENUEGIVENANONYMOUSLY, @CONSTITUENTID, REVENUESPLIT.BASEAMOUNT, @DATE, @SOURCERECURRINGGIFTREVENUESPLITID) as RECOGNITIONS
where
REVENUESPLIT.ID = @REVENUESPLITID
end