USP_MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE_POPULATE_BYAPPLICATIONSELECTION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MEMBERSHIPPROGRAMID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@PROCESSDATE | datetime | IN | |
@LASTRUNONDATE | datetime | IN |
Definition
Copy
create procedure dbo.USP_MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE_POPULATE_BYAPPLICATIONSELECTION (
@MEMBERSHIPPROGRAMID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@PROCESSDATE datetime,
@LASTRUNONDATE datetime
)
as
begin
--System-defined application filter options
declare @APPLICATIONSELECTIONID uniqueidentifier
--Currency
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
declare @PROGRAMBASECURRENCYID uniqueidentifier
declare @PROGRAMBASECURRENCYDIGITS tinyint;
declare @PROGRAMBASECURRENCYROUNDINGTYPECODE tinyint;
-- Pull all useful information about the membership program
exec dbo.USP_MEMBERSHIPPROGRAMCONTRIBUTION_GETPROGRAMCRITERIA
@MEMBERSHIPPROGRAMID,
@APPLICATIONSELECTIONID = @APPLICATIONSELECTIONID output
select
@PROGRAMBASECURRENCYID = MEMBERSHIPPROGRAM.BASECURRENCYID,
@PROGRAMBASECURRENCYDIGITS = CURRENCY.DECIMALDIGITS,
@PROGRAMBASECURRENCYROUNDINGTYPECODE = CURRENCY.ROUNDINGTYPECODE
from dbo.MEMBERSHIPPROGRAM
inner join dbo.CURRENCY on MEMBERSHIPPROGRAM.BASECURRENCYID = CURRENCY.ID
where MEMBERSHIPPROGRAM.ID = @MEMBERSHIPPROGRAMID
--Determine the time from which we should consider for qualifying revenue
--This date is as far back as the longest term on this program
declare @MINIMUMDATERANGE date
select @MINIMUMDATERANGE = dateadd(month, -1 * LENGTH, @PROCESSDATE)
from dbo.UFN_MEMBERSHIPPROGRAM_GETLONGESTTERMLENGTH_INMONTHS(@MEMBERSHIPPROGRAMID)
insert into dbo.MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE (
FINANCIALTRANSACTIONLINEITEMID,
CONSTITUENTID,
EFFECTIVEDATE,
AMOUNT,
MEMBERSHIPPROGRAMID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
[RESULTS].FINANCIALTRANSACTIONLINEITEMID,
[RESULTS].CONSTITUENTID,
[RESULTS].DATE,
[RESULTS].AMOUNTINCURRENCY,
@MEMBERSHIPPROGRAMID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@PROCESSDATE,
@PROCESSDATE
from dbo.UFN_MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE_GETAPPLICATIONSELECTIONRESULTS (
@MEMBERSHIPPROGRAMID,
@APPLICATIONSELECTIONID,
@LASTRUNONDATE,
@PROCESSDATE,
@MINIMUMDATERANGE,
@ORGANIZATIONCURRENCYID,
@PROGRAMBASECURRENCYID,
@PROGRAMBASECURRENCYDIGITS,
@PROGRAMBASECURRENCYROUNDINGTYPECODE
) as [RESULTS]
end