UFN_BATCHREVENUECONSTITUENT_NAMEFORMAT_FROMID

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

Return

Return Type
nvarchar(700)

Parameters

Parameter Parameter Type Mode Description
@NAMEFORMATFUNCTIONID uniqueidentifier IN
@BATCHREVENUECONSTITUENTID uniqueidentifier IN

Definition

Copy


            create function dbo.UFN_BATCHREVENUECONSTITUENT_NAMEFORMAT_FROMID(
                @NAMEFORMATFUNCTIONID uniqueidentifier,
                @BATCHREVENUECONSTITUENTID uniqueidentifier
            ) returns nvarchar(700)
            with execute as caller
            as begin
                declare @NAME nvarchar(700);

                select
                    @NAME = dbo.UFN_BUILDNAMEFORMAT(
                        @NAMEFORMATFUNCTIONID,
                        coalesce(CONSTITUENT.ID, BATCHREVENUECONSTITUENT.ID),
                        coalesce(CONSTITUENT.KEYNAME, BATCHREVENUECONSTITUENT.KEYNAME),
                        coalesce(CONSTITUENT.FIRSTNAME, BATCHREVENUECONSTITUENT.FIRSTNAME),
                        coalesce(CONSTITUENT.MIDDLENAME, BATCHREVENUECONSTITUENT.MIDDLENAME),
                        (select DESCRIPTION from dbo.TITLECODE where ID = coalesce(CONSTITUENT.TITLECODEID, BATCHREVENUECONSTITUENT.TITLECODEID)),
                        (select DESCRIPTION from dbo.SUFFIXCODE where ID = coalesce(CONSTITUENT.SUFFIXCODEID, BATCHREVENUECONSTITUENT.SUFFIXCODEID)),
                        coalesce(EXISTING_SPOUSE.KEYNAME, NEW_EXISTING_SPOUSE.KEYNAME, NEW_SPOUSE.KEYNAME),
                        coalesce(EXISTING_SPOUSE.FIRSTNAME, NEW_EXISTING_SPOUSE.FIRSTNAME, NEW_SPOUSE.FIRSTNAME),
                        coalesce(EXISTING_SPOUSE.MIDDLENAME, NEW_EXISTING_SPOUSE.MIDDLENAME, NEW_SPOUSE.MIDDLENAME),
                        (select DESCRIPTION from dbo.TITLECODE where ID = coalesce(EXISTING_SPOUSE.TITLECODEID, NEW_EXISTING_SPOUSE.TITLECODEID, NEW_SPOUSE.TITLECODEID)),
                        (select DESCRIPTION from dbo.SUFFIXCODE where ID = coalesce(EXISTING_SPOUSE.SUFFIXCODEID, NEW_EXISTING_SPOUSE.SUFFIXCODEID, NEW_SPOUSE.SUFFIXCODEID))
                    )
                from dbo.BATCHREVENUECONSTITUENT
                    left join dbo.CONSTITUENT on BATCHREVENUECONSTITUENT.EXISTINGCONSTITUENTID = CONSTITUENT.ID    
                    left join dbo.RELATIONSHIP on CONSTITUENT.ID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID and RELATIONSHIP.ISSPOUSE <> 0
                    left join dbo.CONSTITUENT as EXISTING_SPOUSE on EXISTING_SPOUSE.ID = RELATIONSHIP.RECIPROCALCONSTITUENTID
                    left join dbo.BATCHREVENUECONSTITUENTRELATION on BATCHREVENUECONSTITUENT.ID = BATCHREVENUECONSTITUENTRELATION.CONSTITUENTID and BATCHREVENUECONSTITUENTRELATION.ISSPOUSE <> 0
                    left join dbo.BATCHREVENUECONSTITUENT as NEW_SPOUSE on BATCHREVENUECONSTITUENTRELATION.RELATIONID = NEW_SPOUSE.ID
                    left join dbo.CONSTITUENT as NEW_EXISTING_SPOUSE on NEW_SPOUSE.EXISTINGCONSTITUENTID = NEW_EXISTING_SPOUSE.ID
                where
                    BATCHREVENUECONSTITUENT.ID = @BATCHREVENUECONSTITUENTID;

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

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

                return @NAME;
            end;