UFN_RECOGNITIONCREDIT_GETRECOGNITIONS_3
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@INCLUDEREVENUERECOGNTIONS | bit | IN | |
@REVENUERECOGNITIONTYPECODEID | uniqueidentifier | IN | |
@CURRENCYID | uniqueidentifier | IN | |
@REVENUESPLITID | uniqueidentifier | IN | |
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN |
Definition
Copy
CREATE function dbo.UFN_RECOGNITIONCREDIT_GETRECOGNITIONS_3
(
@INCLUDEREVENUERECOGNTIONS bit = 0,
@REVENUERECOGNITIONTYPECODEID uniqueidentifier = null,
@CURRENCYID uniqueidentifier = null,
@REVENUESPLITID uniqueidentifier = null,
@STARTDATE datetime = null,
@ENDDATE datetime = null
)
returns table
as return (
select
RR.ID,
RR.REVENUESPLITID,
RR.EFFECTIVEDATE,
RR.BASECURRENCYID,
RR.REVENUERECOGNITIONTYPECODEID,
RR.AMOUNT,
RR.ORGANIZATIONAMOUNT,
RR_INCURRENCY.AMOUNTINCURRENCY
from
dbo.REVENUERECOGNITION as RR
inner join dbo.CONSTITUENT RRC with (nolock) on RR.CONSTITUENTID = RRC.ID
cross join ( select dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY() as ID) as ORGANIZATIONCURRENCY
inner join dbo.CURRENCY on ((CURRENCY.ID = @CURRENCYID and @CURRENCYID is not null) or (CURRENCY.ISORGANIZATIONCURRENCY = 1 and @CURRENCYID is null))
cross apply dbo.UFN_REVENUERECOGNITION_GETAMOUNTINCURRENCY_BULK_2(CURRENCY.ID,ORGANIZATIONCURRENCY.ID,CURRENCY.DECIMALDIGITS,CURRENCY.ROUNDINGTYPECODE,RR.ID) as RR_INCURRENCY
where (@REVENUERECOGNITIONTYPECODEID is null or RR.REVENUERECOGNITIONTYPECODEID = @REVENUERECOGNITIONTYPECODEID)
and @INCLUDEREVENUERECOGNTIONS = 1
and @REVENUESPLITID = RR.REVENUESPLITID
and (@STARTDATE <= RR.EFFECTIVEDATE or @STARTDATE is null)
and (RR.EFFECTIVEDATE <= @ENDDATE or @ENDDATE is null)
union all
select
RECOGNITIONCREDIT.ID,
DONORCHALLENGEENCUMBERED.REVENUESPLITID as REVENUESPLITID, --This should be null but we still store some info on the revenue, REVENUECAMPAIGN for example
RECOGNITIONCREDIT.EFFECTIVEDATE,
RECOGNITIONCREDIT.BASECURRENCYID,
RECOGNITIONCREDIT.USERRECOGNITIONTYPECODEID as REVENUERECOGNITIONTYPECODEID,
RECOGNITIONCREDIT.AMOUNT,
RECOGNITIONCREDIT.ORGANIZATIONAMOUNT,
RECOGNITIONCREDIT_INCURRENCY.AMOUNTINCURRENCY
from
dbo.RECOGNITIONCREDIT
inner join dbo.DONORCHALLENGEENCUMBERED on RECOGNITIONCREDIT.DONORCHALLENGEENCUMBEREDID = DONORCHALLENGEENCUMBERED.ID
inner join dbo.CONSTITUENT RRC with (nolock) on RECOGNITIONCREDIT.CONSTITUENTID = RRC.ID
inner join dbo.DONORCHALLENGE on DONORCHALLENGEENCUMBERED.DONORCHALLENGEID = DONORCHALLENGE.ID
inner join dbo.DONORCHALLENGESPONSORCODE on DONORCHALLENGE.INTERNALSPONSORCODEID = DONORCHALLENGESPONSORCODE.ID
cross join ( select dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY() as ID) as ORGANIZATIONCURRENCY
inner join dbo.CURRENCY on ((CURRENCY.ID = @CURRENCYID and @CURRENCYID is not null) or (CURRENCY.ISORGANIZATIONCURRENCY = 1 and @CURRENCYID is null))
cross apply dbo.UFN_REVENUERECOGNITION_GETAMOUNTINCURRENCY_BULK_2(CURRENCY.ID,ORGANIZATIONCURRENCY.ID,CURRENCY.DECIMALDIGITS,CURRENCY.ROUNDINGTYPECODE,RECOGNITIONCREDIT.ID) as RECOGNITIONCREDIT_INCURRENCY
where (@REVENUERECOGNITIONTYPECODEID is null or RECOGNITIONCREDIT.USERRECOGNITIONTYPECODEID = @REVENUERECOGNITIONTYPECODEID)
and RECOGNITIONCREDIT.RECOGNITIONCREDITTYPECODE = 1
and @REVENUESPLITID = DONORCHALLENGEENCUMBERED.REVENUESPLITID
and (@STARTDATE <= RECOGNITIONCREDIT.EFFECTIVEDATE or @STARTDATE is null)
and (RECOGNITIONCREDIT.EFFECTIVEDATE <= @ENDDATE or @ENDDATE is null)
)