UFN_MKTACKNOWLEDGEMENTMAILINGPROCESS_GETUNIQUENAME
Returns a unique name for a marketing acknowledgement 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_MKTACKNOWLEDGEMENTMAILINGPROCESS_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