UFN_ADJUSTMENTHISTORY_GETPREVIOUSSPLITS

Returns the previous splits for an adjustment, for reporting purposes.

Return

Return Type
nvarchar(max)

Parameters

Parameter Parameter Type Mode Description
@ADJUSTMENTHISTORYID uniqueidentifier IN
@REVENUEDETAILIDENTIFIER nvarchar(36) IN

Definition

Copy


            CREATE function dbo.UFN_ADJUSTMENTHISTORY_GETPREVIOUSSPLITS
            (
                @ADJUSTMENTHISTORYID uniqueidentifier,
                @REVENUEDETAILIDENTIFIER nvarchar(36)
            )
            returns nvarchar(max)
            as
            begin
                declare @DESIGNATION nvarchar(512);
                declare @AMOUNT money;
                declare @RESULT nvarchar(max);

                set @RESULT = N'';

                if @REVENUEDETAILIDENTIFIER is null or len(@REVENUEDETAILIDENTIFIER) = 0
                    return @RESULT;

                declare SPLIT_CURSOR cursor local fast_forward for
                    select DESIGNATIONNAME, AMOUNT 
                    from dbo.ADJUSTMENTHISTORYSPLIT
                    where REVENUEIDENTIFIER = @REVENUEDETAILIDENTIFIER
                          and ADJUSTMENTHISTORYID = @ADJUSTMENTHISTORYID;

                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