USP_PLEDGE_RECOGNITIONCREDIT_DEFAULT

Parameters

Parameter Parameter Type Mode Description
@PLEDGEID uniqueidentifier IN
@GIVENANONYMOUSLY bit IN
@INITIALGIVENANONYMOUSLY bit IN
@CHANGEAGENTID uniqueidentifier IN
@CURRENTDATE datetime IN

Definition

Copy


        create procedure dbo.USP_PLEDGE_RECOGNITIONCREDIT_DEFAULT
        (
            @PLEDGEID uniqueidentifier,
            @GIVENANONYMOUSLY bit,
            @INITIALGIVENANONYMOUSLY bit,
            @CHANGEAGENTID uniqueidentifier,
            @CURRENTDATE datetime
        )
        as
        begin
            --Select the value for default anonymous recognition setting

            declare @DEFAULTANONYMOUSRECOGNITION bit = 0;

            select @DEFAULTANONYMOUSRECOGNITION = DEFAULTANONYMOUSRECOGNITION
            from dbo.RECOGNITIONDEFAULT

            --if GIVENANONYMOUSLY has toggled, fix recognitions

            if (@INITIALGIVENANONYMOUSLY = 1 and @GIVENANONYMOUSLY = 0) or (@INITIALGIVENANONYMOUSLY = 0  and @GIVENANONYMOUSLY = 1 and @DEFAULTANONYMOUSRECOGNITION = 1)
            begin
                --Do not add any recognition credits if user added/deleted/modified when the transaction was anonymous

                if not exists(
                                select 
                                    RR.ID 
                                from 
                                    dbo.REVENUERECOGNITION RR
                                inner join dbo.FINANCIALTRANSACTIONLINEITEM RS on RR.REVENUESPLITID = RS.ID
                                inner join dbo.REVENUESPLIT_EXT on RS.ID = REVENUESPLIT_EXT.ID
                                inner join dbo.FINANCIALTRANSACTION R on R.ID = RS.FINANCIALTRANSACTIONID
                                inner join dbo.REVENUE_EXT on R.ID = REVENUE_EXT.ID
                                where R.ID = @PLEDGEID
                                    and R.DELETEDON is null
                                    and RS.DELETEDON is null
                                    and RS.TYPECODE <> 1 
                            ) 

                  --anonymous to named: add default recognition credits

                  exec dbo.USP_REVENUE_CREATERECOGNITIONS @PLEDGEID, @CHANGEAGENTID, @CURRENTDATE;
            end
            else
              if @INITIALGIVENANONYMOUSLY = 0 and @GIVENANONYMOUSLY = 1 and @DEFAULTANONYMOUSRECOGNITION = 0
              begin
                --named to anonymous: remove all recognition credits

                delete dbo.REVENUERECOGNITION
                where ID in (
                    select RR.ID
                    from dbo.REVENUERECOGNITION RR
                    inner join dbo.FINANCIALTRANSACTIONLINEITEM RS on RR.REVENUESPLITID = RS.ID
                    inner join dbo.REVENUESPLIT_EXT on RS.ID = REVENUESPLIT_EXT.ID
                    inner join dbo.FINANCIALTRANSACTION R on R.ID = RS.FINANCIALTRANSACTIONID
                    inner join dbo.REVENUE_EXT on R.ID = REVENUE_EXT.ID
                    where R.ID = @PLEDGEID
                      and R.DELETEDON is null
                      and RS.DELETEDON is null
                      and RS.TYPECODE <> 1
                    );
              end
        end