UFN_MKTSPONSORSHIPMAILINGPROCESS_GETUNIQUENAME

Returns a unique name for a sponsorship effort by appending a datestamp and counter (if necessary).

Return

Return Type
nvarchar(100)

Parameters

Parameter Parameter Type Mode Description
@NAME nvarchar(50) IN
@DATETEXT nvarchar(50) IN

Definition

Copy


CREATE function dbo.[UFN_MKTSPONSORSHIPMAILINGPROCESS_GETUNIQUENAME]
(
  @NAME nvarchar(50),
  @DATETEXT nvarchar(50)
)
returns nvarchar(100)
as
begin
  declare @NEWNAME nvarchar(255);
  declare @TRIMNAME nvarchar(100);
  declare @COPYCOUNT int;
  declare @COPYCOUNTTEXT nvarchar(13);

  set @COPYCOUNT = 0;
  set @DATETEXT = ' (' + @DATETEXT + ')';
  set @NEWNAME = @NAME + @DATETEXT;

  -- make sure the mailing name is only 100 characters long

  if len(@NEWNAME) > 100
    set @NEWNAME = left(@NAME, 100 - len(@DATETEXT)) + @DATETEXT;

  -- make sure the new mailing name is unique, if not, add a counter

  while (select count(1) from dbo.[MKTSEGMENTATION] where [NAME] = @NEWNAME) > 0
  begin
    set @COPYCOUNT = @COPYCOUNT + 1;
    set @COPYCOUNTTEXT = ' (' + cast(@COPYCOUNT as nvarchar(10)) + ')'
    set @NEWNAME = @NAME + @DATETEXT + @COPYCOUNTTEXT;

    -- make sure the mailing name is only 100 characters long

    if len(@NEWNAME) > 100
      set @NEWNAME = left(@NAME, 100 - len(@DATETEXT + @COPYCOUNTTEXT)) + @DATETEXT + @COPYCOUNTTEXT;
  end

  return @NEWNAME;
end