USP_DATAFORMTEMPLATE_EDITLOAD_CONSTITUENTUPDATEBATCHTEMPLATE
The load procedure used by the edit dataform template "Constituent Update Batch Template Edit Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@VALIDATEONLY | bit | INOUT | Validate only |
@CONSTITUENTTYPECODE | tinyint | INOUT | Constituent type |
@BIRTHDATE | UDT_FUZZYDATE | INOUT | Birth date |
@FIRSTNAME | nvarchar(50) | INOUT | First name |
@GENDERCODE | tinyint | INOUT | Gender |
@GIVESANONYMOUSLY | bit | INOUT | Gives anonymously |
@KEYNAME | nvarchar(100) | INOUT | Last name |
@LOOKUPID | nvarchar(100) | INOUT | Lookup ID |
@MAIDENNAME | nvarchar(100) | INOUT | Maiden name |
@MIDDLENAME | nvarchar(50) | INOUT | Middle name |
@NICKNAME | nvarchar(50) | INOUT | Nickname |
@SUFFIXCODEID | uniqueidentifier | INOUT | Suffix |
@TITLECODEID | uniqueidentifier | INOUT | Title |
@WEBADDRESS | UDT_WEBADDRESS | INOUT | Website |
@ALTERNATELOOKUPIDS | xml | INOUT | Alternate lookup IDs |
@SECURITYATTRIBUTES | xml | INOUT | Security attributes |
@DECEASED | bit | INOUT | Deceased |
@DECEASEDDATE | UDT_FUZZYDATE | INOUT | Deceased date |
@CONSTITUENT_SITEID | uniqueidentifier | INOUT | Constituent site |
@INTERESTS | xml | INOUT | Interests |
@PROSPECTMANAGERFUNDRAISERID | uniqueidentifier | INOUT | Prospect manager |
@ADDRESSES | xml | INOUT | Addresses |
@EMAILADDRESSES | xml | INOUT | Email addresses |
@PHONES | xml | INOUT | Phones |
@CONSTITUENCIES | xml | INOUT | Constituencies |
@GROUPTYPEID | uniqueidentifier | INOUT | Group type |
@GROUPDESCRIPTION | nvarchar(300) | INOUT | Group description |
@GROUPSTARTDATE | date | INOUT | Group consolidation date |
@ORG_INDUSTRYCODEID | uniqueidentifier | INOUT | Constituent's industry |
@ORG_NUMEMPLOYEES | int | INOUT | Number of employees |
@ORG_NUMSUBSIDIARIES | int | INOUT | Number of subsidiaries |
@ORG_PARENTCORPID | uniqueidentifier | INOUT | Parent corporation |
@MARITALSTATUSCODEID | uniqueidentifier | INOUT | Marital status |
@SPOUSE_ID | uniqueidentifier | INOUT | Spouse |
@SPOUSE_BIRTHDATE | UDT_FUZZYDATE | INOUT | Spouse birth date |
@SPOUSE_FIRSTNAME | nvarchar(50) | INOUT | Spouse first name |
@SPOUSE_GENDERCODE | tinyint | INOUT | Spouse gender |
@SPOUSE_LASTNAME | nvarchar(100) | INOUT | Spouse last name |
@SPOUSE_LOOKUPID | nvarchar(100) | INOUT | Spouse lookup ID |
@SPOUSE_MAIDENNAME | nvarchar(100) | INOUT | Spouse maiden name |
@SPOUSE_MIDDLENAME | nvarchar(50) | INOUT | Spouse middle name |
@SPOUSE_NICKNAME | nvarchar(50) | INOUT | Spouse nickname |
@SPOUSE_SUFFIXCODEID | uniqueidentifier | INOUT | Spouse suffix |
@SPOUSE_TITLECODEID | uniqueidentifier | INOUT | Spouse title |
@SPOUSE_RELATIONSHIPTYPECODEID | uniqueidentifier | INOUT | Relation to spouse |
@SPOUSE_RECIPROCALTYPECODEID | uniqueidentifier | INOUT | Spouse's relation to constituent |
@BUSINESS_ADDRESSBLOCK | nvarchar(150) | INOUT | Business address |
@BUSINESS_ADDRESSTYPECODEID | uniqueidentifier | INOUT | Business address type |
@BUSINESS_CART | nvarchar(10) | INOUT | Business CART |
@BUSINESS_CITY | nvarchar(50) | INOUT | Business city |
@BUSINESS_COUNTRYID | uniqueidentifier | INOUT | Business country |
@BUSINESS_DONOTMAIL | bit | INOUT | Business do not mail |
@BUSINESS_DONOTMAILREASONCODEID | uniqueidentifier | INOUT | Business do not mail reason |
@BUSINESS_DPC | nvarchar(8) | INOUT | Business DPC |
@BUSINESS_EMAILADDRESS | UDT_EMAILADDRESS | INOUT | Business email address |
@BUSINESS_EMAILADDRESSTYPECODEID | uniqueidentifier | INOUT | Business email type |
@BUSINESS_INDUSTRYCODEID | uniqueidentifier | INOUT | Industry |
@BUSINESS_LOOKUPID | nvarchar(100) | INOUT | Business lookup ID |
@BUSINESS_LOT | nvarchar(5) | INOUT | Business LOT |
@BUSINESS_ID | uniqueidentifier | INOUT | Business |
@BUSINESS_NAME | nvarchar(100) | INOUT | Business name |
@BUSINESS_NUMEMPLOYEES | int | INOUT | Business number of employees |
@BUSINESS_NUMSUBSIDIARIES | int | INOUT | Business number of subsidiaries |
@BUSINESS_PARENTCORPID | uniqueidentifier | INOUT | Business parent organization |
@BUSINESS_PHONENUMBER | nvarchar(100) | INOUT | Business phone number |
@BUSINESS_PHONE_COUNTRYID | uniqueidentifier | INOUT | Business phone number country |
@BUSINESS_PHONETYPECODEID | uniqueidentifier | INOUT | Business phone type |
@BUSINESS_RELATIONSHIPTYPECODEID | uniqueidentifier | INOUT | Relation to business |
@BUSINESS_RECIPROCALTYPECODEID | uniqueidentifier | INOUT | Business's relation to constituent |
@BUSINESS_STATEID | uniqueidentifier | INOUT | Business state |
@BUSINESS_WEBADDRESS | UDT_WEBADDRESS | INOUT | Business website |
@BUSINESS_POSTCODE | nvarchar(12) | INOUT | Business ZIP |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@SPOUSE_RELATIONSHIPTYPECODEIDSIMPLELIST | uniqueidentifier | INOUT | Spouse relationship type |
@SPOUSE_RECIPROCALTYPECODEIDSIMPLELIST | uniqueidentifier | INOUT | Spouse reciprocal type |
@BUSINESS_RELATIONSHIPTYPECODEIDSIMPLELIST | uniqueidentifier | INOUT | Business relationship type |
@BUSINESS_RECIPROCALTYPECODEIDSIMPLELIST | uniqueidentifier | INOUT | Business reciprocal type |
@BUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS | bit | INOUT | Apply recognition from business |
@BUSINESS_PRIMARYSOFTCREDITMATCHFACTOR | decimal(5, 2) | INOUT | Recognition from business match percent |
@BUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS | bit | INOUT | Apply recognition to business |
@BUSINESS_RECIPROCALSOFTCREDITMATCHFACTOR | decimal(5, 2) | INOUT | Recognition to business match percent |
@BUSINESS_PRIMARYRECOGNITIONTYPECODEID | uniqueidentifier | INOUT | Recognition from business type |
@BUSINESS_RECIPROCALRECOGNITIONTYPECODEID | uniqueidentifier | INOUT | Recognition to business type |
@BUSINESS_EMAILADDRESSSTARTDATE | date | INOUT | Business email start date |
@SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS | bit | INOUT | Apply recognition from spouse |
@SPOUSE_PRIMARYSOFTCREDITMATCHFACTOR | decimal(5, 2) | INOUT | Recognition from spouse match percent |
@SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS | bit | INOUT | Apply recognition to spouse |
@SPOUSE_RECIPROCALSOFTCREDITMATCHFACTOR | decimal(5, 2) | INOUT | Recognition to spouse match percent |
@SPOUSE_PRIMARYRECOGNITIONTYPECODEID | uniqueidentifier | INOUT | Recognition from spouse type |
@SPOUSE_RECIPROCALRECOGNITIONTYPECODEID | uniqueidentifier | INOUT | Recognition to spouse type |
@CONSTITUENT_SITES | xml | INOUT | Constituent sites |
@BATCHOWNERID | uniqueidentifier | INOUT | Batch owner ID |
@BATCHROWID | uniqueidentifier | INOUT | Batch row ID |
@SPOUSE_ALTERNATELOOKUPIDS | xml | INOUT | Spouse alternate lookup IDs |
@SPOUSE_IMPORTLOOKUPID | nvarchar(100) | INOUT | |
@ROWFROMBATCHUI | bit | INOUT | |
@BBNCTRANID | int | INOUT | |
@REMOVESPOUSE | bit | INOUT | |
@SOCIALMEDIAACCOUNTS | xml | INOUT | |
@RELATIONSHIPS | xml | INOUT | |
@NETCOMMUNITYTRANSACTIONPROCESSORID | uniqueidentifier | INOUT | |
@NEWADDRESSENDDATECODE | tinyint | INOUT | |
@CREATEHISTORICALNAMECODE | tinyint | INOUT | |
@NEWPHONEENDDATECODE | tinyint | INOUT | |
@NEWEMAILENDDATECODE | tinyint | INOUT | |
@NAMEFORMATS | xml | INOUT | |
@REQUESTSNOEMAIL | bit | INOUT | |
@SOLICITCODES | xml | INOUT | |
@GENDERCODEID | uniqueidentifier | INOUT | |
@SPOUSE_GENDERCODEID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_CONSTITUENTUPDATEBATCHTEMPLATE (
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@VALIDATEONLY bit = null output,
@CONSTITUENTTYPECODE tinyint = null output,
@BIRTHDATE dbo.UDT_FUZZYDATE = null output,
@FIRSTNAME nvarchar(50) = null output,
@GENDERCODE tinyint = null output,
@GIVESANONYMOUSLY bit = null output,
@KEYNAME nvarchar(100) = null output,
@LOOKUPID nvarchar(100) = null output,
@MAIDENNAME nvarchar(100) = null output,
@MIDDLENAME nvarchar(50) = null output,
@NICKNAME nvarchar(50) = null output,
@SUFFIXCODEID uniqueidentifier = null output,
@TITLECODEID uniqueidentifier = null output,
@WEBADDRESS dbo.UDT_WEBADDRESS = null output,
@ALTERNATELOOKUPIDS xml = null output,
@SECURITYATTRIBUTES xml = null output,
@DECEASED bit = null output,
@DECEASEDDATE dbo.UDT_FUZZYDATE = null output,
@CONSTITUENT_SITEID uniqueidentifier = null output,
@INTERESTS xml = null output,
@PROSPECTMANAGERFUNDRAISERID uniqueidentifier = null output,
--@EDUCATIONALINVOLVEMENTS xml = null output,
@ADDRESSES xml = null output,
@EMAILADDRESSES xml = null output,
@PHONES xml = null output,
@CONSTITUENCIES xml = null output,
@GROUPTYPEID uniqueidentifier = null output,
@GROUPDESCRIPTION nvarchar(300) = null output,
@GROUPSTARTDATE date = null output,
@ORG_INDUSTRYCODEID uniqueidentifier = null output,
@ORG_NUMEMPLOYEES int = null output,
@ORG_NUMSUBSIDIARIES int = null output,
@ORG_PARENTCORPID uniqueidentifier = null output,
@MARITALSTATUSCODEID uniqueidentifier = null output,
@SPOUSE_ID uniqueidentifier = null output,
@SPOUSE_BIRTHDATE dbo.UDT_FUZZYDATE = null output,
@SPOUSE_FIRSTNAME nvarchar(50) = null output,
@SPOUSE_GENDERCODE tinyint = null output,
@SPOUSE_LASTNAME nvarchar(100) = null output,
@SPOUSE_LOOKUPID nvarchar(100) = null output,
@SPOUSE_MAIDENNAME nvarchar(100) = null output,
@SPOUSE_MIDDLENAME nvarchar(50) = null output,
@SPOUSE_NICKNAME nvarchar(50) = null output,
@SPOUSE_SUFFIXCODEID uniqueidentifier = null output,
@SPOUSE_TITLECODEID uniqueidentifier = null output,
@SPOUSE_RELATIONSHIPTYPECODEID uniqueidentifier = null output,
@SPOUSE_RECIPROCALTYPECODEID uniqueidentifier = null output,
@BUSINESS_ADDRESSBLOCK nvarchar(150) = null output,
@BUSINESS_ADDRESSTYPECODEID uniqueidentifier = null output,
@BUSINESS_CART nvarchar(10) = null output,
@BUSINESS_CITY nvarchar(50) = null output,
@BUSINESS_COUNTRYID uniqueidentifier = null output,
@BUSINESS_DONOTMAIL bit = null output,
@BUSINESS_DONOTMAILREASONCODEID uniqueidentifier = null output,
@BUSINESS_DPC nvarchar(8) = null output,
@BUSINESS_EMAILADDRESS dbo.UDT_EMAILADDRESS = null output,
@BUSINESS_EMAILADDRESSTYPECODEID uniqueidentifier = null output,
@BUSINESS_INDUSTRYCODEID uniqueidentifier = null output,
@BUSINESS_LOOKUPID nvarchar(100) = null output,
@BUSINESS_LOT nvarchar(5) = null output,
@BUSINESS_ID uniqueidentifier = null output,
@BUSINESS_NAME nvarchar(100) = null output,
@BUSINESS_NUMEMPLOYEES int = null output,
@BUSINESS_NUMSUBSIDIARIES int = null output,
@BUSINESS_PARENTCORPID uniqueidentifier = null output,
@BUSINESS_PHONENUMBER nvarchar(100) = null output,
@BUSINESS_PHONE_COUNTRYID uniqueidentifier = null output,
@BUSINESS_PHONETYPECODEID uniqueidentifier = null output,
@BUSINESS_RELATIONSHIPTYPECODEID uniqueidentifier = null output,
@BUSINESS_RECIPROCALTYPECODEID uniqueidentifier = null output,
@BUSINESS_STATEID uniqueidentifier = null output,
@BUSINESS_WEBADDRESS dbo.UDT_WEBADDRESS = null output,
@BUSINESS_POSTCODE nvarchar(12) = null output,
@TSLONG bigint = 0 output,
@SPOUSE_RELATIONSHIPTYPECODEIDSIMPLELIST uniqueidentifier = null output,
@SPOUSE_RECIPROCALTYPECODEIDSIMPLELIST uniqueidentifier = null output,
@BUSINESS_RELATIONSHIPTYPECODEIDSIMPLELIST uniqueidentifier = null output,
@BUSINESS_RECIPROCALTYPECODEIDSIMPLELIST uniqueidentifier = null output,
@BUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = null output,
@BUSINESS_PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = null output,
@BUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = null output,
@BUSINESS_RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = null output,
@BUSINESS_PRIMARYRECOGNITIONTYPECODEID uniqueidentifier = null output,
@BUSINESS_RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier = null output,
@BUSINESS_EMAILADDRESSSTARTDATE date = null output,
@SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = null output,
@SPOUSE_PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = null output,
@SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = null output,
@SPOUSE_RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = null output,
@SPOUSE_PRIMARYRECOGNITIONTYPECODEID uniqueidentifier = null output,
@SPOUSE_RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier = null output,
@CONSTITUENT_SITES xml = null output,
@BATCHOWNERID uniqueidentifier = null output,
@BATCHROWID uniqueidentifier = null output,
@SPOUSE_ALTERNATELOOKUPIDS xml = null output,
@SPOUSE_IMPORTLOOKUPID nvarchar(100) = null output,
@ROWFROMBATCHUI bit = null output,
@BBNCTRANID int= null output,
@REMOVESPOUSE bit = null output,
@SOCIALMEDIAACCOUNTS xml = null output,
@RELATIONSHIPS xml = null output,
@NETCOMMUNITYTRANSACTIONPROCESSORID uniqueidentifier = null output,
@NEWADDRESSENDDATECODE tinyint = null output,
@CREATEHISTORICALNAMECODE tinyint = null output,
@NEWPHONEENDDATECODE tinyint = null output,
@NEWEMAILENDDATECODE tinyint = null output,
@NAMEFORMATS xml = null output,
@REQUESTSNOEMAIL bit = null output,
@SOLICITCODES xml = null output,
@GENDERCODEID uniqueidentifier = null output,
@SPOUSE_GENDERCODEID uniqueidentifier = null output
) as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
select
@ID = C.ID,
@DATALOADED = 1,
@CONSTITUENTTYPECODE =
case
when C.ISORGANIZATION = 1 then 1
when (C.ISGROUP = 1 and GROUPTYPECODE = 0) then 2
when (C.ISGROUP = 1 and GROUPTYPECODE = 1) then 3
else 0
end,
@BIRTHDATE = C.BIRTHDATE,
@FIRSTNAME = C.FIRSTNAME,
@GENDERCODE = C.GENDERCODE,
@GIVESANONYMOUSLY = C.GIVESANONYMOUSLY,
@KEYNAME = (case when isnull(C.[KEYNAMEPREFIX], '') <> '' then C.[KEYNAMEPREFIX] + '\' else '' end) + C.KEYNAME,
@LOOKUPID = C.LOOKUPID,
@MAIDENNAME = C.MAIDENNAME,
@MIDDLENAME = C.MIDDLENAME,
@NICKNAME = C.NICKNAME,
@SUFFIXCODEID = C.SUFFIXCODEID,
@TITLECODEID = C.TITLECODEID,
@WEBADDRESS = C.WEBADDRESS,
@DECEASED =
case
when exists(select ID from DECEASEDCONSTITUENT where ID = @ID) then 1
else 0
end,
@DECEASEDDATE = D.DECEASEDDATE,
@PROSPECTMANAGERFUNDRAISERID = PROSPECT.PROSPECTMANAGERFUNDRAISERID,
@GROUPTYPEID = G.GROUPTYPEID,
@GROUPDESCRIPTION = G.DESCRIPTION,
@GROUPSTARTDATE = G.STARTDATE,
@ORG_INDUSTRYCODEID = ORGDATA.INDUSTRYCODEID,
@ORG_NUMEMPLOYEES = ORGDATA.NUMEMPLOYEES,
@ORG_NUMSUBSIDIARIES = ORGDATA.NUMSUBSIDIARIES,
@ORG_PARENTCORPID = ORGDATA.PARENTCORPID,
@MARITALSTATUSCODEID = C.MARITALSTATUSCODEID,
@SPOUSE_ID = SPOUSE.ID,
@SPOUSE_BIRTHDATE = isnull(SPOUSE.BIRTHDATE, '00000000'),
@SPOUSE_FIRSTNAME = isnull(SPOUSE.FIRSTNAME, ''),
@SPOUSE_GENDERCODE = isnull(SPOUSE.GENDERCODE, ''),
@SPOUSE_LASTNAME = isnull(SPOUSE.KEYNAME, ''),
@SPOUSE_LOOKUPID = SPOUSE.LOOKUPID,
@SPOUSE_MAIDENNAME = isnull(SPOUSE.MAIDENNAME, ''),
@SPOUSE_MIDDLENAME = isnull(SPOUSE.MIDDLENAME, ''),
@SPOUSE_NICKNAME = isnull(SPOUSE.NICKNAME, ''),
@SPOUSE_SUFFIXCODEID = SPOUSE.SUFFIXCODEID,
@SPOUSE_TITLECODEID = SPOUSE.TITLECODEID,
@SPOUSE_RELATIONSHIPTYPECODEID = SR.RELATIONSHIPTYPECODEID,
@SPOUSE_RECIPROCALTYPECODEID = SR.RECIPROCALTYPECODEID,
@TSLONG = C.TSLONG,
@SPOUSE_RELATIONSHIPTYPECODEIDSIMPLELIST = SR.RELATIONSHIPTYPECODEID,
@SPOUSE_RECIPROCALTYPECODEIDSIMPLELIST = SR.RECIPROCALTYPECODEID,
@ROWFROMBATCHUI = convert(bit, 1),
@GENDERCODEID = C.GENDERCODEID,
@SPOUSE_GENDERCODEID = SPOUSE.GENDERCODEID
from
dbo.CONSTITUENT C
left join dbo.RELATIONSHIP SR on SR.RELATIONSHIPCONSTITUENTID = C.ID and SR.ISSPOUSE = 1
left join dbo.CONSTITUENT SPOUSE on SR.RECIPROCALCONSTITUENTID = SPOUSE.ID
left join dbo.DECEASEDCONSTITUENT D on D.ID = C.ID
left join dbo.GROUPDATA G on G.ID = C.ID
left join dbo.ORGANIZATIONDATA ORGDATA on ORGDATA.ID = C.ID
left join dbo.PROSPECT on PROSPECT.ID = C.ID
where
C.ID = @ID
/*The save will update the business if the ID or LOOKUPID's match
So default business information if no business is specified in the batch or if this is the same business by ID or LOOKUPID */
select
@BUSINESS_ADDRESSBLOCK = BA.ADDRESSBLOCK,
@BUSINESS_ADDRESSTYPECODEID = BA.ADDRESSTYPECODEID,
@BUSINESS_CART = BA.CART,
@BUSINESS_CITY = BA.CITY,
@BUSINESS_COUNTRYID = BA.COUNTRYID,
@BUSINESS_DONOTMAIL = coalesce(BA.DONOTMAIL, '0'),
@BUSINESS_DONOTMAILREASONCODEID = BA.DONOTMAILREASONCODEID,
@BUSINESS_DPC = BA.DPC,
@BUSINESS_EMAILADDRESS = BEA.EMAILADDRESS,
@BUSINESS_EMAILADDRESSTYPECODEID = BEA.EMAILADDRESSTYPECODEID,
@BUSINESS_INDUSTRYCODEID = OD.INDUSTRYCODEID,
@BUSINESS_LOOKUPID = BUSINESS.LOOKUPID,
@BUSINESS_LOT = BA.LOT,
@BUSINESS_ID = BUSINESS.ID,
@BUSINESS_NAME = BUSINESS.KEYNAME,
@BUSINESS_NUMEMPLOYEES = OD.NUMEMPLOYEES,
@BUSINESS_NUMSUBSIDIARIES = OD.NUMSUBSIDIARIES,
@BUSINESS_PARENTCORPID = OD.PARENTCORPID,
@BUSINESS_PHONENUMBER = BP.NUMBER,
@BUSINESS_PHONETYPECODEID = BP.PHONETYPECODEID,
@BUSINESS_RELATIONSHIPTYPECODEID = BR.RELATIONSHIPTYPECODEID,
@BUSINESS_RECIPROCALTYPECODEID = BR.RECIPROCALTYPECODEID,
@BUSINESS_STATEID = BA.STATEID,
@BUSINESS_WEBADDRESS = BUSINESS.WEBADDRESS,
@BUSINESS_POSTCODE = BA.POSTCODE,
@BUSINESS_RELATIONSHIPTYPECODEIDSIMPLELIST = BR.RELATIONSHIPTYPECODEID,
@BUSINESS_RECIPROCALTYPECODEIDSIMPLELIST = BR.RECIPROCALTYPECODEID,
@BUSINESS_EMAILADDRESSSTARTDATE = BEA.STARTDATE
from
dbo.CONSTITUENT C
left join dbo.RELATIONSHIP BR on BR.RELATIONSHIPCONSTITUENTID = C.ID and BR.ISPRIMARYBUSINESS = 1
left join dbo.CONSTITUENT BUSINESS on BR.RECIPROCALCONSTITUENTID = BUSINESS.ID and C.ISORGANIZATION = 0
left join dbo.ORGANIZATIONDATA OD on OD.ID = BUSINESS.ID
left join dbo.ADDRESS BA on BA.CONSTITUENTID = BUSINESS.ID and BA.ISPRIMARY = 1
left join dbo.EMAILADDRESS BEA on BEA.CONSTITUENTID = BUSINESS.ID and BEA.ISPRIMARY = 1
left join dbo.PHONE BP on BP.CONSTITUENTID = BUSINESS.ID and BP.ISPRIMARY = 1
where
C.ID = @ID
and
(
/*Same business by ID*/
(@BUSINESS_ID = BUSINESS.ID)
or
/*No ID but same Lookup ID*/
(@BUSINESS_ID is null and nullif(@BUSINESS_LOOKUPID, '') = BUSINESS.LOOKUPID)
or
/*No ID, LookupID, or Name specified*/
(@BUSINESS_ID is null and nullif(@BUSINESS_LOOKUPID, '') is null and nullif(@BUSINESS_NAME, '') is null)
)
set @ALTERNATELOOKUPIDS = dbo.UFN_CONSTITUENT_GETALTERNATELOOKUPIDS_FORUPDATEBATCH_TOITEMLISTXML(@ID);
set @SPOUSE_ALTERNATELOOKUPIDS = dbo.UFN_CONSTITUENT_GETALTERNATELOOKUPIDS_FORUPDATEBATCH_TOITEMLISTXML(@SPOUSE_ID);
set @SECURITYATTRIBUTES = dbo.UFN_CONSTITUENT_GETSECURITYATTRIBUTES_FORUPDATEBATCH_TOITEMLISTXML(@ID);
set @CONSTITUENT_SITES = dbo.UFN_CONSTITUENT_GETSITES_FORUPDATEBATCH_TOITEMLISTXML(@ID);
set @INTERESTS = dbo.UFN_CONSTITUENT_GETINTERESTS_FORUPDATEBATCH_TOITEMLISTXML(@ID);
--set @EDUCATIONALINVOLVEMENTS = dbo.UFN_CONSTITUENT_GETEDUCATIONALINVOLVEMENTS_FORUPDATEBATCH_TOITEMLISTXML(@ID);
set @ADDRESSES = dbo.UFN_CONSTITUENT_GETADDRESSES_FORUPDATEBATCH_TOITEMLISTXML(@ID);
set @PHONES = dbo.UFN_CONSTITUENT_GETPHONES_FORUPDATEBATCH_TOITEMLISTXML(@ID);
set @EMAILADDRESSES = dbo.UFN_CONSTITUENT_GETEMAILADDRESSES_WITHDATES_FORUPDATEBATCH_TOITEMLISTXML(@ID);
set @SOCIALMEDIAACCOUNTS = dbo.UFN_CONSTITUENT_GETSOCIALMEDIAACCOUNTS_FORUPDATEBATCH_TOITEMLISTXML(@ID);
set @CONSTITUENCIES = dbo.UFN_CONSTITUENT_GETCONSTITUENCIES_FORUPDATEBATCH_TOITEMLISTXML(@ID);
-- we need to load the SC inline as we cannot use the newid() function in a UFN
set @SOLICITCODES = (
select
newid() ID,
ID CONSTITUENTSOLICITCODEID,
@ID [BATCHCONSTITUENTUPDATEID],
[SOLICITCODEID],
[STARTDATE],
[ENDDATE],
[COMMENTS],
[SEQUENCE],
[CONSENTPREFERENCECODE],
[SOURCECODEID],
[SOURCEFILEPATH],
[PRIVACYPOLICYFILEPATH],
[SUPPORTINGINFORMATION],
[CONSENTSTATEMENT]
from
dbo.CONSTITUENTSOLICITCODE
where
[CONSTITUENTID] = @ID
order by
[SEQUENCE]
for xml path('ITEM'),type,elements,root('SOLICITCODES'),BINARY BASE64)
--Do not set @RELATIONSHIPS since we don't want to edit existing relationships for a constituent.
select
@BUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 1,
@BUSINESS_PRIMARYSOFTCREDITMATCHFACTOR = MATCHFACTOR,
@BUSINESS_PRIMARYRECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODEID
from
dbo.REVENUERECOGNITIONDEFAULT
where
SOURCECONSTITUENTID = @BUSINESS_ID and
RECIPIENTCONSTITUENTID = @ID and
PREVENTRECOGNITIONSDEFAULTING = 0;
select
@BUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 1,
@BUSINESS_RECIPROCALSOFTCREDITMATCHFACTOR = MATCHFACTOR,
@BUSINESS_RECIPROCALRECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODEID
from
dbo.REVENUERECOGNITIONDEFAULT
where
SOURCECONSTITUENTID = @ID and
RECIPIENTCONSTITUENTID = @BUSINESS_ID and
PREVENTRECOGNITIONSDEFAULTING = 0;
set @BUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS = coalesce(@BUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS, 0);
set @BUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = coalesce(@BUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS, 0);
select
@SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 1,
@SPOUSE_PRIMARYSOFTCREDITMATCHFACTOR = MATCHFACTOR,
@SPOUSE_PRIMARYRECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODEID
from
dbo.REVENUERECOGNITIONDEFAULT
where
SOURCECONSTITUENTID = @SPOUSE_ID and
RECIPIENTCONSTITUENTID = @ID and
PREVENTRECOGNITIONSDEFAULTING = 0;
select
@SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 1,
@SPOUSE_RECIPROCALSOFTCREDITMATCHFACTOR = MATCHFACTOR,
@SPOUSE_RECIPROCALRECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODEID
from
dbo.REVENUERECOGNITIONDEFAULT
where
SOURCECONSTITUENTID = @ID and
RECIPIENTCONSTITUENTID = @SPOUSE_ID and
PREVENTRECOGNITIONSDEFAULTING = 0;
set @SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS = coalesce(@SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS, 0);
set @SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = coalesce(@SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS, 0);
set @REMOVESPOUSE = 0;
set @NAMEFORMATS = null;
set @REQUESTSNOEMAIL = 0;
return 0;