UFN_NAMEFORMATFUNCTIONSPEC
Returns display fields for a user defined name format function.
Return
Return Type |
---|
nvarchar(700) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NAMEFORMATFUNCTIONID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_NAMEFORMATFUNCTIONSPEC(@NAMEFORMATFUNCTIONID uniqueidentifier)
returns nvarchar(700)
with execute as owner
as begin
declare @name nvarchar(700);
select @name = DISPLAY
from dbo.NAMEFORMATFUNCTION
where ID = @NAMEFORMATFUNCTIONID
if (@name is null or @name = '')
begin
declare @xml xml;
select @xml = (
select NAMEFORMATFIELD.DISPLAY [fieldValue],
NAMEFORMATFUNCTIONDETAIL.REMOVETRAILINGSPACE [removeTrailingSpace],
NAMEFORMATFUNCTIONDETAIL.INITIAL [useInitial],
NAMEFORMATFUNCTIONDETAIL.SMARTREMOVE [smartRemove]
from NAMEFORMATFUNCTIONDETAIL
inner join NAMEFORMATFIELD
on NAMEFORMATFUNCTIONDETAIL.NAMEFORMATFIELDID = NAMEFORMATFIELD.ID
where NAMEFORMATFUNCTIONDETAIL.NAMEFORMATFUNCTIONID = @NAMEFORMATFUNCTIONID
order by NAMEFORMATFUNCTIONDETAIL.SEQUENCE
for xml raw('Field'), type, BINARY BASE64);
if (@xml is not null)
set @name = dbo.UFN_GETFORMATTEDNAME(@xml)
else
begin
/* Last resort backwards compatibility display. Any 'initial' operations will display oddly.*/
set @name = dbo.UFN_BUILDNAMEFORMAT(@NAMEFORMATFUNCTIONID, null,
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 1), /*[Last name]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 2), /*[First Name]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 3), /*[Middle Name]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 4), /*[Title]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 5), /*[Suffix]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 6), /*[Spouse Last name]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 7), /*[Spouse First Name]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 8), /*[Spouse Middle Name]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 9), /*[Spouse Title]*/
(select DISPLAY from dbo.NAMEFORMATFIELD where FIELDCODE = 10)) /*[Spouse Suffix]*/
end
end
return @name;
end