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)
        )