UFN_MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE_GETAPPLICATIONSELECTIONRESULTS

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@MEMBERSHIPPROGRAMID uniqueidentifier IN
@APPLICATIONSELECTIONID uniqueidentifier IN
@LASTRUNONDATE datetime IN
@PROCESSDATE datetime IN
@MINIMUMDATERANGE datetime IN
@ORGANIZATIONCURRENCYID uniqueidentifier IN
@PROGRAMBASECURRENCYID uniqueidentifier IN
@PROGRAMBASECURRENCYDIGITS tinyint IN
@PROGRAMBASECURRENCYROUNDINGTYPECODE tinyint IN

Definition

Copy


create function dbo.UFN_MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE_GETAPPLICATIONSELECTIONRESULTS (
    @MEMBERSHIPPROGRAMID uniqueidentifier,
    @APPLICATIONSELECTIONID uniqueidentifier,
    @LASTRUNONDATE datetime,
    @PROCESSDATE datetime,
    @MINIMUMDATERANGE datetime,
    @ORGANIZATIONCURRENCYID uniqueidentifier,
    @PROGRAMBASECURRENCYID uniqueidentifier,
    @PROGRAMBASECURRENCYDIGITS tinyint,
    @PROGRAMBASECURRENCYROUNDINGTYPECODE tinyint
)
returns table
as return
    select
        REVENUESPLIT_INCURRENCY.CONSTITUENTID,
        FINANCIALTRANSACTION.ID as FINANCIALTRANSACTIONID,
        REVENUESPLIT_INCURRENCY.ID as FINANCIALTRANSACTIONLINEITEMID,
        REVENUESPLIT_INCURRENCY.AMOUNTINCURRENCY, --This amount does not factor in discounts since Altru cannot currently make use of this application selection filter option.

        FINANCIALTRANSACTION.TYPECODE as TRANSACTIONTYPECODE,
        cast(FINANCIALTRANSACTION.DATE as datetime) as [DATE],
        REVENUESPLIT_INCURRENCY.APPLICATIONCODE,
        REVENUESPLIT_INCURRENCY.DESIGNATIONID
    from dbo.UFN_IDSETREADER_GETRESULTS_GUID(@APPLICATIONSELECTIONID) as APPLICATIONSELECTIONRESULTS
    inner join dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY_BULK(
        @PROGRAMBASECURRENCYID,
        @ORGANIZATIONCURRENCYID,
        @PROGRAMBASECURRENCYDIGITS,
        @PROGRAMBASECURRENCYROUNDINGTYPECODE
    ) as REVENUESPLIT_INCURRENCY on 
        APPLICATIONSELECTIONRESULTS.ID = REVENUESPLIT_INCURRENCY.ID 
    inner join dbo.FINANCIALTRANSACTION on
        REVENUESPLIT_INCURRENCY.REVENUEID = FINANCIALTRANSACTION.ID
    left join dbo.MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE on 
        MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE.FINANCIALTRANSACTIONLINEITEMID =  REVENUESPLIT_INCURRENCY.ID and 
        MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE.MEMBERSHIPPROGRAMID = @MEMBERSHIPPROGRAMID
    where 
        (FINANCIALTRANSACTION.DATECHANGED >= @LASTRUNONDATE or @LASTRUNONDATE is null) --Since last run

        and cast(FINANCIALTRANSACTION.DATE as datetime) between @MINIMUMDATERANGE and @PROCESSDATE --Since the longest term until this process run

        and MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE.FINANCIALTRANSACTIONLINEITEMID is null --Not already considered in previous run

        and REVENUESPLIT_INCURRENCY.SPLITDELETEDON is null --Deleted splits

        --This function does not consider refunds. The selection functionality is not currently enabled for Altru.