USP_DATAFORMTEMPLATE_EDITLOAD_CONSTITUENTUPDATEBATCHDUPLICATEMATCH
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @ID | uniqueidentifier | IN | |
| @DATALOADED | bit | INOUT | |
| @TSLONG | bigint | INOUT | |
| @LOOKUPID | nvarchar(50) | INOUT | |
| @FIRSTNAME | nvarchar(50) | INOUT | |
| @MIDDLENAME | nvarchar(50) | INOUT | |
| @LASTNAME | nvarchar(100) | INOUT | |
| @SUFFIXCODEID | uniqueidentifier | INOUT | |
| @TITLECODEID | uniqueidentifier | INOUT | |
| @MAIDENNAME | nvarchar(100) | INOUT | |
| @NICKNAME | nvarchar(50) | INOUT | |
| @GENDERCODE | tinyint | INOUT | |
| @BIRTHDATE | UDT_FUZZYDATE | INOUT | |
| @ADDRESSID | uniqueidentifier | INOUT | |
| @ADDRESSTYPECODEID | uniqueidentifier | INOUT | |
| @ADDRESS_ADDRESSBLOCK | nvarchar(150) | INOUT | |
| @ADDRESS_CITY | nvarchar(50) | INOUT | |
| @ADDRESS_STATEID | uniqueidentifier | INOUT | |
| @ADDRESS_POSTCODE | nvarchar(12) | INOUT | |
| @ADDRESS_COUNTRYID | uniqueidentifier | INOUT | |
| @PHONEID | uniqueidentifier | INOUT | |
| @PHONETYPECODEID | uniqueidentifier | INOUT | |
| @PHONENUMBER | nvarchar(100) | INOUT | |
| @EMAILID | uniqueidentifier | INOUT | |
| @EMAILADDRESSTYPECODEID | uniqueidentifier | INOUT | |
| @EMAILADDRESS | UDT_EMAILADDRESS | INOUT | |
| @CREATEDON | datetime | INOUT | |
| @DATECHANGED | datetime | INOUT | |
| @ADDRESSES | xml | INOUT | |
| @PHONES | xml | INOUT | |
| @EMAILADDRESSES | xml | INOUT | |
| @CONSTITUENTACTION | tinyint | INOUT | |
| @ADDRESSACTION | tinyint | INOUT | |
| @EMAILACTION | tinyint | INOUT | |
| @PHONEACTION | tinyint | INOUT | |
| @PRIMARYRECORDID | uniqueidentifier | INOUT | |
| @EMAILISPRIMARY | bit | INOUT | |
| @PHONEISPRIMARY | bit | INOUT | |
| @ADDRESSISPRIMARY | bit | INOUT | |
| @INCOMINGADDRESSID | uniqueidentifier | INOUT | |
| @INCOMINGEMAILID | uniqueidentifier | INOUT | |
| @INCOMINGPHONEID | uniqueidentifier | INOUT | |
| @SIMILARADDRESSCODE | tinyint | INOUT | |
| @UNSIMILARADDRESSCODE | tinyint | INOUT | |
| @NEWADDRESSPRIMARYCODE | tinyint | INOUT | |
| @DIFFERENTPHONECODE | tinyint | INOUT | |
| @NEWPHONEPRIMARYCODE | tinyint | INOUT | |
| @DIFFERENTEMAILCODE | tinyint | INOUT | |
| @NEWEMAILPRIMARYCODE | tinyint | INOUT | |
| @DECEASED | bit | INOUT | |
| @DECEASEDDATE | UDT_FUZZYDATE | INOUT | |
| @GIVESANONYMOUSLY | bit | INOUT | |
| @MARITALSTATUSCODEID | uniqueidentifier | INOUT | |
| @WEBADDRESS | UDT_WEBADDRESS | INOUT | |
| @ADDRESSHISTORICALSTARTDATE | date | INOUT | |
| @ADDRESSHISTORICALENDDATE | date | INOUT | |
| @ADDRESSDONOTMAIL | bit | INOUT | |
| @ADDRESSDONOTMAILREASONCODEID | uniqueidentifier | INOUT | |
| @ADDRESSSTARTDATE | UDT_MONTHDAY | INOUT | |
| @ADDRESSENDDATE | UDT_MONTHDAY | INOUT | |
| @ADDRESSDPC | nvarchar(max) | INOUT | |
| @ADDRESSCART | nvarchar(max) | INOUT | |
| @ADDRESSLOT | nvarchar(5) | INOUT | |
| @ADDRESSINFOSOURCECODEID | uniqueidentifier | INOUT | |
| @ADDRESSINFOSOURCECOMMENTS | nvarchar(256) | INOUT | |
| @ADDRESSCOUNTYCODEID | uniqueidentifier | INOUT | |
| @ADDRESSREGIONCODEID | uniqueidentifier | INOUT | |
| @ADDRESSCONGRESSIONALDISTRICTCODEID | uniqueidentifier | INOUT | |
| @ADDRESSSTATEHOUSEDISTRICTCODEID | uniqueidentifier | INOUT | |
| @ADDRESSSTATESENATEDISTRICTCODEID | uniqueidentifier | INOUT | |
| @ADDRESSLOCALPRECINCTCODEID | uniqueidentifier | INOUT | |
| @ADDRESSCERTIFICATIONDATA | int | INOUT | |
| @ADDRESSLASTVALIDATIONATTEMPTDATE | date | INOUT | |
| @ADDRESSOMITFROMVALIDATION | bit | INOUT | |
| @ADDRESSVALIDATIONMESSAGE | nvarchar(200) | INOUT | |
| @PHONEDONOTCALL | bit | INOUT | |
| @PHONESTARTTIME | UDT_HOURMINUTE | INOUT | |
| @PHONEENDTIME | UDT_HOURMINUTE | INOUT | |
| @PHONEINFOSOURCECODEID | uniqueidentifier | INOUT | |
| @PHONECOUNTRYID | uniqueidentifier | INOUT | |
| @PHONESTARTDATE | date | INOUT | |
| @PHONEENDDATE | date | INOUT | |
| @PHONESEASONALSTARTDATE | UDT_MONTHDAY | INOUT | |
| @PHONESEASONALENDDATE | UDT_MONTHDAY | INOUT | |
| @EMAILADDRESSDONOTEMAIL | bit | INOUT | |
| @EMAILADDRESSINFOSOURCECODEID | uniqueidentifier | INOUT | |
| @EMAILADDRESSSTARTDATE | date | INOUT | |
| @EMAILADDRESSENDDATE | date | INOUT | |
| @CONSTITUENCIES | xml | INOUT | |
| @ORIGINAL_KEYNAME | nvarchar(100) | INOUT | |
| @ORIGINAL_FIRSTNAME | nvarchar(50) | INOUT | |
| @SOLICITCODES | xml | INOUT | |
| @GENDERCODEID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_CONSTITUENTUPDATEBATCHDUPLICATEMATCH (
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@LOOKUPID nvarchar(50) = null output,
@FIRSTNAME nvarchar(50) = null output,
@MIDDLENAME nvarchar(50) = null output,
@LASTNAME nvarchar(100) = null output, -- also used as ORGANIZATIONNAME
@SUFFIXCODEID uniqueidentifier = null output,
@TITLECODEID uniqueidentifier = null output,
@MAIDENNAME nvarchar(100) = null output,
@NICKNAME nvarchar(50) = null output,
@GENDERCODE tinyint = null output,
@BIRTHDATE dbo.UDT_FUZZYDATE = null output,
@ADDRESSID uniqueidentifier = null output,
@ADDRESSTYPECODEID uniqueidentifier = null output,
@ADDRESS_ADDRESSBLOCK nvarchar(150) = null output,
@ADDRESS_CITY nvarchar(50) = null output,
@ADDRESS_STATEID uniqueidentifier = null output,
@ADDRESS_POSTCODE nvarchar(12) = null output,
@ADDRESS_COUNTRYID uniqueidentifier = null output,
@PHONEID uniqueidentifier = null output,
@PHONETYPECODEID uniqueidentifier = null output,
@PHONENUMBER nvarchar(100) = null output,
@EMAILID uniqueidentifier = null output,
@EMAILADDRESSTYPECODEID uniqueidentifier = null output,
@EMAILADDRESS dbo.UDT_EMAILADDRESS = null output,
@CREATEDON datetime = null output,
@DATECHANGED datetime = null output,
@ADDRESSES xml = null output,
@PHONES xml = null output,
@EMAILADDRESSES xml = null output,
@CONSTITUENTACTION tinyint = null output,
@ADDRESSACTION tinyint = null output,
@EMAILACTION tinyint = null output,
@PHONEACTION tinyint = null output,
@PRIMARYRECORDID uniqueidentifier = null output,
@EMAILISPRIMARY bit = null output,
@PHONEISPRIMARY bit = null output,
@ADDRESSISPRIMARY bit = null output,
@INCOMINGADDRESSID uniqueidentifier = null output,
@INCOMINGEMAILID uniqueidentifier = null output,
@INCOMINGPHONEID uniqueidentifier = null output,
@SIMILARADDRESSCODE tinyint = null output,
@UNSIMILARADDRESSCODE tinyint = null output,
@NEWADDRESSPRIMARYCODE tinyint = null output,
@DIFFERENTPHONECODE tinyint = null output,
@NEWPHONEPRIMARYCODE tinyint = null output,
@DIFFERENTEMAILCODE tinyint = null output,
@NEWEMAILPRIMARYCODE tinyint = null output,
@DECEASED bit = null output,
@DECEASEDDATE dbo.UDT_FUZZYDATE = null output,
@GIVESANONYMOUSLY bit = null output,
@MARITALSTATUSCODEID uniqueidentifier = null output,
@WEBADDRESS dbo.UDT_WEBADDRESS = null output,
@ADDRESSHISTORICALSTARTDATE date = null output,
@ADDRESSHISTORICALENDDATE date = null output,
@ADDRESSDONOTMAIL bit = null output,
@ADDRESSDONOTMAILREASONCODEID uniqueidentifier = null output,
@ADDRESSSTARTDATE dbo.UDT_MONTHDAY = null output,
@ADDRESSENDDATE dbo.UDT_MONTHDAY = null output,
@ADDRESSDPC nvarchar(max) = null output,
@ADDRESSCART nvarchar(max) = null output,
@ADDRESSLOT nvarchar(5) = null output,
@ADDRESSINFOSOURCECODEID uniqueidentifier = null output,
@ADDRESSINFOSOURCECOMMENTS nvarchar(256) = null output,
@ADDRESSCOUNTYCODEID uniqueidentifier = null output,
@ADDRESSREGIONCODEID uniqueidentifier = null output,
@ADDRESSCONGRESSIONALDISTRICTCODEID uniqueidentifier = null output,
@ADDRESSSTATEHOUSEDISTRICTCODEID uniqueidentifier = null output,
@ADDRESSSTATESENATEDISTRICTCODEID uniqueidentifier = null output,
@ADDRESSLOCALPRECINCTCODEID uniqueidentifier = null output,
@ADDRESSCERTIFICATIONDATA int = null output,
@ADDRESSLASTVALIDATIONATTEMPTDATE date = null output,
@ADDRESSOMITFROMVALIDATION bit = null output,
@ADDRESSVALIDATIONMESSAGE nvarchar(200) = null output,
@PHONEDONOTCALL bit = null output,
@PHONESTARTTIME dbo.UDT_HOURMINUTE = null output,
@PHONEENDTIME dbo.UDT_HOURMINUTE = null output,
@PHONEINFOSOURCECODEID uniqueidentifier = null output,
@PHONECOUNTRYID uniqueidentifier = null output,
@PHONESTARTDATE date = null output,
@PHONEENDDATE date = null output,
@PHONESEASONALSTARTDATE dbo.UDT_MONTHDAY = null output,
@PHONESEASONALENDDATE dbo.UDT_MONTHDAY = null output,
@EMAILADDRESSDONOTEMAIL bit = null output,
@EMAILADDRESSINFOSOURCECODEID uniqueidentifier = null output,
@EMAILADDRESSSTARTDATE date = null output,
@EMAILADDRESSENDDATE date = null output,
@CONSTITUENCIES xml = null output,
@ORIGINAL_KEYNAME nvarchar(100) = null output,
@ORIGINAL_FIRSTNAME nvarchar(50) = null output,
@SOLICITCODES xml = null output,
@GENDERCODEID uniqueidentifier = null output
)
as
set nocount on;
-- be sure to set these, in case the select returns no rows
set @DATALOADED = 0
set @TSLONG = 0
select @DATALOADED = 1,
@TSLONG = BATCHCONSTITUENTUPDATE.TSLONG,
@BIRTHDATE = [BIRTHDATE],
@FIRSTNAME = [FIRSTNAME],
@LASTNAME = [KEYNAME],
@MAIDENNAME = [MAIDENNAME],
@MIDDLENAME = [MIDDLENAME],
@NICKNAME = [NICKNAME],
@SUFFIXCODEID = [SUFFIXCODEID],
@TITLECODEID = [TITLECODEID],
@ADDRESSES = dbo.UFN_BATCHCONSTITUENTUPDATE_GETADDRESSES_WITHDATES_TOITEMLISTXML(BATCHCONSTITUENTUPDATE.ID),
@PHONES = dbo.UFN_BATCHCONSTITUENTUPDATE_GETPHONES_WITHDATES_TOITEMLISTXML(BATCHCONSTITUENTUPDATE.ID),
@EMAILADDRESSES = dbo.UFN_BATCHCONSTITUENTUPDATE_GETEMAILADDRESSES_WITHDATES_2_TOITEMLISTXML(BATCHCONSTITUENTUPDATE.ID),
@MARITALSTATUSCODEID = [MARITALSTATUSCODEID],
@GIVESANONYMOUSLY = [GIVESANONYMOUSLY],
@DECEASED = [DECEASED],
@DECEASEDDATE = [DECEASEDDATE],
@WEBADDRESS = [WEBADDRESS],
@GENDERCODE = [GENDERCODE],
@ADDRESSHISTORICALSTARTDATE = HISTORICALSTARTDATE,
@ADDRESSHISTORICALENDDATE = HISTORICALENDDATE,
@ADDRESSDONOTMAIL = DONOTMAIL,
@ADDRESSDONOTMAILREASONCODEID = DONOTMAILREASONCODEID,
@ADDRESSSTARTDATE = BATCHCONSTITUENTUPDATEADDRESSES.STARTDATE,
@ADDRESSENDDATE = BATCHCONSTITUENTUPDATEADDRESSES.ENDDATE,
@ADDRESSDPC = DPC,
@ADDRESSCART = CART,
@ADDRESSLOT = LOT,
@ADDRESSINFOSOURCECODEID = BATCHCONSTITUENTUPDATEADDRESSES.INFOSOURCECODEID,
@ADDRESSINFOSOURCECOMMENTS = BATCHCONSTITUENTUPDATEADDRESSES.INFOSOURCECOMMENTS,
@ADDRESSCOUNTYCODEID = BATCHCONSTITUENTUPDATEADDRESSES.COUNTYCODEID,
@ADDRESSREGIONCODEID = BATCHCONSTITUENTUPDATEADDRESSES.REGIONCODEID,
@ADDRESSCONGRESSIONALDISTRICTCODEID = BATCHCONSTITUENTUPDATEADDRESSES.CONGRESSIONALDISTRICTCODEID,
@ADDRESSSTATEHOUSEDISTRICTCODEID = BATCHCONSTITUENTUPDATEADDRESSES.STATEHOUSEDISTRICTCODEID,
@ADDRESSSTATESENATEDISTRICTCODEID = BATCHCONSTITUENTUPDATEADDRESSES.STATESENATEDISTRICTCODEID,
@ADDRESSLOCALPRECINCTCODEID = BATCHCONSTITUENTUPDATEADDRESSES.LOCALPRECINCTCODEID,
@ADDRESSCERTIFICATIONDATA = BATCHCONSTITUENTUPDATEADDRESSES.CERTIFICATIONDATA,
@ADDRESSLASTVALIDATIONATTEMPTDATE = BATCHCONSTITUENTUPDATEADDRESSES.LASTVALIDATIONATTEMPTDATE,
@ADDRESSOMITFROMVALIDATION = BATCHCONSTITUENTUPDATEADDRESSES.OMITFROMVALIDATION,
@ADDRESSVALIDATIONMESSAGE = BATCHCONSTITUENTUPDATEADDRESSES.VALIDATIONMESSAGE,
@PHONEDONOTCALL = BATCHCONSTITUENTUPDATEPHONES.DONOTCALL,
@PHONECOUNTRYID = BATCHCONSTITUENTUPDATEPHONES.COUNTRYID,
@PHONESEASONALSTARTDATE = BATCHCONSTITUENTUPDATEPHONES.SEASONALSTARTDATE,
@PHONESEASONALENDDATE = BATCHCONSTITUENTUPDATEPHONES.SEASONALENDDATE,
@PHONESTARTTIME = BATCHCONSTITUENTUPDATEPHONES.STARTTIME,
@PHONEENDTIME = BATCHCONSTITUENTUPDATEPHONES.ENDTIME,
@PHONESTARTDATE = BATCHCONSTITUENTUPDATEPHONES.STARTDATE,
@PHONEENDDATE = BATCHCONSTITUENTUPDATEPHONES.ENDDATE,
@PHONEINFOSOURCECODEID = BATCHCONSTITUENTUPDATEPHONES.INFOSOURCECODEID,
@EMAILADDRESSDONOTEMAIL = BATCHCONSTITUENTUPDATEEMAILADDRESSES.DONOTEMAIL,
@EMAILADDRESSSTARTDATE = BATCHCONSTITUENTUPDATEEMAILADDRESSES.STARTDATE,
@EMAILADDRESSENDDATE = BATCHCONSTITUENTUPDATEEMAILADDRESSES.ENDDATE,
@EMAILADDRESSINFOSOURCECODEID = BATCHCONSTITUENTUPDATEEMAILADDRESSES.INFOSOURCECODEID,
@CONSTITUENCIES = CONSTITUENCIESXML.CONSTITUENCIES,
@ORIGINAL_KEYNAME = BATCHCONSTITUENTUPDATE.ORIGINAL_KEYNAME,
@ORIGINAL_FIRSTNAME = BATCHCONSTITUENTUPDATE.ORIGINAL_FIRSTNAME,
@SOLICITCODES = dbo.UFN_CONSTITUENTUPDATEBATCH_GETSOLICITCODES_TOITEMLISTXML(BATCHCONSTITUENTUPDATE.ID),
@GENDERCODEID = BATCHCONSTITUENTUPDATE.GENDERCODEID
from dbo.BATCHCONSTITUENTUPDATE
left join dbo.BATCHCONSTITUENTUPDATEADDRESSES
on (BATCHCONSTITUENTUPDATEADDRESSES.BATCHCONSTITUENTUPDATEID = BATCHCONSTITUENTUPDATE.ID
and BATCHCONSTITUENTUPDATEADDRESSES.ISPRIMARY = 1)
left join dbo.BATCHCONSTITUENTUPDATEPHONES
on (BATCHCONSTITUENTUPDATEPHONES.BATCHCONSTITUENTUPDATEID = BATCHCONSTITUENTUPDATE.ID
and BATCHCONSTITUENTUPDATEPHONES.ISPRIMARY = 1)
left join dbo.BATCHCONSTITUENTUPDATEEMAILADDRESSES
on (BATCHCONSTITUENTUPDATEEMAILADDRESSES.BATCHCONSTITUENTUPDATEID = BATCHCONSTITUENTUPDATE.ID
and BATCHCONSTITUENTUPDATEEMAILADDRESSES.ISPRIMARY = 1)
cross apply (
select (
select
CONSTITUENCYCODEID as '@CONSTITUENCYCODEID',
ORIGINALCONSTITUENCYID as '@ORIGINALCONSTITUENCYID',
DATEFROM as '@DATEFROM',
DATETO as '@DATETO'
from (
select
CONSTITUENCYCODEID,
ORIGINALCONSTITUENCYID,
DATEFROM,
DATETO
from
dbo.BATCHCONSTITUENTUPDATECONSTITUENCIES
where
BATCHCONSTITUENTUPDATECONSTITUENCIES.BATCHCONSTITUENTUPDATEID = @ID
union all
select
CONSTITUENCYCODEID,
ORIGINALCONSTITUENCYID,
DATEFROM,
DATETO
from
dbo.BATCHCONSTITUENTUPDATECONSTITUENCIESSYSTEM
where
BATCHCONSTITUENTUPDATECONSTITUENCIESSYSTEM.BATCHCONSTITUENTUPDATEID = @ID
) CONSTITUENCIES
for xml path('ITEM'), type, elements, root('CONSTITUENCIES'), BINARY BASE64
) CONSTITUENCIES
) CONSTITUENCIESXML
where BATCHCONSTITUENTUPDATE.ID = @ID;
return 0;