UFN_FINDCONSTITUENTMATCHES_COMPOSITETHRESHOLD_3
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@TITLECODEID | uniqueidentifier | IN | |
@FIRSTNAME | nvarchar(50) | IN | |
@MIDDLENAME | nvarchar(50) | IN | |
@KEYNAME | nvarchar(100) | IN | |
@SUFFIXCODEID | uniqueidentifier | IN | |
@ADDRESSBLOCK | nvarchar(150) | IN | |
@POSTCODE | nvarchar(12) | IN | |
@COUNTRYID | uniqueidentifier | IN | |
@ISORGANIZATION | bit | IN | |
@ISGROUP | bit | IN | |
@LOOKUPID | nvarchar(100) | IN | |
@ALTERNATELOOKUPIDS | xml | IN | |
@EMAILADDRESS | nvarchar(100) | IN | |
@PHONENUMBER | nvarchar(100) | IN | |
@OVERALLMATCHTHRESHOLD | tinyint | IN | |
@AUTOMATCHTHRESHOLD | tinyint | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CONSTITUENTDUPLICATEMATCHINGENABLED | bit | IN |
Definition
Copy
CREATE function dbo.UFN_FINDCONSTITUENTMATCHES_COMPOSITETHRESHOLD_3 (
@TITLECODEID uniqueidentifier,
@FIRSTNAME nvarchar(50),
@MIDDLENAME nvarchar(50),
@KEYNAME nvarchar(100),
@SUFFIXCODEID uniqueidentifier,
@ADDRESSBLOCK nvarchar(150),
@POSTCODE nvarchar(12),
@COUNTRYID uniqueidentifier,
@ISORGANIZATION bit,
@ISGROUP bit,
@LOOKUPID nvarchar(100),
@ALTERNATELOOKUPIDS xml,
@EMAILADDRESS nvarchar(100),
@PHONENUMBER nvarchar(100),
@OVERALLMATCHTHRESHOLD tinyint,
@AUTOMATCHTHRESHOLD tinyint,
@CURRENTAPPUSERID uniqueidentifier,
@CONSTITUENTDUPLICATEMATCHINGENABLED bit = 0
)
returns @MATCHES table (
CONSTITUENTID uniqueidentifier,
ADDRESSID uniqueidentifier,
EMAILADDRESSID uniqueidentifier,
PHONEID uniqueidentifier,
MATCHPERCENTAGE tinyint,
STREETNUMBERRESULT tinyint,
STREETNAMERESULT tinyint,
POSTCODERESULT tinyint
)
as
begin
-- use the given threshold if provided, otherwise fetch it from the table
if @OVERALLMATCHTHRESHOLD is null or @AUTOMATCHTHRESHOLD is null
select top(1)
@OVERALLMATCHTHRESHOLD = isnull(@OVERALLMATCHTHRESHOLD,OVERALLMATCHTHRESHOLD),
@AUTOMATCHTHRESHOLD = isnull(@AUTOMATCHTHRESHOLD,AUTOMATCHTHRESHOLD)
from dbo.CONSTITUENTDUPLICATESEARCHSETTINGS
where TRANSACTIONTYPE = 'Default Criteria'
order by DATECHANGED;
if @AUTOMATCHTHRESHOLD > 0 or @OVERALLMATCHTHRESHOLD > 0
begin
insert into @MATCHES
select CONSTITUENTID, ADDRESSID, EMAILADDRESSID, PHONEID, COMPOSITESCORE, STREETNUMBERRESULT, STREETNAMERESULT, POSTCODERESULT
from dbo.UFN_FINDCONSTITUENTMATCHES_3(@TITLECODEID, @FIRSTNAME, @MIDDLENAME, @KEYNAME, @SUFFIXCODEID, @ADDRESSBLOCK, @POSTCODE, @COUNTRYID, @ISORGANIZATION, @ISGROUP, @LOOKUPID, @ALTERNATELOOKUPIDS, @EMAILADDRESS, @PHONENUMBER, @OVERALLMATCHTHRESHOLD, @AUTOMATCHTHRESHOLD) as MATCHES
where COMPOSITESCORE >= isnull(nullif(@OVERALLMATCHTHRESHOLD, 0), @AUTOMATCHTHRESHOLD)
and ( @CONSTITUENTDUPLICATEMATCHINGENABLED = 0
or exists(select SITEID from dbo.UFN_SITEID_MAPFROM_CONSTITUENTID(MATCHES.CONSTITUENTID) as CONSTITUENTSITES where dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, CONSTITUENTSITES.SITEID) = 1)
or @CURRENTAPPUSERID is null);
end
return
end