UFN_NAMEFORMAT_FROMID_INTERNAL

This function returns the built name based on the constituent id and name format function id.

Return

Return Type
nvarchar(700)

Parameters

Parameter Parameter Type Mode Description
@NAMEFORMATFUNCTIONID uniqueidentifier IN
@CONSTITUENTID uniqueidentifier IN
@EXCLUDESPOUSEINFO bit IN

Definition

Copy


CREATE function dbo.UFN_NAMEFORMAT_FROMID_INTERNAL
(
  @NAMEFORMATFUNCTIONID uniqueidentifier,
  @CONSTITUENTID uniqueidentifier,
  @EXCLUDESPOUSEINFO bit
)
returns nvarchar(700)
with execute as caller
as begin
  declare @NAME nvarchar(700);

  if @EXCLUDESPOUSEINFO = 0 
    begin
      select
        @NAME = dbo.UFN_BUILDNAMEFORMAT(
          @NAMEFORMATFUNCTIONID,
          CONSTITUENT.ID,
          CONSTITUENT.KEYNAME,
          CONSTITUENT.FIRSTNAME,
          CONSTITUENT.MIDDLENAME,
          (select DESCRIPTION from dbo.TITLECODE where ID = CONSTITUENT.TITLECODEID),
          (select DESCRIPTION from dbo.SUFFIXCODE where ID = CONSTITUENT.SUFFIXCODEID),
          SPOUSE.KEYNAME,
          SPOUSE.FIRSTNAME,
          SPOUSE.MIDDLENAME,
          (select DESCRIPTION from dbo.TITLECODE where ID = SPOUSE.TITLECODEID),
          (select DESCRIPTION from dbo.SUFFIXCODE where ID = SPOUSE.SUFFIXCODEID)
        )
      from dbo.CONSTITUENT 
      left outer join dbo.RELATIONSHIP on CONSTITUENT.ID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID and RELATIONSHIP.ISSPOUSE = 1
      left outer join dbo.DECEASEDCONSTITUENT as SPOUSEDECEASEDCONSTIT on SPOUSEDECEASEDCONSTIT.ID = RELATIONSHIP.RECIPROCALCONSTITUENTID
      left outer join dbo.CONSTITUENT as SPOUSE on SPOUSE.ID = RELATIONSHIP.RECIPROCALCONSTITUENTID and SPOUSEDECEASEDCONSTIT.ID is null and SPOUSE.ISINACTIVE = 0
      where CONSTITUENT.ID = @CONSTITUENTID;
    end
  else
    begin
      select
        @NAME = dbo.UFN_BUILDNAMEFORMAT(
          @NAMEFORMATFUNCTIONID,
          CONSTITUENT.ID,
          CONSTITUENT.KEYNAME,
          CONSTITUENT.FIRSTNAME,
          CONSTITUENT.MIDDLENAME,
          (select DESCRIPTION from dbo.TITLECODE where ID = CONSTITUENT.TITLECODEID),
          (select DESCRIPTION from dbo.SUFFIXCODE where ID = CONSTITUENT.SUFFIXCODEID),
          '',
          '',
          '',
          '',
          ''
        )
      from dbo.CONSTITUENT
      where CONSTITUENT.ID = @CONSTITUENTID;
    end

  -- CONDBREAK is not currently handled anywhere, so just remove it, at least for now.

  set @NAME = replace(@NAME, N'{CONDBREAK}', N' ');

  return @NAME;
end;