UFN_ADJUSTMENTHISTORY_GETADJUSTEDSPLITS_FOR_SPECIFIC_LINEITEMS

Return

Return Type
nvarchar(max)

Parameters

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

Definition

Copy


create function [dbo].[UFN_ADJUSTMENTHISTORY_GETADJUSTEDSPLITS_FOR_SPECIFIC_LINEITEMS]
(
    @REVENUEID uniqueidentifier
    ,@LINEITEMS UDT_GENERICID readonly
    ,@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 @LINEITEMS LI
        inner join dbo.REVENUESPLIT RS on RS.ID = LI.ID
        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
    deallocate SPLIT_CURSOR;

    return coalesce(@RESULT, '');
end