USP_REVENUE_SPLIT_EDIT_LOAD_2

Provides a common method to load data for revenue detail split edit forms.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@REVENUEAMOUNT money INOUT
@SPLITS xml INOUT
@TSLONG bigint INOUT
@APPEALID uniqueidentifier INOUT
@TRANSACTIONCURRENCYID uniqueidentifier INOUT

Definition

Copy


            CREATE procedure dbo.USP_REVENUE_SPLIT_EDIT_LOAD_2
            (
                @ID uniqueidentifier,
                @DATALOADED bit = null output,
                @REVENUEAMOUNT money = null output,
                @SPLITS xml = null output,
                @TSLONG bigint = null output,
                @APPEALID as uniqueidentifier = null output,
                @TRANSACTIONCURRENCYID uniqueidentifier = null output
            )
            as 
                set nocount on;

                declare @TESTID uniqueidentifier;

                declare @ISMEMBERSHIPTRANSACTION bit;

                select  @TESTID = REVENUE.ID, 
                        @REVENUEAMOUNT = REVENUE.TRANSACTIONAMOUNT, 
                        @APPEALID = REVENUE_EXT.APPEALID,
                        @TRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID,
                        @ISMEMBERSHIPTRANSACTION = case REVENUE.TYPECODE when 2 then dbo.UFN_RECURRINGGIFT_ISMEMBERSHIP(@ID)
                                                                         when 15 then 1
                                                                         else 0 end
                from dbo.FINANCIALTRANSACTION REVENUE
                inner join dbo.REVENUE_EXT on REVENUE.ID = REVENUE_EXT.ID
                where REVENUE.ID = @ID
                        and REVENUE.DELETEDON is null;

                if @ISMEMBERSHIPTRANSACTION = 1
                begin
                    set @SPLITS =(
                        select
                            SPLIT.ID,
                            SPLIT.DESIGNATIONID,
                            SPLIT.TRANSACTIONAMOUNT as AMOUNT,
                            SPLIT.APPLICATIONCODE,
                            SPLIT.TYPECODE,
                            SPLIT.DECLINESGIFTAID,
                            SPLIT.TRANSACTIONCURRENCYID
                        from dbo.UFN_REVENUE_GETSPLITS_2(@ID) SPLIT
                        where SPLIT.DESIGNATIONID is not null
                        for xml raw('ITEM'),type,elements,root('SPLITS'),BINARY BASE64
                    );

                    select @REVENUEAMOUNT = @REVENUEAMOUNT - sum(coalesce(SPLIT.TRANSACTIONAMOUNT, 0))
                    from dbo.UFN_REVENUE_GETSPLITS_2(@ID) SPLIT
                    where SPLIT.DESIGNATIONID is null
                end 
                else
                begin
                    set @SPLITS =(
                        select
                            SPLIT.ID,
                            SPLIT.DESIGNATIONID,
                            SPLIT.TRANSACTIONAMOUNT as AMOUNT,
                            SPLIT.APPLICATIONCODE,
                            SPLIT.TYPECODE,
                            SPLIT.DECLINESGIFTAID,
                            SPLIT.TRANSACTIONCURRENCYID
                        from dbo.UFN_REVENUE_GETSPLITS_2(@ID) SPLIT
                        for xml raw('ITEM'),type,elements,root('SPLITS'),BINARY BASE64
                    );
                end

                if @TESTID is not null
                    set @DATALOADED = 1;
                else
                    set @DATALOADED = 0;

                if @SPLITS is not null
                      select @TSLONG = max(REVENUESPLIT.TSLONG) from dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT where REVENUESPLIT.FINANCIALTRANSACTIONID = @ID and REVENUESPLIT.TYPECODE <> 1 and REVENUESPLIT.DELETEDON is null;
                else
                    set @TSLONG = 0;

                return 0;