UFN_ADJUSTMENTHISTORY_GETADJUSTEDSPLITS_2

Returns the splits after an adjustment, for reporting purposes.

Return

Return Type
nvarchar(max)

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@CURRENCYCODE tinyint IN

Definition

Copy


            CREATE function dbo.UFN_ADJUSTMENTHISTORY_GETADJUSTEDSPLITS_2
            (
                @REVENUEID uniqueidentifier,
                @CURRENCYCODE tinyint
            )
            returns nvarchar(max)
            as
            begin
                declare @RESULT nvarchar(max);
                declare @DESIGNATION nvarchar(512);
                declare @AMOUNT money;

                set @RESULT = N'';

                if @REVENUEID is null
                    return @RESULT;

                declare SPLIT_CURSOR cursor local fast_forward for
                    select 
                        coalesce(dbo.UFN_DESIGNATION_BUILDNAME(DESIGNATIONID), ''),
                        case @CURRENCYCODE when 0 then AMOUNT when 2 then TRANSACTIONAMOUNT else ORGANIZATIONAMOUNT end 
                    from dbo.REVENUESPLIT where REVENUEID = @REVENUEID;

                open SPLIT_CURSOR;
                    fetch next from SPLIT_CURSOR into @DESIGNATION, @AMOUNT;
                    while @@FETCH_STATUS = 0
                    begin
                        if len(@DESIGNATION) <> 0
                            set @RESULT = @RESULT + ' ' + @DESIGNATION + ' (' + cast(@AMOUNT as nvarchar) + ')' + char(13) + char(10);

                        fetch next from SPLIT_CURSOR into @DESIGNATION, @AMOUNT;
                    end

                --When a cursor is used, it should be explicitly closed/deallocated in case of blocking or USP running long

                close SPLIT_CURSOR;
                deallocate SPLIT_CURSOR;

                return coalesce(@RESULT, '');
            end