UFN_PHILANTHROPICGIFT_GETCATEGORIES

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CATEGORYLIST nvarchar(201) IN

Definition

Copy

create function dbo.UFN_PHILANTHROPICGIFT_GETCATEGORIES(@CATEGORYLIST nvarchar(201) = null
returns @OUTPUT table (
    CATEGORY nvarchar(200),
    SEQUENCE INT
)
as
begin
  declare @i int = 1;
  declare @CATEGORYCACHE nvarchar(200);
  declare @CATEGORY nvarchar(200) = dbo.UFN_PHILANTHROPICGIFT_GETCATEGORYATPOSITION(@CATEGORYLIST, 1);

  while len(@CATEGORY) > 0 and @i < 100
  begin

    /*I know this looks weird but we want to make sure we don't insert the last category of they maxed out the field.*/
    if len(@CATEGORYCACHE) > 0
      insert into @OUTPUT values(@CATEGORYCACHE, @i);

    set @CATEGORYCACHE = @CATEGORY;
    set @i = @i + 1;
    set @CATEGORY = dbo.UFN_PHILANTHROPICGIFT_GETCATEGORYATPOSITION(@CATEGORYLIST, @i);

  end

  if len(@CATEGORYLIST) < 201 and len(@CATEGORYCACHE) > 0
    insert into @OUTPUT values(@CATEGORYCACHE, @i + 1);

  return;
end