UFN_REVENUE_BENEFITLIST

Returns a separated list of benefits for a revenue detail record.

Return

Return Type
nvarchar(3000)

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_REVENUE_BENEFITLIST
            (
                @REVENUEID uniqueidentifier
            )
            returns nvarchar(3000)
            as
            begin
                declare @BENEFIT nvarchar(100);
                declare @r nvarchar(3000);    

                declare @SEPERATOR nvarchar(2);

                set @r=N'';

                declare BENEFITCURSOR cursor local fast_forward for
                    select dbo.UFN_BENEFIT_GETNAME(RDB.BENEFITID) 
                    from dbo.REVENUEBENEFIT as RDB
                    where RDB.REVENUEID = @REVENUEID

                open BENEFITCURSOR;
                    fetch next from BENEFITCURSOR into @BENEFIT;
                    set @r = '';
                    set @SEPERATOR = '';

                    while @@FETCH_STATUS = 0
                    begin
                        set @r = @r + @SEPERATOR + @BENEFIT;
                        set @SEPERATOR = '; ';
                        fetch next from BENEFITCURSOR into @BENEFIT;
                    end

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

                close BENEFITCURSOR;
                deallocate BENEFITCURSOR;

                return @r;
            end