USP_DATAFORMTEMPLATE_ADD_CONSTITUENTBATCHCOMMIT3
The save procedure used by the add dataform template "Constituent Batch Row Commit Add Form 3".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@ISORGANIZATION | tinyint | IN | Constituent type |
@KEYNAME | nvarchar(100) | IN | Last/org/group/household name |
@FIRSTNAME | nvarchar(50) | IN | First name |
@MIDDLENAME | nvarchar(50) | IN | Middle name |
@MAIDENNAME | nvarchar(100) | IN | Maiden name |
@NICKNAME | nvarchar(50) | IN | Nickname |
@TITLECODEID | uniqueidentifier | IN | Title |
@SUFFIXCODEID | uniqueidentifier | IN | Suffix |
@BIRTHDATE | UDT_FUZZYDATE | IN | Birth date |
@GENDERCODE | tinyint | IN | Gender |
@WEBADDRESS | UDT_WEBADDRESS | IN | Web site address |
@INDUSTRYCODEID | uniqueidentifier | IN | Industry |
@PARENTCORPID | uniqueidentifier | IN | Parent org |
@NUMEMPLOYEES | int | IN | No. of employees |
@NUMSUBSIDIARIES | int | IN | No. of subsidiary orgs |
@ADDRESS_ADDRESSTYPECODEID | uniqueidentifier | IN | Address type |
@ADDRESS_COUNTRYID | uniqueidentifier | IN | Country |
@ADDRESS_ADDRESSBLOCK | nvarchar(150) | IN | Address |
@ADDRESS_CITY | nvarchar(50) | IN | City |
@ADDRESS_STATEID | uniqueidentifier | IN | State |
@ADDRESS_POSTCODE | nvarchar(12) | IN | ZIP |
@ADDRESS_DONOTMAIL | bit | IN | Do not send mail to this address |
@PHONES | xml | IN | Phones |
@EMAILADDRESS_EMAILADDRESSTYPECODEID | uniqueidentifier | IN | Email type |
@EMAILADDRESS_EMAILADDRESS | UDT_EMAILADDRESS | IN | Email address |
@CUSTOMIDENTIFIER | nvarchar(100) | IN | Lookup ID |
@VALIDATEONLY | bit | IN | Validate only |
@BATCHNUMBER | nvarchar(100) | IN | |
@ADDRESS_CART | nvarchar(10) | IN | CART |
@ADDRESS_DPC | nvarchar(8) | IN | DPC |
@ADDRESS_LOT | nvarchar(5) | IN | LOT |
@ADDRESS_STARTDATE | UDT_MONTHDAY | IN | Address start date |
@ADDRESS_ENDDATE | UDT_MONTHDAY | IN | Address end date |
@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID | uniqueidentifier | IN | Addressee type |
@PRIMARYADDRESSEE_NAMEFORMATFUNCTIONID | uniqueidentifier | IN | Addressee name format |
@PRIMARYSALUTATION_NAMEFORMATTYPECODEID | uniqueidentifier | IN | Salutation type |
@PRIMARYSALUTATION_NAMEFORMATFUNCTIONID | uniqueidentifier | IN | Salutation name format |
@ISDECEASED | bit | IN | Is deceased |
@DECEASEDDATE | UDT_FUZZYDATE | IN | Deceased date |
@EDUCATIONALHISTORY_EDUCATIONALINSTITUTIONID | uniqueidentifier | IN | Educational institution |
@EDUCATIONALHISTORY_ISPRIMARYRECORD | bit | IN | Educational is primary |
@EDUCATIONALHISTORY_CONSTITUENCYSTATUSCODE | tinyint | IN | Educational status |
@EDUCATIONALHISTORY_CLASSOF | UDT_YEAR | IN | Class of |
@EDUCATIONALHISTORY_EDUCATIONALDEGREECODEID | uniqueidentifier | IN | Educational degree |
@EDUCATIONALHISTORY_STARTDATE | UDT_FUZZYDATE | IN | Educational date from |
@SPOUSEID | uniqueidentifier | IN | Spouse |
@SPOUSE_RELATIONSHIPTYPECODEID | uniqueidentifier | IN | Spouse relationship type |
@SPOUSE_RECIPROCALTYPECODEID | uniqueidentifier | IN | Spouse reciprocal type |
@SPOUSE_KEYNAME | nvarchar(100) | IN | Spouse last name |
@SPOUSE_FIRSTNAME | nvarchar(50) | IN | Spouse first name |
@SPOUSE_MIDDLENAME | nvarchar(50) | IN | Spouse middle name |
@SPOUSE_MAIDENNAME | nvarchar(100) | IN | Spouse maiden name |
@SPOUSE_NICKNAME | nvarchar(50) | IN | Spouse nickname |
@SPOUSE_TITLECODEID | uniqueidentifier | IN | Spouse title |
@SPOUSE_SUFFIXCODEID | uniqueidentifier | IN | Spouse suffix |
@SPOUSE_GENDERCODE | tinyint | IN | Spouse gender |
@SPOUSE_BIRTHDATE | UDT_FUZZYDATE | IN | Spouse birth date |
@SPOUSE_EMAILADDRESS_EMAILADDRESSTYPECODEID | uniqueidentifier | IN | Spouse email address type |
@SPOUSE_EMAILADDRESS_EMAILADDRESS | UDT_EMAILADDRESS | IN | Spouse email address |
@PRIMARYBUSINESSID | uniqueidentifier | IN | Business |
@PRIMARYBUSINESS_RELATIONSHIPTYPECODEID | uniqueidentifier | IN | Business relationship type |
@PRIMARYBUSINESS_RECIPROCALTYPECODEID | uniqueidentifier | IN | Business reciprocal type |
@PRIMARYBUSINESS_KEYNAME | nvarchar(100) | IN | Business name |
@PRIMARYBUSINESS_PHONE_PHONETYPECODEID | uniqueidentifier | IN | Business phone type |
@PRIMARYBUSINESS_PHONE_NUMBER | nvarchar(100) | IN | Business phone number |
@PRIMARYBUSINESS_PHONE_COUNTRYID | uniqueidentifier | IN | Business phone country |
@PRIMARYBUSINESS_EMAILADDRESS_EMAILADDRESSTYPECODEID | uniqueidentifier | IN | Business email type |
@PRIMARYBUSINESS_EMAILADDRESS_EMAILADDRESS | UDT_EMAILADDRESS | IN | Business email address |
@PRIMARYBUSINESS_ADDRESS_ADDRESSTYPECODEID | uniqueidentifier | IN | Business address type |
@PRIMARYBUSINESS_ADDRESS_COUNTRYID | uniqueidentifier | IN | Business country |
@PRIMARYBUSINESS_ADDRESS_ADDRESSBLOCK | nvarchar(150) | IN | Business address |
@PRIMARYBUSINESS_ADDRESS_CITY | nvarchar(50) | IN | Business city |
@PRIMARYBUSINESS_ADDRESS_STATEID | uniqueidentifier | IN | Business state |
@PRIMARYBUSINESS_ADDRESS_POSTCODE | nvarchar(12) | IN | Business ZIP |
@PRIMARYBUSINESS_ADDRESS_CART | nvarchar(10) | IN | Business CART |
@PRIMARYBUSINESS_ADDRESS_DPC | nvarchar(8) | IN | Business DPC |
@PRIMARYBUSINESS_ADDRESS_LOT | nvarchar(5) | IN | Business LOT |
@PRIMARYBUSINESS_ADDRESS_DONOTMAIL | bit | IN | Business do not mail |
@PRIMARYBUSINESS_INDUSTRYCODEID | uniqueidentifier | IN | Business industry |
@PRIMARYBUSINESS_NUMEMPLOYEES | int | IN | Business no. of employees |
@PRIMARYBUSINESS_NUMSUBSIDIARIES | int | IN | Business no. of subsidiary orgs |
@PRIMARYBUSINESS_WEBADDRESS | UDT_WEBADDRESS | IN | Business web site address |
@PRIMARYBUSINESS_PARENTCORPID | uniqueidentifier | IN | Business parent org |
@CONSTITUENCY | xml | IN | Constituencies |
@INTEREST | xml | IN | Interests |
@SPOUSE_COPY_ADDRESS | bit | IN | Spouse copy address |
@SPOUSE_COPY_PHONENUMBER | bit | IN | Spouse copy phone number |
@SPOUSE_COPY_EMAILADDRESS | bit | IN | Spouse copy email address |
@CONSTIT_SECURITY_ATTRIBUTEID | uniqueidentifier | IN | Constituent security attribute |
@ADDRESS_COUNTYCODEID | uniqueidentifier | IN | County |
@ADDRESS_OMITFROMVALIDATION | bit | IN | Omit from validation |
@ADDRESS_CONGRESSIONALDISTRICTCODEID | uniqueidentifier | IN | Congressional district |
@ADDRESS_STATEHOUSEDISTRICTCODEID | uniqueidentifier | IN | State house district |
@ADDRESS_STATESENATEDISTRICTCODEID | uniqueidentifier | IN | State senate district |
@ADDRESS_LOCALPRECINCTCODEID | uniqueidentifier | IN | Local precinct |
@ADDRESS_INFOSOURCECODEID | uniqueidentifier | IN | Constituent information source |
@ADDRESS_REGIONCODEID | uniqueidentifier | IN | Region |
@ADDRESS_LASTVALIDATIONATTEMPTDATE | datetime | IN | Last validation attempt date |
@ADDRESS_VALIDATIONMESSAGE | nvarchar(200) | IN | Validation message |
@ADDRESS_CERTIFICATIONDATA | int | IN | Certification data |
@GROUPTYPEID | uniqueidentifier | IN | Group type |
@GROUPSTARTDATE | datetime | IN | Group consolidation date |
@GROUPDESCRIPTION | nvarchar(300) | IN | Group description |
@GROUPMEMBERS | xml | IN | Group members |
@ADDRESS_DONOTMAILREASONCODEID | uniqueidentifier | IN | Do not mail reason |
@PRIMARYBUSINESS_ADDRESS_DONOTMAILREASONCODEID | uniqueidentifier | IN | Business do not mail reason |
@EDUCATIONALHISTORY_ACADEMICCATALOGPROGRAMID | uniqueidentifier | IN | Academic catalog program |
@EDUCATIONALHISTORY_EDUCATIONALPROGRAMCODEID | uniqueidentifier | IN | Educational program |
@EDUCATIONALHISTORY_ACADEMICCATALOGDEGREEID | uniqueidentifier | IN | Academic catalog degree |
@EDUCATIONALHISTORY_EDUCATIONALAWARDCODEID | uniqueidentifier | IN | Honor awarded |
@EDUCATIONALHISTORY_PREFERREDCLASSYEAR | UDT_YEAR | IN | Preferred class of |
@EDUCATIONALHISTORY_EDUCATIONALSOURCECODEID | uniqueidentifier | IN | Informational source |
@EDUCATIONALHISTORY_EDUCATIONALSOURCEDATE | UDT_FUZZYDATE | IN | Source date |
@EDUCATIONALHISTORY_COMMENT | nvarchar(500) | IN | Comments |
@AFFILIATEDADDITIONALINFORMATION | xml | IN | Academic catalog additional information |
@UNAFFILIATEDADDITIONALINFORMATION | xml | IN | Educational additional information |
@EDUCATIONALINVOLVEMENT | xml | IN | Involvement |
@ALTERNATELOOKUPIDS | xml | IN | Alternate lookup IDs |
@EDUCATIONALHISTORY_DATEGRADUATED | UDT_FUZZYDATE | IN | Date graduated |
@EDUCATIONALHISTORY_DATELEFT | UDT_FUZZYDATE | IN | Date left |
@EDUCATIONALHISTORY_LEVELCODEID | uniqueidentifier | IN | Level |
@EDUCATIONALHISTORY_REASONCODEID | uniqueidentifier | IN | Reason |
@ISPRIMARYORGANIZATION | bit | IN | Is primary org |
@PRIMARYBUSINESS_ISPRIMARYORGANIZATION | bit | IN | Business is primary org |
@CONSTITUENT_SITEID | uniqueidentifier | IN | Constituent site |
@TAXDECLARATIONS | xml | IN | Declarations |
@PRIMARYMEMBER_COPYCONTACTINFO | bit | IN | Use primary member contact info |
@PRIMARYBUSINESS_JOBTITLE | nvarchar(100) | IN | Business job title |
@PRIMARYBUSINESS_JOBCATEGORYCODEID | uniqueidentifier | IN | Business job category |
@PRIMARYBUSINESS_CAREERLEVELCODEID | uniqueidentifier | IN | Business career level |
@PRIMARYBUSINESS_ADDRESS_INFOSOURCECODEID | uniqueidentifier | IN | Business information source |
@TITLE2CODEID | uniqueidentifier | IN | Title 2 |
@SUFFIX2CODEID | uniqueidentifier | IN | Suffix 2 |
@SPOUSE_TITLE2CODEID | uniqueidentifier | IN | Spouse title 2 |
@SPOUSE_SUFFIX2CODEID | uniqueidentifier | IN | Spouse suffix 2 |
@SOLICITCODES | xml | IN | Solicit codes |
@PRIMARYBUSINESS_JOBDIVISION | nvarchar(100) | IN | Business job division |
@PRIMARYBUSINESS_JOBDEPARTMENT | nvarchar(100) | IN | Business job department |
@PRIMARYBUSINESS_JOBSCHEDULECODEID | uniqueidentifier | IN | Business job schedule |
@SPOUSE_RELATIONSHIPTYPECODEIDSIMPLELIST | uniqueidentifier | IN | Spouse relationship type |
@SPOUSE_RECIPROCALTYPECODEIDSIMPLELIST | uniqueidentifier | IN | Spouse reciprocal type |
@PRIMARYBUSINESS_RELATIONSHIPTYPECODEIDSIMPLELIST | uniqueidentifier | IN | Business relationship type |
@PRIMARYBUSINESS_RECIPROCALTYPECODEIDSIMPLELIST | uniqueidentifier | IN | Business reciprocal type |
@ETHNICITYCODEID | uniqueidentifier | IN | Ethnicity |
@RELIGIONCODEID | uniqueidentifier | IN | Religion |
@TARGETCODEID | uniqueidentifier | IN | Target |
@INCOMECODEID | uniqueidentifier | IN | Income |
@BIRTHPLACE | nvarchar(50) | IN | Birthplace |
@BATCHROWID | uniqueidentifier | IN | |
@PRIMARYBUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply recognition from business |
@PRIMARYBUSINESS_PRIMARYSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition from business match percent |
@PRIMARYBUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply recognition to business |
@PRIMARYBUSINESS_RECIPROCALSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition to business match percent |
@PRIMARYBUSINESS_PRIMARYRECOGNITIONTYPECODEID | uniqueidentifier | IN | Recognition from business type |
@PRIMARYBUSINESS_RECIPROCALRECOGNITIONTYPECODEID | uniqueidentifier | IN | Recognition to business type |
@EMAILADDRESS_STARTDATE | date | IN | Email address start date |
@SPOUSE_EMAILADDRESS_STARTDATE | date | IN | Spouse email address start date |
@PRIMARYBUSINESS_EMAILADDRESS_STARTDATE | date | IN | Business email address start date |
@ADDRESS_HISTORICALSTARTDATE | date | IN | Address start date |
@SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply recognition from spouse |
@SPOUSE_PRIMARYSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition from spouse match percent |
@SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply recognition to spouse |
@SPOUSE_RECIPROCALSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition to spouse match percent |
@SPOUSE_PRIMARYRECOGNITIONTYPECODEID | uniqueidentifier | IN | Recognition from spouse type |
@SPOUSE_RECIPROCALRECOGNITIONTYPECODEID | uniqueidentifier | IN | Recognition to spouse type |
@PRIMARYBUSINESS_STARTDATE | date | IN | |
@SPOUSE_STARTDATE | date | IN | |
@SOCIALMEDIAACCOUNTS | xml | IN | |
@EMAILADDRESS_INFOSOURCECODEID | uniqueidentifier | IN | |
@EMAILADDRESS_INFOSOURCECOMMENTS | nvarchar(500) | IN | |
@GENDERCODEID | uniqueidentifier | IN | |
@SPOUSE_GENDERCODEID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTBATCHCOMMIT3
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier,
@ISORGANIZATION tinyint,
@KEYNAME nvarchar(100),
@FIRSTNAME nvarchar(50) = '',
@MIDDLENAME nvarchar(50) = '',
@MAIDENNAME nvarchar(100) = '',
@NICKNAME nvarchar(50) = '',
@TITLECODEID uniqueidentifier = null,
@SUFFIXCODEID uniqueidentifier = null,
@BIRTHDATE dbo.UDT_FUZZYDATE = '00000000',
@GENDERCODE tinyint = 0,
@WEBADDRESS dbo.UDT_WEBADDRESS = '',
@INDUSTRYCODEID uniqueidentifier = null,
@PARENTCORPID uniqueidentifier = null,
@NUMEMPLOYEES int = 0,
@NUMSUBSIDIARIES int = 0,
@ADDRESS_ADDRESSTYPECODEID uniqueidentifier = null,
@ADDRESS_COUNTRYID uniqueidentifier = null,
@ADDRESS_ADDRESSBLOCK nvarchar(150) = '',
@ADDRESS_CITY nvarchar(50) = '',
@ADDRESS_STATEID uniqueidentifier = null,
@ADDRESS_POSTCODE nvarchar(12) = '',
@ADDRESS_DONOTMAIL bit = 0,
@PHONES xml = null,
@EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier = null,
@EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
@CUSTOMIDENTIFIER nvarchar(100) = '',
@VALIDATEONLY bit = 0,
@BATCHNUMBER nvarchar(100),
@ADDRESS_CART nvarchar(10) = '',
@ADDRESS_DPC nvarchar(8) = '',
@ADDRESS_LOT nvarchar(5) = '',
@ADDRESS_STARTDATE dbo.UDT_MONTHDAY = '0000',
@ADDRESS_ENDDATE dbo.UDT_MONTHDAY = '0000',
@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID uniqueidentifier = null,
@PRIMARYADDRESSEE_NAMEFORMATFUNCTIONID uniqueidentifier = null,
@PRIMARYSALUTATION_NAMEFORMATTYPECODEID uniqueidentifier = null,
@PRIMARYSALUTATION_NAMEFORMATFUNCTIONID uniqueidentifier = null,
@ISDECEASED bit = 0,
@DECEASEDDATE dbo.UDT_FUZZYDATE = '00000000',
@EDUCATIONALHISTORY_EDUCATIONALINSTITUTIONID uniqueidentifier = null,
@EDUCATIONALHISTORY_ISPRIMARYRECORD bit = 0,
@EDUCATIONALHISTORY_CONSTITUENCYSTATUSCODE tinyint = 0,
@EDUCATIONALHISTORY_CLASSOF dbo.UDT_YEAR = 0,
@EDUCATIONALHISTORY_EDUCATIONALDEGREECODEID uniqueidentifier = null,
@EDUCATIONALHISTORY_STARTDATE dbo.UDT_FUZZYDATE = '00000000',
@SPOUSEID uniqueidentifier = null,
@SPOUSE_RELATIONSHIPTYPECODEID uniqueidentifier = null,
@SPOUSE_RECIPROCALTYPECODEID uniqueidentifier = null,
@SPOUSE_KEYNAME nvarchar(100) = '',
@SPOUSE_FIRSTNAME nvarchar(50) = '',
@SPOUSE_MIDDLENAME nvarchar(50) = '',
@SPOUSE_MAIDENNAME nvarchar(100) = '',
@SPOUSE_NICKNAME nvarchar(50) = '',
@SPOUSE_TITLECODEID uniqueidentifier = null,
@SPOUSE_SUFFIXCODEID uniqueidentifier = null,
@SPOUSE_GENDERCODE tinyint = 0,
@SPOUSE_BIRTHDATE dbo.UDT_FUZZYDATE = '00000000',
@SPOUSE_EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier = null,
@SPOUSE_EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
@PRIMARYBUSINESSID uniqueidentifier = null,
@PRIMARYBUSINESS_RELATIONSHIPTYPECODEID uniqueidentifier = null,
@PRIMARYBUSINESS_RECIPROCALTYPECODEID uniqueidentifier = null,
@PRIMARYBUSINESS_KEYNAME nvarchar(100) = '',
@PRIMARYBUSINESS_PHONE_PHONETYPECODEID uniqueidentifier = null,
@PRIMARYBUSINESS_PHONE_NUMBER nvarchar(100) = '',
@PRIMARYBUSINESS_PHONE_COUNTRYID uniqueidentifier = null,
@PRIMARYBUSINESS_EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier = null,
@PRIMARYBUSINESS_EMAILADDRESS_EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
@PRIMARYBUSINESS_ADDRESS_ADDRESSTYPECODEID uniqueidentifier = null,
@PRIMARYBUSINESS_ADDRESS_COUNTRYID uniqueidentifier = null,
@PRIMARYBUSINESS_ADDRESS_ADDRESSBLOCK nvarchar(150) = '',
@PRIMARYBUSINESS_ADDRESS_CITY nvarchar(50) = '',
@PRIMARYBUSINESS_ADDRESS_STATEID uniqueidentifier = null,
@PRIMARYBUSINESS_ADDRESS_POSTCODE nvarchar(12) = '',
@PRIMARYBUSINESS_ADDRESS_CART nvarchar(10) = '',
@PRIMARYBUSINESS_ADDRESS_DPC nvarchar(8) = '',
@PRIMARYBUSINESS_ADDRESS_LOT nvarchar(5) = '',
@PRIMARYBUSINESS_ADDRESS_DONOTMAIL bit = 0,
@PRIMARYBUSINESS_INDUSTRYCODEID uniqueidentifier = null,
@PRIMARYBUSINESS_NUMEMPLOYEES int = 0,
@PRIMARYBUSINESS_NUMSUBSIDIARIES int = 0,
@PRIMARYBUSINESS_WEBADDRESS dbo.UDT_WEBADDRESS = '',
@PRIMARYBUSINESS_PARENTCORPID uniqueidentifier = null,
@CONSTITUENCY xml = null,
@INTEREST xml = null,
@SPOUSE_COPY_ADDRESS bit = 1,
@SPOUSE_COPY_PHONENUMBER bit = 1,
@SPOUSE_COPY_EMAILADDRESS bit = 1,
@CONSTIT_SECURITY_ATTRIBUTEID uniqueidentifier = null,
@ADDRESS_COUNTYCODEID uniqueidentifier = null,
@ADDRESS_OMITFROMVALIDATION bit = 0,
@ADDRESS_CONGRESSIONALDISTRICTCODEID uniqueidentifier = null,
@ADDRESS_STATEHOUSEDISTRICTCODEID uniqueidentifier = null,
@ADDRESS_STATESENATEDISTRICTCODEID uniqueidentifier = null,
@ADDRESS_LOCALPRECINCTCODEID uniqueidentifier = null,
@ADDRESS_INFOSOURCECODEID uniqueidentifier = null,
@ADDRESS_REGIONCODEID uniqueidentifier = null,
@ADDRESS_LASTVALIDATIONATTEMPTDATE datetime = null,
@ADDRESS_VALIDATIONMESSAGE nvarchar(200) = '',
@ADDRESS_CERTIFICATIONDATA int = 0,
@GROUPTYPEID uniqueidentifier = null,
@GROUPSTARTDATE datetime = null,
@GROUPDESCRIPTION nvarchar(300) = '',
@GROUPMEMBERS xml = null,
@ADDRESS_DONOTMAILREASONCODEID uniqueidentifier = null,
@PRIMARYBUSINESS_ADDRESS_DONOTMAILREASONCODEID uniqueidentifier = null,
@EDUCATIONALHISTORY_ACADEMICCATALOGPROGRAMID uniqueidentifier = null,
@EDUCATIONALHISTORY_EDUCATIONALPROGRAMCODEID uniqueidentifier = null,
@EDUCATIONALHISTORY_ACADEMICCATALOGDEGREEID uniqueidentifier = null,
@EDUCATIONALHISTORY_EDUCATIONALAWARDCODEID uniqueidentifier = null,
@EDUCATIONALHISTORY_PREFERREDCLASSYEAR dbo.UDT_YEAR = 0,
@EDUCATIONALHISTORY_EDUCATIONALSOURCECODEID uniqueidentifier = null,
@EDUCATIONALHISTORY_EDUCATIONALSOURCEDATE dbo.UDT_FUZZYDATE = '00000000',
@EDUCATIONALHISTORY_COMMENT nvarchar(500) = '',
@AFFILIATEDADDITIONALINFORMATION xml = null,
@UNAFFILIATEDADDITIONALINFORMATION xml = null,
@EDUCATIONALINVOLVEMENT xml = null,
@ALTERNATELOOKUPIDS xml = null,
@EDUCATIONALHISTORY_DATEGRADUATED dbo.UDT_FUZZYDATE = '00000000',
@EDUCATIONALHISTORY_DATELEFT dbo.UDT_FUZZYDATE = '00000000',
@EDUCATIONALHISTORY_LEVELCODEID uniqueidentifier = null,
@EDUCATIONALHISTORY_REASONCODEID uniqueidentifier = null,
@ISPRIMARYORGANIZATION bit = null,
@PRIMARYBUSINESS_ISPRIMARYORGANIZATION bit = null,
@CONSTITUENT_SITEID uniqueidentifier = null,
@TAXDECLARATIONS xml = null,
@PRIMARYMEMBER_COPYCONTACTINFO bit = 0,
@PRIMARYBUSINESS_JOBTITLE nvarchar(100) = '',
@PRIMARYBUSINESS_JOBCATEGORYCODEID uniqueidentifier = null,
@PRIMARYBUSINESS_CAREERLEVELCODEID uniqueidentifier = null,
@PRIMARYBUSINESS_ADDRESS_INFOSOURCECODEID uniqueidentifier = null,
@TITLE2CODEID uniqueidentifier = null,
@SUFFIX2CODEID uniqueidentifier = null,
@SPOUSE_TITLE2CODEID uniqueidentifier = null,
@SPOUSE_SUFFIX2CODEID uniqueidentifier = null,
@SOLICITCODES xml = null,
@PRIMARYBUSINESS_JOBDIVISION nvarchar(100) = '',
@PRIMARYBUSINESS_JOBDEPARTMENT nvarchar(100) = '',
@PRIMARYBUSINESS_JOBSCHEDULECODEID uniqueidentifier = null,
@SPOUSE_RELATIONSHIPTYPECODEIDSIMPLELIST uniqueidentifier = null,
@SPOUSE_RECIPROCALTYPECODEIDSIMPLELIST uniqueidentifier = null,
@PRIMARYBUSINESS_RELATIONSHIPTYPECODEIDSIMPLELIST uniqueidentifier = null,
@PRIMARYBUSINESS_RECIPROCALTYPECODEIDSIMPLELIST uniqueidentifier = null,
@ETHNICITYCODEID uniqueidentifier = null,
@RELIGIONCODEID uniqueidentifier = null,
@TARGETCODEID uniqueidentifier = null,
@INCOMECODEID uniqueidentifier = null,
@BIRTHPLACE nvarchar(50) = '',
@BATCHROWID uniqueidentifier = null,
@PRIMARYBUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = 0,
@PRIMARYBUSINESS_PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
@PRIMARYBUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = 0,
@PRIMARYBUSINESS_RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
@PRIMARYBUSINESS_PRIMARYRECOGNITIONTYPECODEID uniqueidentifier = null,
@PRIMARYBUSINESS_RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier = null,
@EMAILADDRESS_STARTDATE date = null,
@SPOUSE_EMAILADDRESS_STARTDATE date = null,
@PRIMARYBUSINESS_EMAILADDRESS_STARTDATE date = null,
@ADDRESS_HISTORICALSTARTDATE date = null,
@SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = 0,
@SPOUSE_PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
@SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = 0,
@SPOUSE_RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
@SPOUSE_PRIMARYRECOGNITIONTYPECODEID uniqueidentifier = null,
@SPOUSE_RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier = null,
@PRIMARYBUSINESS_STARTDATE date = null,
@SPOUSE_STARTDATE date = null,
@SOCIALMEDIAACCOUNTS xml = null,
@EMAILADDRESS_INFOSOURCECODEID uniqueidentifier = null,
@EMAILADDRESS_INFOSOURCECOMMENTS nvarchar(500) = '',
@GENDERCODEID uniqueidentifier = null,
@SPOUSE_GENDERCODEID uniqueidentifier = null
) as
set nocount on;
declare
@CURRENTDATE datetime,
@ErrorMessage nvarchar(1000),
@InfoMsg nvarchar(100),
@ErrorSeverity int,
@ErrorState int;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
declare @SETID uniqueidentifier;
begin try
declare @ADDRESSINCLUDED bit;
set @ADDRESSINCLUDED = 0;
if (@PRIMARYMEMBER_COPYCONTACTINFO = 0) and (
(@ADDRESS_ADDRESSTYPECODEID is not null) or (@ADDRESS_COUNTRYID is not null) or
(@ADDRESS_STATEID is not null) or (coalesce(@ADDRESS_ADDRESSBLOCK,'') <> '') or
(coalesce(@ADDRESS_CITY,'') <> '') or (coalesce(@ADDRESS_POSTCODE,'') <> '') or
(coalesce(@ADDRESS_CART,'') <> '') or (coalesce(@ADDRESS_DPC,'') <> '') or
(coalesce(@ADDRESS_LOT,'') <> '') or (coalesce(@ADDRESS_STARTDATE,'0000') <> '0000') or
(coalesce(@ADDRESS_ENDDATE,'0000') <> '0000'))
set @ADDRESSINCLUDED = 1;
if @ADDRESSINCLUDED = 1 begin
if @ADDRESS_COUNTRYID is null
exec @ADDRESS_COUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT;
if dbo.UFN_STATE_GETCOUNTRY(@ADDRESS_STATEID, @ADDRESS_COUNTRYID) <> @ADDRESS_COUNTRYID begin
raiserror('Constituent - invalid state for country.', 13, 1);
return 1;
end
end
declare @PRIMARYBUSINESS_ADDRESSINCLUDED bit;
set @PRIMARYBUSINESS_ADDRESSINCLUDED = 0;
if (@PRIMARYBUSINESS_ADDRESS_ADDRESSTYPECODEID is not null) or (@PRIMARYBUSINESS_ADDRESS_COUNTRYID is not null) or
(@PRIMARYBUSINESS_ADDRESS_STATEID is not null) or (coalesce(@PRIMARYBUSINESS_ADDRESS_ADDRESSBLOCK,'') <> '') or
(coalesce(@PRIMARYBUSINESS_ADDRESS_CITY,'') <> '') or (coalesce(@PRIMARYBUSINESS_ADDRESS_POSTCODE,'') <> '') or
(coalesce(@PRIMARYBUSINESS_ADDRESS_CART,'') <> '') or (coalesce(@PRIMARYBUSINESS_ADDRESS_DPC,'') <> '') or
(coalesce(@PRIMARYBUSINESS_ADDRESS_LOT,'') <> '')
set @PRIMARYBUSINESS_ADDRESSINCLUDED = 1;
if @PRIMARYBUSINESS_ADDRESSINCLUDED = 1 begin
if @PRIMARYBUSINESS_ADDRESS_COUNTRYID is null
exec @PRIMARYBUSINESS_ADDRESS_COUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT;
if dbo.UFN_STATE_GETCOUNTRY(@PRIMARYBUSINESS_ADDRESS_STATEID, @PRIMARYBUSINESS_ADDRESS_COUNTRYID) <> @PRIMARYBUSINESS_ADDRESS_COUNTRYID begin
raiserror('Primary business - invalid state for country.', 13, 1);
return 1;
end
end
if (@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID is not null) and (@PRIMARYADDRESSEE_NAMEFORMATFUNCTIONID is not null) and
(@PRIMARYSALUTATION_NAMEFORMATTYPECODEID is not null) and (@PRIMARYSALUTATION_NAMEFORMATFUNCTIONID is not null) and
(@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID = @PRIMARYSALUTATION_NAMEFORMATTYPECODEID) and
(@PRIMARYADDRESSEE_NAMEFORMATFUNCTIONID <> @PRIMARYSALUTATION_NAMEFORMATFUNCTIONID) begin
raiserror('Only one name format can be specified per name format type.',13,1);
return 1;
end
if (not @SPOUSEID is null)
begin
declare @SPOUSENAME nvarchar(400) = null;
select @SPOUSENAME = CONSTITUENT.NAME
from dbo.RELATIONSHIP
inner join dbo.CONSTITUENT
on RELATIONSHIP.RECIPROCALCONSTITUENTID = CONSTITUENT.ID
where (RELATIONSHIP.ISSPOUSE = 1) and (RELATIONSHIP.RELATIONSHIPCONSTITUENTID = @SPOUSEID)
if (not @SPOUSENAME is null)
begin
declare @ERROR nvarchar(800);
set @ERROR = 'Spouse entered has an existing spouse, ' + @SPOUSENAME + '.';
raiserror(@ERROR,13,1);
return 1;
end
end
exec dbo.USP_PHONES_VALIDATEPHONES @PHONES;
exec dbo.USP_CONSTITUENCIES_VALIDATECONSTITUENCIES @CONSTITUENCY;
-- If the constituent is a group or household, verify only one member was set as primary
declare @GROUPMEMBERSTABLE table
(
CONSTITUENTID uniqueidentifier,
ISPRIMARY bit
)
if @ISORGANIZATION = 2 or @ISORGANIZATION = 3
begin
insert into @GROUPMEMBERSTABLE
(
CONSTITUENTID,
ISPRIMARY
)
select
CONSTITUENTID,
ISPRIMARY
from dbo.UFN_CONSTITUENTBATCH_GETGROUPMEMBERS_FROMITEMLISTXML(@GROUPMEMBERS)
declare @PRIMARYMEMBERCOUNT int
select @PRIMARYMEMBERCOUNT = count(*)
from @GROUPMEMBERSTABLE
where ISPRIMARY = 1
if @PRIMARYMEMBERCOUNT > 1
begin
raiserror('Only one constituent can be the primary member.', 13, 1)
return 1
end
if exists(select CONSTITUENTID from @GROUPMEMBERSTABLE group by CONSTITUENTID having count(*) > 1)
begin
raiserror('A constituent can only be added as a member once.', 13, 1)
return 1
end
end
declare @BATCHOWNERID uniqueidentifier
select
@BATCHOWNERID = APPUSERID
from dbo.BATCH
inner join dbo.BATCHCONSTITUENT on BATCH.ID = BATCHCONSTITUENT.BATCHID
where BATCHCONSTITUENT.ID = @BATCHROWID
-- Validate the user has permission for the spouse, primary business and parent corp
if dbo.UFN_CONSTITUENT_CANAPPUSERMODIFY(@SPOUSEID, @BATCHOWNERID) = 0
begin
raiserror('ERR_SPOUSE_NOACCESS', 13, 1)
return 0
end
if dbo.UFN_CONSTITUENT_CANAPPUSERMODIFY(@PRIMARYBUSINESSID, @BATCHOWNERID) = 0
begin
raiserror('ERR_PRIMARYBUSINESS_NOACCESS', 13, 1)
return 0
end
if dbo.UFN_CONSTITUENT_CANAPPUSERMODIFY(@PRIMARYBUSINESS_PARENTCORPID, @BATCHOWNERID) = 0
begin
raiserror('ERR_PRIMARYBUSINESSPARENTCORP_NOACCESS', 13, 1)
return 0
end
if dbo.UFN_CONSTITUENT_CANAPPUSERMODIFY(@PARENTCORPID, @BATCHOWNERID) = 0
begin
raiserror('ERR_PARENTCORP_NOACCESS', 13, 1)
return 0
end
if exists (select 1 from @GROUPMEMBERSTABLE where dbo.UFN_CONSTITUENT_CANAPPUSERMODIFY(CONSTITUENTID, @BATCHOWNERID) = 0)
begin
raiserror('ERR_MEMBERS_NOACCESS', 13, 1)
return 0
end
if dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('133f9bca-00f1-4007-9792-586b931340c6') = 1
begin
if (@CONSTITUENT_SITEID is not null and not exists (select 1 from dbo.UFN_SITESFORUSER(@BATCHOWNERID) where SITEID = @CONSTITUENT_SITEID))
raiserror('ERR_SITE_PERMISSIONDENIED', 13, 1);
end
if (@CONSTIT_SECURITY_ATTRIBUTEID is null and dbo.UFN_CONSTITUENTSECURITYATTRIBUTE_REQUIREDFORUSER(@BATCHOWNERID) = 1)
raiserror('ERR_SECURITYATTRIBUTE_REQUIRED', 13, 1);
if (@CONSTIT_SECURITY_ATTRIBUTEID is not null and not exists (select 1 from dbo.UFN_CONSTITUENTSECURITYATTRIBUTE_GETATTRIBUTESFORUSER(@BATCHOWNERID) where ID = @CONSTIT_SECURITY_ATTRIBUTEID))
raiserror('ERR_SECURITYATTRIBUTE_PERMISSIONDENIED', 13, 1);
if @VALIDATEONLY = 1
begin
declare @BATCHID uniqueidentifier;
select
@BATCHID = BATCHID
from
dbo.BATCHCONSTITUENT
where
ID = @BATCHROWID;
if exists
(select 1
from dbo.CONSTITUENT
where @CUSTOMIDENTIFIER <> '' and CONSTITUENT.CUSTOMIDENTIFIER = @CUSTOMIDENTIFIER
) begin
raiserror('Lookup ID must be unique.', 13, 1);
return 1;
end
if exists
(select 1
from
dbo.UFN_CONSTITUENTBATCH_GETBATCHALTERNATELOOKUPIDS_FROMITEMLISTXML(@ALTERNATELOOKUPIDS) BATCHALTERNATE
inner join dbo.ALTERNATELOOKUPID
on BATCHALTERNATE.ALTERNATELOOKUPIDTYPECODEID = ALTERNATELOOKUPID.ALTERNATELOOKUPIDTYPECODEID
and BATCHALTERNATE.ALTERNATELOOKUPID = ALTERNATELOOKUPID.ALTERNATELOOKUPID
) begin
raiserror('BBERR_ALTERNATELOOKUPID_UNIQUE', 13, 1);
return 1;
end
else if
(select count(BATCHCONSTITUENT.ID)
from dbo.BATCHCONSTITUENT
where
BATCHID = @BATCHID and
coalesce(@CUSTOMIDENTIFIER, '') <> '' and
BATCHCONSTITUENT.CUSTOMID = @CUSTOMIDENTIFIER
) > 1 begin
raiserror('The Lookup ID has multiple occurrences in this batch.', 13, 1);
return 1;
end
if (not @EDUCATIONALHISTORY_STARTDATE is null and not @EDUCATIONALHISTORY_DATEGRADUATED is null) and @EDUCATIONALHISTORY_CONSTITUENCYSTATUSCODE = 3 and ((dbo.UFN_DATE_EARLIESTFROMFUZZYDATE(@EDUCATIONALHISTORY_STARTDATE) > dbo.UFN_DATE_LATESTFROMFUZZYDATE(@EDUCATIONALHISTORY_DATEGRADUATED))) begin
raiserror('Educational date graduated must not be earlier than educational start date.',13,1);
return 1;
end
if (not @EDUCATIONALHISTORY_STARTDATE is null and not @EDUCATIONALHISTORY_DATELEFT is null) and @EDUCATIONALHISTORY_CONSTITUENCYSTATUSCODE = 2 and ((dbo.UFN_DATE_EARLIESTFROMFUZZYDATE(@EDUCATIONALHISTORY_STARTDATE) > dbo.UFN_DATE_LATESTFROMFUZZYDATE(@EDUCATIONALHISTORY_DATELEFT))) begin
raiserror('Educational date left must not be earlier than educational start date.',13,1);
return 1;
end
exec dbo.USP_BATCH_VALIDATETAXDECLARATIONS @TAXDECLARATIONS = @TAXDECLARATIONS, @BATCHTYPE = 0
-- Verify the solicit codes are valid
if @SOLICITCODES is not null
begin
declare @SOLICITCODESTABLE table
(
ID uniqueidentifier,
STARTDATE datetime,
ENDDATE datetime,
SOLICITCODEID uniqueidentifier
)
insert into @SOLICITCODESTABLE
(
ID,
STARTDATE,
ENDDATE,
SOLICITCODEID
)
select
case when ID is null then newid() else ID end,
STARTDATE,
ENDDATE,
SOLICITCODEID
from dbo.UFN_CONSTITUENTBATCH_GETSOLICITCODES_FROMITEMLISTXML(@SOLICITCODES)
-- Check for solicit codes whose end date is before the start date
if exists ( select 1
from @SOLICITCODESTABLE
where
STARTDATE is not null and
STARTDATE > ENDDATE)
raiserror('BBERR_SOLICITCODES_STARTENDDATE', 13, 1)
-- Check for records with the same solicit code and overlapping dates
if exists ( select 1
from @SOLICITCODESTABLE SOLICITCODEONE
inner join @SOLICITCODESTABLE SOLICITCODETWO on
SOLICITCODEONE.ID <> SOLICITCODETWO.ID and
SOLICITCODEONE.SOLICITCODEID = SOLICITCODETWO.SOLICITCODEID and
dbo.UFN_DATES_AREDATESOVERLAPPING(SOLICITCODEONE.STARTDATE, SOLICITCODEONE.ENDDATE, SOLICITCODETWO.STARTDATE, SOLICITCODETWO.ENDDATE) = 1)
raiserror('BBERR_SOLICITCODES_NOOVERLAPPINGDATES', 13, 1)
end
if @PRIMARYBUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 1
begin
if @PRIMARYBUSINESS_PRIMARYSOFTCREDITMATCHFACTOR <= 0 or @PRIMARYBUSINESS_PRIMARYSOFTCREDITMATCHFACTOR > 100
raiserror('BBERR_PRIMARYBUSINESS_INVALIDPRIMARYMATCHFACTOR', 13, 1)
end
if @PRIMARYBUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 1
begin
if @PRIMARYBUSINESS_RECIPROCALSOFTCREDITMATCHFACTOR <= 0 or @PRIMARYBUSINESS_RECIPROCALSOFTCREDITMATCHFACTOR > 100
raiserror('BBERR_PRIMARYBUSINESS_INVALIDRECIPROCALMATCHFACTOR', 13, 1)
end
if @SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 1
begin
if @SPOUSE_PRIMARYSOFTCREDITMATCHFACTOR <= 0 or @SPOUSE_PRIMARYSOFTCREDITMATCHFACTOR > 100
raiserror('BBERR_SPOUSE_INVALIDPRIMARYMATCHFACTOR', 13, 1)
end
if @SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 1
begin
if @SPOUSE_RECIPROCALSOFTCREDITMATCHFACTOR <= 0 or @SPOUSE_RECIPROCALSOFTCREDITMATCHFACTOR > 100
raiserror('BBERR_SPOUSE_INVALIDRECIPROCALMATCHFACTOR', 13, 1)
end
if(dbo.UFN_CONSTITUENTBATCH_VALIDATESOCIALMEDIAACCOUNTS(@SOCIALMEDIAACCOUNTS)=0)
begin
raiserror('BBERR_SOCIALMEDIAACCOUNT_DUPLICATENOTALLOWED', 13, 1);
end
end
else if @VALIDATEONLY = 0 begin
if @ISORGANIZATION = 0 -- individual
begin
insert into dbo.CONSTITUENT
(
[ID],
[KEYNAME],
[FIRSTNAME],
[MIDDLENAME],
[MAIDENNAME],
[NICKNAME],
[TITLECODEID],
[SUFFIXCODEID],
[TITLE2CODEID],
[SUFFIX2CODEID],
[BIRTHDATE],
[GENDERCODE],
[WEBADDRESS],
[ISORGANIZATION],
[CUSTOMIDENTIFIER],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[ISCONSTITUENT],
[GENDERCODEID]
)
values
(
@ID,
@KEYNAME,
@FIRSTNAME,
@MIDDLENAME,
@MAIDENNAME,
@NICKNAME,
@TITLECODEID,
@SUFFIXCODEID,
@TITLE2CODEID,
@SUFFIX2CODEID,
@BIRTHDATE,
@GENDERCODE,
@WEBADDRESS,
@ISORGANIZATION,
@CUSTOMIDENTIFIER,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
1,
@GENDERCODEID
);
end
else if @ISORGANIZATION = 1 -- organization
begin
declare @KEYNAMEBODY nvarchar(100);
declare @KEYNAMEPREFIX nvarchar(50);
exec dbo.USP_PARSE_ORGANIZATION_NAME @KEYNAME, @KEYNAMEBODY output, @KEYNAMEPREFIX output;
insert into dbo.CONSTITUENT
(
[ID],
[KEYNAME],
[KEYNAMEPREFIX],
[WEBADDRESS],
[ISORGANIZATION],
[CUSTOMIDENTIFIER],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@KEYNAMEBODY,
@KEYNAMEPREFIX,
@WEBADDRESS,
@ISORGANIZATION,
@CUSTOMIDENTIFIER,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
-- if (@INDUSTRYCODEID is not null) or (@PARENTCORPID is not null) or 'GG 01/07/09 Bug 17397
-- (@NUMEMPLOYEES > 0) or (@NUMSUBSIDIARIES > 0) or (@ISPRIMARYORGANIZATION is not null)
-- begin
insert into dbo.ORGANIZATIONDATA
(
[ID],
[INDUSTRYCODEID],
[PARENTCORPID],
[NUMEMPLOYEES],
[NUMSUBSIDIARIES],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[ISPRIMARY]
)
values
(
@ID,
@INDUSTRYCODEID,
@PARENTCORPID,
@NUMEMPLOYEES,
@NUMSUBSIDIARIES,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
coalesce(@ISPRIMARYORGANIZATION, 0)
);
if @PARENTCORPID is not null
exec dbo.USP_RELATIONSHIPS_CREATEPARENTORGRELATIONSHIP @ID, @PARENTCORPID,@CURRENTDATE,@CHANGEAGENTID,@CURRENTDATE,1,null
-- end 'GG 01/07/09 Bug 17397
end
else if (@ISORGANIZATION = 2 or @ISORGANIZATION = 3)
begin
insert into dbo.CONSTITUENT
(
[ID],
[KEYNAME],
[WEBADDRESS],
[ISORGANIZATION],
[ISGROUP],
[CUSTOMIDENTIFIER],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@KEYNAME,
@WEBADDRESS,
0, -- ISORGANIZATION
1, -- ISGROUP
@CUSTOMIDENTIFIER,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.GROUPDATA
(
ID,
GROUPTYPECODE,
STARTDATE,
GROUPTYPEID,
[DESCRIPTION],
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
case
when @ISORGANIZATION = 2 then 0
when @ISORGANIZATION = 3 then 1
else null
end,
@GROUPSTARTDATE,
@GROUPTYPEID,
@GROUPDESCRIPTION,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
insert into dbo.CONSTITUENTORIGINATION
(
ID,
INFOSOURCECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
if @CONSTIT_SECURITY_ATTRIBUTEID is not null
insert into dbo.[CONSTIT_SECURITY_ATTRIBUTE_ASSIGNMENT]
(
[CONSTIT_SECURITY_ATTRIBUTEID],
[CONSTITUENTID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@CONSTIT_SECURITY_ATTRIBUTEID,
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
if @ISDECEASED = 1 begin
insert into dbo.[DECEASEDCONSTITUENT]
(
[ID],
[DECEASEDDATE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@DECEASEDDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
if @GROUPMEMBERS is not null
begin
declare GROUPMEMBERCURSOR cursor local fast_forward for
select
CONSTITUENTID,
ISPRIMARY
from
@GROUPMEMBERSTABLE
order by ISPRIMARY desc;
declare @MEMBERID uniqueidentifier;
declare @ISPRIMARY bit;
declare @GROUPMEMBERID uniqueidentifier;
open GROUPMEMBERCURSOR;
fetch next from GROUPMEMBERCURSOR into @MEMBERID, @ISPRIMARY;
while @@FETCH_STATUS = 0
begin
set @GROUPMEMBERID = null;
exec dbo.USP_GROUPMEMBERADD @GROUPMEMBERID output, @CHANGEAGENTID, @ID, @MEMBERID;
if @ISPRIMARY = 1
update dbo.GROUPMEMBER set ISPRIMARY = 1 where ID = @GROUPMEMBERID;
fetch next from GROUPMEMBERCURSOR into @MEMBERID, @ISPRIMARY;
end
--When a cursor is used, it should be explicitly closed/deallocated in case of blocking or USP running long
close GROUPMEMBERCURSOR;
deallocate GROUPMEMBERCURSOR;
end
if @ADDRESSINCLUDED = 1 begin
declare @ADDRESSID uniqueidentifier;
set @ADDRESSID = newID();
insert into dbo.[ADDRESS]
(
[ID],
[CONSTITUENTID],
[ADDRESSTYPECODEID],
[ISPRIMARY],
[DONOTMAIL],
[DONOTMAILREASONCODEID],
[COUNTRYID],
[STATEID],
[ADDRESSBLOCK],
[CITY],
[POSTCODE],
[CART],
[DPC],
[LOT],
[STARTDATE],
[ENDDATE],
[HISTORICALSTARTDATE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ADDRESSID,
@ID,
@ADDRESS_ADDRESSTYPECODEID,
1,
@ADDRESS_DONOTMAIL,
@ADDRESS_DONOTMAILREASONCODEID,
@ADDRESS_COUNTRYID,
@ADDRESS_STATEID,
@ADDRESS_ADDRESSBLOCK,
@ADDRESS_CITY,
@ADDRESS_POSTCODE,
@ADDRESS_CART,
@ADDRESS_DPC,
@ADDRESS_LOT,
@ADDRESS_STARTDATE,
@ADDRESS_ENDDATE,
@ADDRESS_HISTORICALSTARTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.ADDRESSVALIDATIONUPDATE
(
[ID],
[COUNTYCODEID],
[CONGRESSIONALDISTRICTCODEID],
[STATEHOUSEDISTRICTCODEID],
[STATESENATEDISTRICTCODEID],
[LOCALPRECINCTCODEID],
[INFOSOURCECODEID],
[REGIONCODEID],
[LASTVALIDATIONATTEMPTDATE],
[VALIDATIONMESSAGE],
[OMITFROMVALIDATION],
[CERTIFICATIONDATA],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ADDRESSID,
@ADDRESS_COUNTYCODEID,
@ADDRESS_CONGRESSIONALDISTRICTCODEID,
@ADDRESS_STATEHOUSEDISTRICTCODEID,
@ADDRESS_STATESENATEDISTRICTCODEID,
@ADDRESS_LOCALPRECINCTCODEID,
@ADDRESS_INFOSOURCECODEID,
@ADDRESS_REGIONCODEID,
@ADDRESS_LASTVALIDATIONATTEMPTDATE,
@ADDRESS_VALIDATIONMESSAGE,
@ADDRESS_OMITFROMVALIDATION,
@ADDRESS_CERTIFICATIONDATA,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
if @PRIMARYMEMBER_COPYCONTACTINFO = 0
begin
exec dbo.USP_CONSTITUENT_GETPHONESWITHSEASONAL_ADDFROMXML @ID, @PHONES, @CHANGEAGENTID;
if (@EMAILADDRESS_EMAILADDRESSTYPECODEID is not null) or (coalesce(@EMAILADDRESS_EMAILADDRESS,'') <> '')
insert into dbo.[EMAILADDRESS]
(
[CONSTITUENTID],
[EMAILADDRESSTYPECODEID],
[EMAILADDRESS],
[ISPRIMARY],
[INFOSOURCECODEID],
[INFOSOURCECOMMENTS],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[STARTDATE]
)
values
(
@ID,
@EMAILADDRESS_EMAILADDRESSTYPECODEID,
@EMAILADDRESS_EMAILADDRESS,
1,
@EMAILADDRESS_INFOSOURCECODEID,
@EMAILADDRESS_INFOSOURCECOMMENTS,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@EMAILADDRESS_STARTDATE
);
end
else
begin
declare @PRIMARYMEMBERID uniqueidentifier;
select @PRIMARYMEMBERID = MEMBERID
from dbo.GROUPMEMBER
where ISPRIMARY = 1
and GROUPID = @ID;
if @PRIMARYMEMBERID is not null
begin
exec dbo.USP_CONSTITUENT_COPYPRIMARYCONTACTINFO @CHANGEAGENTID, @PRIMARYMEMBERID, @ID;
declare @PRIMARYMEMBERWEBADDRESS dbo.UDT_WEBADDRESS = '';
select @PRIMARYMEMBERWEBADDRESS = WEBADDRESS
from dbo.CONSTITUENT where ID = @PRIMARYMEMBERID;
update dbo.CONSTITUENT
set WEBADDRESS = @PRIMARYMEMBERWEBADDRESS
where ID = @ID;
end
end
if (@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID is not null) and (@PRIMARYADDRESSEE_NAMEFORMATFUNCTIONID is not null) begin
begin try
insert into dbo.[NAMEFORMAT]
(
[CONSTITUENTID],
[NAMEFORMATTYPECODEID],
[NAMEFORMATFUNCTIONID],
[PRIMARYADDRESSEE],
[PRIMARYSALUTATION],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID,
@PRIMARYADDRESSEE_NAMEFORMATFUNCTIONID,
1,
case when @PRIMARYADDRESSEE_NAMEFORMATTYPECODEID = @PRIMARYSALUTATION_NAMEFORMATTYPECODEID then 1 else 0 end,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50001';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
end
if (@PRIMARYSALUTATION_NAMEFORMATTYPECODEID is not null) and (@PRIMARYSALUTATION_NAMEFORMATFUNCTIONID is not null) and
((@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID is null) or (@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID <> @PRIMARYSALUTATION_NAMEFORMATTYPECODEID)) begin
begin try
insert into dbo.[NAMEFORMAT]
(
[CONSTITUENTID],
[NAMEFORMATTYPECODEID],
[NAMEFORMATFUNCTIONID],
[PRIMARYADDRESSEE],
[PRIMARYSALUTATION],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@PRIMARYSALUTATION_NAMEFORMATTYPECODEID,
@PRIMARYSALUTATION_NAMEFORMATFUNCTIONID,
0,
1,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50002';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
end
/*Start name format defaults*/
INSERT INTO [dbo].[NAMEFORMAT]
([CONSTITUENTID]
,[NAMEFORMATTYPECODEID]
,[NAMEFORMATFUNCTIONID]
,[ADDEDBYID]
,[CHANGEDBYID]
,[DATEADDED]
,[DATECHANGED]
,[PRIMARYADDRESSEE]
,[PRIMARYSALUTATION])
SELECT
@ID
,NFD.NAMEFORMATTYPECODEID
,NFD.NAMEFORMATFUNCTIONID
,@CHANGEAGENTID
,@CHANGEAGENTID
,@CURRENTDATE
,@CURRENTDATE
,NFD.PRIMARYADDRESSEE
,NFD.PRIMARYSALUTATION
FROM dbo.NAMEFORMATDEFAULT as NFD
WHERE ((NFD.APPLYTOCODE = 0 and @ISORGANIZATION = 0))
and (((@PRIMARYADDRESSEE_NAMEFORMATTYPECODEID is null)
and (@PRIMARYADDRESSEE_NAMEFORMATFUNCTIONID is null))
or ((NFD.PRIMARYADDRESSEE <> 1)
and (NFD.NAMEFORMATTYPECODEID <> @PRIMARYADDRESSEE_NAMEFORMATTYPECODEID)))
and (((@PRIMARYSALUTATION_NAMEFORMATTYPECODEID is null)
and (@PRIMARYSALUTATION_NAMEFORMATFUNCTIONID is null))
or ((NFD.PRIMARYSALUTATION <> 1)
and (NFD.NAMEFORMATTYPECODEID <> @PRIMARYSALUTATION_NAMEFORMATTYPECODEID)))
/*End name format defaults*/
if (@EDUCATIONALHISTORY_EDUCATIONALINSTITUTIONID is not null) begin
declare @EDUCATIONALHISTORYID uniqueidentifier;
set @EDUCATIONALHISTORYID = newid();
declare @ISAFFILIATED bit;
select
@ISAFFILIATED = ISAFFILIATED
from dbo.EDUCATIONALINSTITUTION
where
ID = @EDUCATIONALHISTORY_EDUCATIONALINSTITUTIONID;
declare @USEACADEMICCATALOG bit;
select top 1
@USEACADEMICCATALOG = EC.USEACADEMICCATALOG
from
dbo.EDUCATIONALCONFIGURATION EC;
set @USEACADEMICCATALOG = coalesce(@USEACADEMICCATALOG,0);
if @USEACADEMICCATALOG = 1 and @ISAFFILIATED = 1
begin
insert into dbo.[EDUCATIONALHISTORY]
(
[ID],
[CONSTITUENTID],
[EDUCATIONALINSTITUTIONID],
[ISPRIMARYRECORD],
[CONSTITUENCYSTATUSCODE],
[STARTDATE],
[DATEGRADUATED],
[DATELEFT],
[CLASSOF],
[ACADEMICCATALOGPROGRAMID],
[ACADEMICCATALOGDEGREEID],
[EDUCATIONALAWARDCODEID],
[PREFERREDCLASSYEAR],
[EDUCATIONALSOURCECODEID],
[EDUCATIONALSOURCEDATE],
[COMMENT],
[EDUCATIONALHISTORYLEVELCODEID],
[EDUCATIONALHISTORYREASONCODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@EDUCATIONALHISTORYID,
@ID,
@EDUCATIONALHISTORY_EDUCATIONALINSTITUTIONID,
@EDUCATIONALHISTORY_ISPRIMARYRECORD,
@EDUCATIONALHISTORY_CONSTITUENCYSTATUSCODE,
@EDUCATIONALHISTORY_STARTDATE,
@EDUCATIONALHISTORY_DATEGRADUATED,
@EDUCATIONALHISTORY_DATELEFT,
@EDUCATIONALHISTORY_CLASSOF,
@EDUCATIONALHISTORY_ACADEMICCATALOGPROGRAMID,
@EDUCATIONALHISTORY_ACADEMICCATALOGDEGREEID,
@EDUCATIONALHISTORY_EDUCATIONALAWARDCODEID,
@EDUCATIONALHISTORY_PREFERREDCLASSYEAR,
@EDUCATIONALHISTORY_EDUCATIONALSOURCECODEID,
@EDUCATIONALHISTORY_EDUCATIONALSOURCEDATE,
@EDUCATIONALHISTORY_COMMENT,
@EDUCATIONALHISTORY_LEVELCODEID,
@EDUCATIONALHISTORY_REASONCODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
exec dbo.USP_EDUCATIONALHISTORY_GETAFFILIATEDADDITIONALINFORMATION_ADDFROMXML @EDUCATIONALHISTORYID, @AFFILIATEDADDITIONALINFORMATION, @CHANGEAGENTID;
end
else
begin
insert into dbo.[EDUCATIONALHISTORY]
(
[ID],
[CONSTITUENTID],
[EDUCATIONALINSTITUTIONID],
[ISPRIMARYRECORD],
[CONSTITUENCYSTATUSCODE],
[EDUCATIONALDEGREECODEID],
[STARTDATE],
[DATEGRADUATED],
[DATELEFT],
[CLASSOF],
[EDUCATIONALPROGRAMCODEID],
[EDUCATIONALAWARDCODEID],
[PREFERREDCLASSYEAR],
[EDUCATIONALSOURCECODEID],
[EDUCATIONALSOURCEDATE],
[COMMENT],
[EDUCATIONALHISTORYLEVELCODEID],
[EDUCATIONALHISTORYREASONCODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@EDUCATIONALHISTORYID,
@ID,
@EDUCATIONALHISTORY_EDUCATIONALINSTITUTIONID,
@EDUCATIONALHISTORY_ISPRIMARYRECORD,
@EDUCATIONALHISTORY_CONSTITUENCYSTATUSCODE,
@EDUCATIONALHISTORY_EDUCATIONALDEGREECODEID,
@EDUCATIONALHISTORY_STARTDATE,
@EDUCATIONALHISTORY_DATEGRADUATED,
@EDUCATIONALHISTORY_DATELEFT,
@EDUCATIONALHISTORY_CLASSOF,
@EDUCATIONALHISTORY_EDUCATIONALPROGRAMCODEID,
@EDUCATIONALHISTORY_EDUCATIONALAWARDCODEID,
@EDUCATIONALHISTORY_PREFERREDCLASSYEAR,
@EDUCATIONALHISTORY_EDUCATIONALSOURCECODEID,
@EDUCATIONALHISTORY_EDUCATIONALSOURCEDATE,
@EDUCATIONALHISTORY_COMMENT,
@EDUCATIONALHISTORY_LEVELCODEID,
@EDUCATIONALHISTORY_REASONCODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
exec dbo.USP_EDUCATIONALHISTORY_GETUNAFFILIATEDADDITIONALINFORMATION_ADDFROMXML @EDUCATIONALHISTORYID, @UNAFFILIATEDADDITIONALINFORMATION, @CHANGEAGENTID;
end
end
exec dbo.USP_CONSTITUENT_GETEDUCATIONALINVOLVEMENT_ADDFROMXML @ID, @EDUCATIONALINVOLVEMENT, @CHANGEAGENTID;
if (@SPOUSEID is null) and (coalesce(@SPOUSE_KEYNAME,'') <> '') begin
set @SPOUSEID = newid();
begin try
insert into dbo.[CONSTITUENT]
(
[ID],
[KEYNAME],
[FIRSTNAME],
[MIDDLENAME],
[MAIDENNAME],
[NICKNAME],
[TITLECODEID],
[SUFFIXCODEID],
[TITLE2CODEID],
[SUFFIX2CODEID],
[GENDERCODE],
[BIRTHDATE],
[ISCONSTITUENT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[GENDERCODEID]
)
values
(
@SPOUSEID,
@SPOUSE_KEYNAME,
@SPOUSE_FIRSTNAME,
@SPOUSE_MIDDLENAME,
@SPOUSE_MAIDENNAME,
@SPOUSE_NICKNAME,
@SPOUSE_TITLECODEID,
@SPOUSE_SUFFIXCODEID,
@SPOUSE_TITLE2CODEID,
@SPOUSE_SUFFIX2CODEID,
@SPOUSE_GENDERCODE,
@SPOUSE_BIRTHDATE,
dbo.UFN_CONSTITUENCYCRITERIASPOUSE_SPOUSEISCONSTITUENT(),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@SPOUSE_GENDERCODEID
);
insert into dbo.CONSTITUENTORIGINATION
(
ID,
INFOSOURCECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@SPOUSEID,
@ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50003';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
-- copy siteid to new spouse record
if @CONSTITUENT_SITEID is not null
begin
insert into dbo.[CONSTITUENTSITE] (
[SITEID],
[CONSTITUENTID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values (
@CONSTITUENT_SITEID,
@SPOUSEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
else
begin
if dbo.UFN_SITEREQUIREDFORUSER(@BATCHOWNERID) = 1
insert into dbo.CONSTITUENTSITE
(
DATEADDED,
DATECHANGED,
ADDEDBYID,
CHANGEDBYID,
CONSTITUENTID,
SITEID
)
select
@CURRENTDATE,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@SPOUSEID,
SITEID
from
dbo.UFN_SITESFORUSER(@BATCHOWNERID)
end
--Bug 4965 - AdamBu - 9/23/08
-- If security on the new constituent is set and a new spouse or household
-- is created for that constituent, set them with the same security.
if @CONSTIT_SECURITY_ATTRIBUTEID is not null
insert into dbo.[CONSTIT_SECURITY_ATTRIBUTE_ASSIGNMENT]
(
[CONSTIT_SECURITY_ATTRIBUTEID],
[CONSTITUENTID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@CONSTIT_SECURITY_ATTRIBUTEID,
@SPOUSEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
/*Start name format defaults*/
INSERT INTO [dbo].[NAMEFORMAT]
([CONSTITUENTID]
,[NAMEFORMATTYPECODEID]
,[NAMEFORMATFUNCTIONID]
,[ADDEDBYID]
,[CHANGEDBYID]
,[DATEADDED]
,[DATECHANGED]
,[PRIMARYADDRESSEE]
,[PRIMARYSALUTATION])
SELECT
@SPOUSEID
,NFD.NAMEFORMATTYPECODEID
,NFD.NAMEFORMATFUNCTIONID
,@CHANGEAGENTID
,@CHANGEAGENTID
,@CURRENTDATE
,@CURRENTDATE
,NFD.PRIMARYADDRESSEE
,NFD.PRIMARYSALUTATION
FROM dbo.NAMEFORMATDEFAULT as NFD
WHERE (NFD.APPLYTOCODE = 0)
/*End name format defaults*/
if (@SPOUSE_EMAILADDRESS_EMAILADDRESSTYPECODEID is not null) or (coalesce(@SPOUSE_EMAILADDRESS_EMAILADDRESS,'') <> '') begin
begin try
insert into dbo.[EMAILADDRESS]
(
[CONSTITUENTID],
[EMAILADDRESSTYPECODEID],
[EMAILADDRESS],
[ISPRIMARY],
[INFOSOURCECODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[STARTDATE]
)
values
(
@SPOUSEID,
@SPOUSE_EMAILADDRESS_EMAILADDRESSTYPECODEID,
@SPOUSE_EMAILADDRESS_EMAILADDRESS,
1,
@ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@SPOUSE_EMAILADDRESS_STARTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50004';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
end
end
if (@SPOUSEID is not null) begin
begin try
set @SETID = newid();
insert into dbo.RELATIONSHIPSET
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@SETID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.RELATIONSHIP
(
[RELATIONSHIPCONSTITUENTID],
[RECIPROCALCONSTITUENTID],
[RELATIONSHIPTYPECODEID],
[RECIPROCALTYPECODEID],
[ISSPOUSE],
[RELATIONSHIPSETID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[STARTDATE]
)
values
(
@ID,
@SPOUSEID,
@SPOUSE_RELATIONSHIPTYPECODEID,
@SPOUSE_RECIPROCALTYPECODEID,
1,
@SETID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@SPOUSE_STARTDATE
);
if (not exists(select ID from dbo.DISABLEDWEALTHUPDATES where ID = @SPOUSEID))
insert into dbo.DISABLEDWEALTHUPDATES
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@SPOUSEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE @ID, @SPOUSEID, @SPOUSE_RELATIONSHIPTYPECODEID, @SPOUSE_RECIPROCALTYPECODEID, @CHANGEAGENTID, @CURRENTDATE
exec dbo.USP_MARRIAGEOPTIONS_APPLYRULES @ID, @SPOUSEID, @CHANGEAGENTID, @CURRENTDATE;
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50005';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @SPOUSEID, @ID, @SPOUSE_STARTDATE, null,
@SPOUSE_PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @SPOUSE_PRIMARYSOFTCREDITMATCHFACTOR,
@SPOUSE_PRIMARYRECOGNITIONTYPECODEID, @SPOUSE_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS,
@SPOUSE_RECIPROCALSOFTCREDITMATCHFACTOR, @SPOUSE_RECIPROCALRECOGNITIONTYPECODEID,
@CHANGEAGENTID, 0;
declare @SPOUSE_COPY_ISPRIMARY bit;
declare @SPOUSE_COPY_EXISTINGID uniqueidentifier;
declare @SPOUSE_COPY_SEQUENCE int;
-- Only copy the address to the spouse if it is not an "empty" address
if @SPOUSE_COPY_ADDRESS = 1
and @ADDRESSINCLUDED = 1
and not
(
@ADDRESS_ADDRESSTYPECODEID is null
and coalesce(@ADDRESS_DONOTMAIL, 0) = 0
and @ADDRESS_DONOTMAILREASONCODEID is null
and @ADDRESS_STATEID is null
and @ADDRESS_COUNTRYID is null
and coalesce(@ADDRESS_ADDRESSBLOCK, '') = ''
and coalesce(@ADDRESS_CITY, '') = ''
and coalesce(@ADDRESS_POSTCODE, '') = ''
and coalesce(@ADDRESS_CART, '') = ''
and coalesce(@ADDRESS_DPC, '') = ''
and coalesce(@ADDRESS_LOT, '') = ''
and coalesce(@ADDRESS_STARTDATE, '0000') = '0000'
and coalesce(@ADDRESS_ENDDATE, '0000') = '0000'
and coalesce(@ADDRESS_HISTORICALSTARTDATE, '') = ''
)
begin try
if exists (select ID from dbo.ADDRESS where CONSTITUENTID = @SPOUSEID and ISPRIMARY = 1)
set @SPOUSE_COPY_ISPRIMARY = 0;
else
set @SPOUSE_COPY_ISPRIMARY = 1;
select
@SPOUSE_COPY_SEQUENCE = coalesce(max(SEQUENCE), 0) + 1
from
dbo.ADDRESS
where
CONSTITUENTID = @SPOUSEID;
set @SPOUSE_COPY_EXISTINGID = null;
declare @EMPTY_GUID uniqueidentifier = '00000000-0000-0000-0000-000000000000'
select
@SPOUSE_COPY_EXISTINGID = ID
from
dbo.ADDRESS
where
CONSTITUENTID = @SPOUSEID and
coalesce(ADDRESSTYPECODEID, @EMPTY_GUID) = coalesce(@ADDRESS_ADDRESSTYPECODEID, @EMPTY_GUID) and
COUNTRYID = @ADDRESS_COUNTRYID and
coalesce(STATEID, @EMPTY_GUID) = coalesce(@ADDRESS_STATEID, @EMPTY_GUID) and
ADDRESSBLOCK = @ADDRESS_ADDRESSBLOCK and
CITY = @ADDRESS_CITY and
POSTCODE = @ADDRESS_POSTCODE;
if @SPOUSE_COPY_EXISTINGID is null
begin
declare @SPOUSE_ADDRESSID uniqueidentifier;
set @SPOUSE_ADDRESSID = newid();
insert into dbo.[ADDRESS]
(
[ID],
[CONSTITUENTID],
[ADDRESSTYPECODEID],
[ISPRIMARY],
[DONOTMAIL],
[DONOTMAILREASONCODEID],
[COUNTRYID],
[STATEID],
[ADDRESSBLOCK],
[CITY],
[POSTCODE],
[CART],
[DPC],
[LOT],
[STARTDATE],
[ENDDATE],
[HISTORICALSTARTDATE],
[SEQUENCE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@SPOUSE_ADDRESSID,
@SPOUSEID,
@ADDRESS_ADDRESSTYPECODEID,
@SPOUSE_COPY_ISPRIMARY,
@ADDRESS_DONOTMAIL,
@ADDRESS_DONOTMAILREASONCODEID,
@ADDRESS_COUNTRYID,
@ADDRESS_STATEID,
@ADDRESS_ADDRESSBLOCK,
@ADDRESS_CITY,
@ADDRESS_POSTCODE,
@ADDRESS_CART,
@ADDRESS_DPC,
@ADDRESS_LOT,
@ADDRESS_STARTDATE,
@ADDRESS_ENDDATE,
@ADDRESS_HISTORICALSTARTDATE,
@SPOUSE_COPY_SEQUENCE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.ADDRESSVALIDATIONUPDATE
(
[ID],
[INFOSOURCECODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@SPOUSE_ADDRESSID,
@ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
else
if @SPOUSE_COPY_ISPRIMARY = 1
update dbo.ADDRESS
set
ISPRIMARY = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @SPOUSE_COPY_EXISTINGID
and ISPRIMARY <> 1;
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50012';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
if @SPOUSE_COPY_PHONENUMBER = 1
begin try
set @SPOUSE_COPY_EXISTINGID = null;
declare @SPOUSE_COPY_PHONEINCLUDED bit;
set @SPOUSE_COPY_PHONEINCLUDED = 0;
declare @SPOUSE_COPY_PHONETYPECODEID uniqueidentifier;
declare @SPOUSE_COPY_NUMBER nvarchar(100);
declare @SPOUSE_COPY_STARTTIME dbo.UDT_HOURMINUTE;
declare @SPOUSE_COPY_ENDTIME dbo.UDT_HOURMINUTE;
declare @SPOUSE_COPY_STARTDATE date;
declare @SPOUSE_COPY_COUNTRYID uniqueidentifier;
declare @SPOUSE_COPY_SEASONALSTART dbo.UDT_MONTHDAY;
declare @SPOUSE_COPY_SEASONALEND dbo.UDT_MONTHDAY;
select
@SPOUSE_COPY_PHONETYPECODEID = PHONETYPECODEID,
@SPOUSE_COPY_NUMBER = NUMBER,
@SPOUSE_COPY_PHONEINCLUDED = ISPRIMARY,
@SPOUSE_COPY_STARTTIME = STARTTIME,
@SPOUSE_COPY_ENDTIME = ENDTIME,
@SPOUSE_COPY_STARTDATE = STARTDATE,
@SPOUSE_COPY_COUNTRYID = COUNTRYID,
@SPOUSE_COPY_SEASONALSTART = SEASONALSTARTDATE,
@SPOUSE_COPY_SEASONALEND = SEASONALENDDATE
from
dbo.PHONE
where
CONSTITUENTID = @ID and
ISPRIMARY = 1;
if @SPOUSE_COPY_PHONEINCLUDED = 1
begin
if exists (select ID from dbo.PHONE where CONSTITUENTID = @SPOUSEID and ISPRIMARY = 1)
set @SPOUSE_COPY_ISPRIMARY = 0;
else
set @SPOUSE_COPY_ISPRIMARY = 1;
select
@SPOUSE_COPY_SEQUENCE = coalesce(max(SEQUENCE), 0) + 1
from
dbo.PHONE
where
CONSTITUENTID = @SPOUSEID;
select
@SPOUSE_COPY_EXISTINGID = ID
from
dbo.PHONE
where
CONSTITUENTID = @SPOUSEID and
PHONETYPECODEID = @SPOUSE_COPY_PHONETYPECODEID and
NUMBER = @SPOUSE_COPY_NUMBER;
if @SPOUSE_COPY_EXISTINGID is null
insert into dbo.PHONE
(
CONSTITUENTID,
PHONETYPECODEID,
NUMBER,
ISPRIMARY,
INFOSOURCECODEID,
SEQUENCE,
STARTTIME,
ENDTIME,
STARTDATE,
COUNTRYID,
SEASONALSTARTDATE,
SEASONALENDDATE,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@SPOUSEID,
@SPOUSE_COPY_PHONETYPECODEID,
@SPOUSE_COPY_NUMBER,
@SPOUSE_COPY_ISPRIMARY,
@ADDRESS_INFOSOURCECODEID,
@SPOUSE_COPY_SEQUENCE,
@SPOUSE_COPY_STARTTIME,
@SPOUSE_COPY_ENDTIME,
@SPOUSE_COPY_STARTDATE,
@SPOUSE_COPY_COUNTRYID,
@SPOUSE_COPY_SEASONALSTART,
@SPOUSE_COPY_SEASONALEND,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50013';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
if @SPOUSE_COPY_EMAILADDRESS = 1
and
(
(@EMAILADDRESS_EMAILADDRESSTYPECODEID is not null)
or (coalesce(@EMAILADDRESS_EMAILADDRESS, '') <> '')
)
begin try
set @SPOUSE_COPY_EXISTINGID = null;
if exists (select ID from dbo.EMAILADDRESS where CONSTITUENTID = @SPOUSEID and ISPRIMARY = 1)
set @SPOUSE_COPY_ISPRIMARY = 0;
else
set @SPOUSE_COPY_ISPRIMARY = 1;
select
@SPOUSE_COPY_SEQUENCE = coalesce(max(SEQUENCE), 0) + 1
from
dbo.EMAILADDRESS
where
CONSTITUENTID = @SPOUSEID;
select
@SPOUSE_COPY_EXISTINGID = ID
from
dbo.EMAILADDRESS
where
CONSTITUENTID = @SPOUSEID and
EMAILADDRESSTYPECODEID = @EMAILADDRESS_EMAILADDRESSTYPECODEID and
EMAILADDRESS = @EMAILADDRESS_EMAILADDRESS;
if @SPOUSE_COPY_EXISTINGID is null
insert into dbo.EMAILADDRESS
(
CONSTITUENTID,
EMAILADDRESSTYPECODEID,
EMAILADDRESS,
ISPRIMARY,
INFOSOURCECODEID,
SEQUENCE,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
STARTDATE
)
values
(
@SPOUSEID,
@EMAILADDRESS_EMAILADDRESSTYPECODEID,
@EMAILADDRESS_EMAILADDRESS,
@SPOUSE_COPY_ISPRIMARY,
@ADDRESS_INFOSOURCECODEID,
@SPOUSE_COPY_SEQUENCE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@EMAILADDRESS_STARTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50014';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
declare @CURRENTDATEEARLIESTTIME date;
set @CURRENTDATEEARLIESTTIME = @CURRENTDATE;
-- get the household of the spouse
declare @SPOUSEHOUSEHOLDID uniqueidentifier;
select
@SPOUSEHOUSEHOLDID = GM.GROUPID
from
dbo.GROUPMEMBER GM
inner join
dbo.GROUPDATA GD on GD.ID = GM.GROUPID
left join
dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
where
GD.GROUPTYPECODE = 0
and
GM.MEMBERID = @SPOUSEID
and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATEEARLIESTTIME))
or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATEEARLIESTTIME))
or (GMDR.DATEFROM <= @CURRENTDATEEARLIESTTIME and GMDR.DATETO > @CURRENTDATEEARLIESTTIME));
-- if the spouse is not in a household, create a new one and add them both
if (@SPOUSEHOUSEHOLDID is null) begin
declare @NAMEFORMATFUNCTIONID uniqueidentifier;
select top(1) @NAMEFORMATFUNCTIONID = NAMEFORMATFUNCTIONID from dbo.HOUSEHOLDINFO order by DATEADDED;
declare @HOUSEHOLDNAME nvarchar(154);
select @HOUSEHOLDNAME = dbo.UFN_NAMEFORMAT_FROMID(@NAMEFORMATFUNCTIONID, @ID);
declare @HOUSEHOLDID uniqueidentifier;
set @HOUSEHOLDID = newid();
-- create the household constituent/group data records
insert into dbo.CONSTITUENT
(
[ID],
[KEYNAME],
[ISORGANIZATION],
[ISGROUP],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@HOUSEHOLDID,
@HOUSEHOLDNAME,
0, -- ISORGANIZATION
1, -- ISGROUP
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.GROUPDATA
(
ID,
GROUPTYPECODE,
STARTDATE,
GROUPTYPEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@HOUSEHOLDID,
0,
@CURRENTDATEEARLIESTTIME,
null,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.CONSTITUENTORIGINATION
(
ID,
INFOSOURCECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@HOUSEHOLDID,
@ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
-- copy address to new household
if @ADDRESSINCLUDED = 1
begin
declare @HOUSEHOLDADDRESSID uniqueidentifier;
set @HOUSEHOLDADDRESSID = newID();
insert into dbo.[ADDRESS] (
[ID],
[CONSTITUENTID],
[ADDRESSTYPECODEID],
[ISPRIMARY],
[DONOTMAIL],
[DONOTMAILREASONCODEID],
[COUNTRYID],
[STATEID],
[ADDRESSBLOCK],
[CITY],
[POSTCODE],
[CART],
[DPC],
[LOT],
[STARTDATE],
[ENDDATE],
[HISTORICALSTARTDATE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values (
@HOUSEHOLDADDRESSID,
@HOUSEHOLDID,
@ADDRESS_ADDRESSTYPECODEID,
1,
@ADDRESS_DONOTMAIL,
@ADDRESS_DONOTMAILREASONCODEID,
@ADDRESS_COUNTRYID,
@ADDRESS_STATEID,
@ADDRESS_ADDRESSBLOCK,
@ADDRESS_CITY,
@ADDRESS_POSTCODE,
@ADDRESS_CART,
@ADDRESS_DPC,
@ADDRESS_LOT,
@ADDRESS_STARTDATE,
@ADDRESS_ENDDATE,
@ADDRESS_HISTORICALSTARTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.ADDRESSVALIDATIONUPDATE (
[ID],
[COUNTYCODEID],
[CONGRESSIONALDISTRICTCODEID],
[STATEHOUSEDISTRICTCODEID],
[STATESENATEDISTRICTCODEID],
[LOCALPRECINCTCODEID],
[INFOSOURCECODEID],
[REGIONCODEID],
[LASTVALIDATIONATTEMPTDATE],
[VALIDATIONMESSAGE],
[OMITFROMVALIDATION],
[CERTIFICATIONDATA],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values (
@HOUSEHOLDADDRESSID,
@ADDRESS_COUNTYCODEID,
@ADDRESS_CONGRESSIONALDISTRICTCODEID,
@ADDRESS_STATEHOUSEDISTRICTCODEID,
@ADDRESS_STATESENATEDISTRICTCODEID,
@ADDRESS_LOCALPRECINCTCODEID,
@ADDRESS_INFOSOURCECODEID,
@ADDRESS_REGIONCODEID,
@ADDRESS_LASTVALIDATIONATTEMPTDATE,
@ADDRESS_VALIDATIONMESSAGE,
@ADDRESS_OMITFROMVALIDATION,
@ADDRESS_CERTIFICATIONDATA,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
-- copy phones to new household
if @PHONES is not null
begin
insert into dbo.[PHONE] (
[CONSTITUENTID],
[COUNTRYID],
[ENDTIME],
[ID],
[ISPRIMARY],
[NUMBER],
[PHONETYPECODEID],
[SEASONALENDDATE],
[SEASONALSTARTDATE],
[SEQUENCE],
[STARTDATE],
[STARTTIME],
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select @HOUSEHOLDID,
[COUNTRYID],
[ENDTIME],
newid(),
[ISPRIMARY],
[NUMBER],
[PHONETYPECODEID],
[SEASONALENDDATE],
[SEASONALSTARTDATE],
[SEQUENCE],
[STARTDATE],
[STARTTIME],
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
from dbo.[PHONE]
where CONSTITUENTID = @ID
if (@ADDRESS_INFOSOURCECODEID is not null)
update dbo.[PHONE]
set [INFOSOURCECODEID] = @ADDRESS_INFOSOURCECODEID
where [CONSTITUENTID] = @HOUSEHOLDID
end
-- copy email addresses to new household
if (@EMAILADDRESS_EMAILADDRESSTYPECODEID is not null) or (coalesce(@EMAILADDRESS_EMAILADDRESS, '') <> '')
insert into dbo.[EMAILADDRESS] (
[CONSTITUENTID],
[EMAILADDRESSTYPECODEID],
[EMAILADDRESS],
[ISPRIMARY],
[INFOSOURCECODEID],
[INFOSOURCECOMMENTS],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[STARTDATE]
)
values (
@HOUSEHOLDID,
@EMAILADDRESS_EMAILADDRESSTYPECODEID,
@EMAILADDRESS_EMAILADDRESS,
1,
@EMAILADDRESS_INFOSOURCECODEID,
@EMAILADDRESS_INFOSOURCECOMMENTS,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@EMAILADDRESS_STARTDATE
);
-- copy siteid to new household record
if @CONSTITUENT_SITEID is not null
begin
insert into dbo.[CONSTITUENTSITE] (
[SITEID],
[CONSTITUENTID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values (
@CONSTITUENT_SITEID,
@HOUSEHOLDID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
else
begin
if dbo.UFN_SITEREQUIREDFORUSER(@BATCHOWNERID) = 1
insert into dbo.CONSTITUENTSITE
(
DATEADDED,
DATECHANGED,
ADDEDBYID,
CHANGEDBYID,
CONSTITUENTID,
SITEID
)
select
@CURRENTDATE,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@HOUSEHOLDID,
SITEID
from
dbo.UFN_SITESFORUSER(@BATCHOWNERID)
end
-- create the primary group member record
declare @PRIMARYGROUPMEMBERID uniqueidentifier;
exec dbo.USP_GROUPMEMBERADD @PRIMARYGROUPMEMBERID output, @CHANGEAGENTID, @HOUSEHOLDID, @ID;
update
dbo.GROUPMEMBER
set
ISPRIMARY = 1
where
ID = @PRIMARYGROUPMEMBERID;
-- create the spouse record
declare @SPOUSEGROUPMEMBERID uniqueidentifier;
exec dbo.USP_GROUPMEMBERADD @SPOUSEGROUPMEMBERID output, @CHANGEAGENTID, @HOUSEHOLDID, @SPOUSEID;
--Bug 4965 - AdamBu - 9/23/08
-- If security on the new constituent is set and a new spouse or household
-- is created for that constituent, set them with the same security.
if @CONSTIT_SECURITY_ATTRIBUTEID is not null
insert into dbo.[CONSTIT_SECURITY_ATTRIBUTE_ASSIGNMENT]
(
[CONSTIT_SECURITY_ATTRIBUTEID],
[CONSTITUENTID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@CONSTIT_SECURITY_ATTRIBUTEID,
@HOUSEHOLDID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
-- if the spouse is in a household, add the new constituent to it
else begin
declare @SPOUSEHOUSEHOLDMEMBERID uniqueidentifier;
exec dbo.USP_GROUPMEMBERADD @SPOUSEHOUSEHOLDMEMBERID output, @CHANGEAGENTID, @SPOUSEHOUSEHOLDID, @ID;
end
end
if (@PRIMARYBUSINESSID is null) and (coalesce(@PRIMARYBUSINESS_KEYNAME,'') <> '') begin
set @PRIMARYBUSINESSID = newid();
begin try
insert into dbo.[CONSTITUENT]
(
[ID],
[ISORGANIZATION],
[KEYNAME],
[WEBADDRESS],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@PRIMARYBUSINESSID,
-1,
@PRIMARYBUSINESS_KEYNAME,
@PRIMARYBUSINESS_WEBADDRESS,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.CONSTITUENTORIGINATION
(
ID,
INFOSOURCECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@PRIMARYBUSINESSID,
@PRIMARYBUSINESS_ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50006';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
if @CONSTITUENT_SITEID is not null
begin
insert into dbo.[CONSTITUENTSITE]
(
[SITEID],
[CONSTITUENTID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@CONSTITUENT_SITEID,
@PRIMARYBUSINESSID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
else
begin
if dbo.UFN_SITEREQUIREDFORUSER(@BATCHOWNERID) = 1
insert into dbo.CONSTITUENTSITE
(
DATEADDED,
DATECHANGED,
ADDEDBYID,
CHANGEDBYID,
CONSTITUENTID,
SITEID
)
select
@CURRENTDATE,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@PRIMARYBUSINESSID,
SITEID
from
dbo.UFN_SITESFORUSER(@BATCHOWNERID)
end
begin try
insert into dbo.[ORGANIZATIONDATA]
(
[ID],
[INDUSTRYCODEID],
[NUMEMPLOYEES],
[NUMSUBSIDIARIES],
[PARENTCORPID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[ISPRIMARY]
)
values
(
@PRIMARYBUSINESSID,
@PRIMARYBUSINESS_INDUSTRYCODEID,
@PRIMARYBUSINESS_NUMEMPLOYEES,
@PRIMARYBUSINESS_NUMSUBSIDIARIES,
@PRIMARYBUSINESS_PARENTCORPID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
coalesce(@PRIMARYBUSINESS_ISPRIMARYORGANIZATION,0)
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50007';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
if (@PRIMARYBUSINESS_PHONE_PHONETYPECODEID is not null) or (coalesce(@PRIMARYBUSINESS_PHONE_NUMBER,'') <> '') begin
begin try
insert into dbo.[PHONE]
(
[CONSTITUENTID],
[PHONETYPECODEID],
[NUMBER],
[COUNTRYID],
[ISPRIMARY],
[INFOSOURCECODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@PRIMARYBUSINESSID,
@PRIMARYBUSINESS_PHONE_PHONETYPECODEID,
@PRIMARYBUSINESS_PHONE_NUMBER,
@PRIMARYBUSINESS_PHONE_COUNTRYID,
1,
@PRIMARYBUSINESS_ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50008';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
end
if (@PRIMARYBUSINESS_EMAILADDRESS_EMAILADDRESSTYPECODEID is not null) or (coalesce(@PRIMARYBUSINESS_EMAILADDRESS_EMAILADDRESS,'') <> '') begin
begin try
insert into dbo.[EMAILADDRESS]
(
[CONSTITUENTID],
[EMAILADDRESSTYPECODEID],
[EMAILADDRESS],
[ISPRIMARY],
[INFOSOURCECODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[STARTDATE]
)
values
(
@PRIMARYBUSINESSID,
@PRIMARYBUSINESS_EMAILADDRESS_EMAILADDRESSTYPECODEID,
@PRIMARYBUSINESS_EMAILADDRESS_EMAILADDRESS,
1,
@PRIMARYBUSINESS_ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@PRIMARYBUSINESS_EMAILADDRESS_STARTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50009';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
end
if @PRIMARYBUSINESS_ADDRESSINCLUDED = 1 begin
begin try
declare @PRIMARYBUSINESS_ADDRESSID uniqueidentifier;
set @PRIMARYBUSINESS_ADDRESSID = newid();
insert into dbo.[ADDRESS]
(
[ID],
[CONSTITUENTID],
[ADDRESSTYPECODEID],
[ISPRIMARY],
[DONOTMAIL],
[DONOTMAILREASONCODEID],
[COUNTRYID],
[STATEID],
[ADDRESSBLOCK],
[CITY],
[POSTCODE],
[CART],
[DPC],
[LOT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@PRIMARYBUSINESS_ADDRESSID,
@PRIMARYBUSINESSID,
@PRIMARYBUSINESS_ADDRESS_ADDRESSTYPECODEID,
1,
@PRIMARYBUSINESS_ADDRESS_DONOTMAIL,
@PRIMARYBUSINESS_ADDRESS_DONOTMAILREASONCODEID,
@PRIMARYBUSINESS_ADDRESS_COUNTRYID,
@PRIMARYBUSINESS_ADDRESS_STATEID,
@PRIMARYBUSINESS_ADDRESS_ADDRESSBLOCK,
@PRIMARYBUSINESS_ADDRESS_CITY,
@PRIMARYBUSINESS_ADDRESS_POSTCODE,
@PRIMARYBUSINESS_ADDRESS_CART,
@PRIMARYBUSINESS_ADDRESS_DPC,
@PRIMARYBUSINESS_ADDRESS_LOT,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.ADDRESSVALIDATIONUPDATE
(
[ID],
[INFOSOURCECODEID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@PRIMARYBUSINESS_ADDRESSID,
@PRIMARYBUSINESS_ADDRESS_INFOSOURCECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50010';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
end
end
if (@PRIMARYBUSINESSID is not null) begin
begin try
set @SETID = newid();
insert into dbo.RELATIONSHIPSET
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@SETID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.RELATIONSHIP
(
[RELATIONSHIPCONSTITUENTID],
[RECIPROCALCONSTITUENTID],
[RELATIONSHIPTYPECODEID],
[RECIPROCALTYPECODEID],
[ISPRIMARYBUSINESS],
[RELATIONSHIPSETID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[STARTDATE]
)
values
(
@ID,
@PRIMARYBUSINESSID,
@PRIMARYBUSINESS_RELATIONSHIPTYPECODEID,
@PRIMARYBUSINESS_RECIPROCALTYPECODEID,
1,
@SETID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@PRIMARYBUSINESS_STARTDATE
);
exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE @ID, @PRIMARYBUSINESSID, @PRIMARYBUSINESS_RELATIONSHIPTYPECODEID, @PRIMARYBUSINESS_RECIPROCALTYPECODEID, @CHANGEAGENTID, @CURRENTDATE
if (@PRIMARYBUSINESS_JOBCATEGORYCODEID is not null) or
(@PRIMARYBUSINESS_CAREERLEVELCODEID is not null) or
(len(@PRIMARYBUSINESS_JOBDIVISION) > 0) or
(len(@PRIMARYBUSINESS_JOBDEPARTMENT) > 0) or
(@PRIMARYBUSINESS_JOBSCHEDULECODEID is not null) or
(len(@PRIMARYBUSINESS_JOBTITLE) > 0)
insert into dbo.RELATIONSHIPJOBINFO
(
RELATIONSHIPSETID,
JOBTITLE,
JOBCATEGORYCODEID,
CAREERLEVELCODEID,
JOBDIVISION,
JOBDEPARTMENT,
JOBSCHEDULECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED,
STARTDATE
)
values
(
@SETID,
@PRIMARYBUSINESS_JOBTITLE,
@PRIMARYBUSINESS_JOBCATEGORYCODEID,
@PRIMARYBUSINESS_CAREERLEVELCODEID,
@PRIMARYBUSINESS_JOBDIVISION,
@PRIMARYBUSINESS_JOBDEPARTMENT,
@PRIMARYBUSINESS_JOBSCHEDULECODEID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@PRIMARYBUSINESS_STARTDATE
);
end try
begin catch
set @InfoMsg='BBERR_ORIGINAL_ERROR:50011';
raiserror (@InfoMsg,1,11);
select
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
raiserror(@ErrorMessage,@ErrorSeverity,@ErrorState);
return 1;
end catch
exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @PRIMARYBUSINESSID, @ID, @PRIMARYBUSINESS_STARTDATE, null,
@PRIMARYBUSINESS_PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @PRIMARYBUSINESS_PRIMARYSOFTCREDITMATCHFACTOR,
@PRIMARYBUSINESS_PRIMARYRECOGNITIONTYPECODEID, @PRIMARYBUSINESS_RECIPROCALSOFTCREDITRELATIONSHIPEXISTS,
@PRIMARYBUSINESS_RECIPROCALSOFTCREDITMATCHFACTOR, @PRIMARYBUSINESS_RECIPROCALRECOGNITIONTYPECODEID,
@CHANGEAGENTID;
end
declare @USERDEFINEDCONSTITUENCY xml;
set @USERDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.c.query('.')
from
@CONSTITUENCY.nodes('/CONSTITUENCY/ITEM') CONSTITUENCY(c)
left join dbo.CONSTITUENCYSYSTEMNAME on CONSTITUENCY.c.value('(CONSTITUENCYCODEID)[1]', 'uniqueidentifier') = CONSTITUENCYSYSTEMNAME.ID
where
CONSTITUENCYSYSTEMNAME.ID is null
for xml raw(''),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_ADDFROMXML @ID, @USERDEFINEDCONSTITUENCY, @CHANGEAGENTID;
declare @SYSTEMDEFINEDCONSTITUENCY xml;
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.c.query('.')
from
@CONSTITUENCY.nodes('/CONSTITUENCY/ITEM') CONSTITUENCY(c)
where
CONSTITUENCY.c.value('(CONSTITUENCYCODEID)[1]', 'uniqueidentifier') = 'F828E957-5F5E-479A-8F23-2FFD6C7C68FF'
for xml raw(''),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_BOARDMEMBER_ADDFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.c.query('.')
from
@CONSTITUENCY.nodes('/CONSTITUENCY/ITEM') CONSTITUENCY(c)
where
CONSTITUENCY.c.value('(CONSTITUENCYCODEID)[1]', 'uniqueidentifier') = '6093915E-ADE9-42BE-88AE-304731754467'
for xml raw(''),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_STAFF_ADDFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.c.query('.')
from
@CONSTITUENCY.nodes('/CONSTITUENCY/ITEM') CONSTITUENCY(c)
where
CONSTITUENCY.c.value('(CONSTITUENCYCODEID)[1]', 'uniqueidentifier') = 'D2DCA06A-BE6E-40B3-B95D-59A926181923'
for xml raw(''),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_FUNDRAISER_ADDFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.c.query('.')
from
@CONSTITUENCY.nodes('/CONSTITUENCY/ITEM') CONSTITUENCY(c)
where
CONSTITUENCY.c.value('(CONSTITUENCYCODEID)[1]', 'uniqueidentifier') = '00E748FB-940D-4A7D-A133-C148B29410A8'
for xml raw(''),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_PROSPECT_ADDFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
if @SYSTEMDEFINEDCONSTITUENCY.exist('/CONSTITUENCY/ITEM/CONSTITUENCYCODEID/text()[string-length() > 0]') = 1
if not exists (select 1 from dbo.PROSPECT where ID=@ID)
insert into dbo.PROSPECT
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.c.query('.')
from
@CONSTITUENCY.nodes('/CONSTITUENCY/ITEM') CONSTITUENCY(c)
where
CONSTITUENCY.c.value('(CONSTITUENCYCODEID)[1]', 'uniqueidentifier') = 'E7489703-3D63-4017-A2BC-88C092563C5D'
for xml raw(''),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_VOLUNTEER_ADDFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
if @SYSTEMDEFINEDCONSTITUENCY.exist('/CONSTITUENCY/ITEM/CONSTITUENCYCODEID/text()[string-length() > 0]') = 1
if not exists (select 1 from dbo.VOLUNTEER where ID=@ID)
insert into dbo.VOLUNTEER
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
--Committee
set @SYSTEMDEFINEDCONSTITUENCY =
(
select
CONSTITUENCY.c.query('.')
from
@CONSTITUENCY.nodes('/CONSTITUENCY/ITEM') CONSTITUENCY(c)
where
CONSTITUENCY.c.value('(CONSTITUENCYCODEID)[1]', 'uniqueidentifier') = 'AC9DB5A4-14E0-416A-9FB2-04038AC66799'
for xml raw(''),type,elements,root('CONSTITUENCY'),BINARY BASE64
);
exec dbo.USP_CONSTITUENT_GETCONSTITUENCIES_COMMITTEE_ADDFROMXML @ID, @SYSTEMDEFINEDCONSTITUENCY, @CHANGEAGENTID;
if @SYSTEMDEFINEDCONSTITUENCY.exist('/CONSTITUENCY/ITEM/CONSTITUENCYCODEID/text()[string-length() > 0]') = 1
if not exists (select 1 from dbo.COMMITTEE where ID=@ID)
insert into dbo.COMMITTEE
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
if @CONSTITUENT_SITEID is not null
begin
insert into dbo.[CONSTITUENTSITE]
(
[SITEID],
[CONSTITUENTID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@CONSTITUENT_SITEID,
@ID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
else
begin
if dbo.UFN_SITEREQUIREDFORUSER(@BATCHOWNERID) = 1
insert into dbo.CONSTITUENTSITE
(
DATEADDED,
DATECHANGED,
ADDEDBYID,
CHANGEDBYID,
CONSTITUENTID,
SITEID
)
select
@CURRENTDATE,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@ID,
SITEID
from
dbo.UFN_SITESFORUSER(@BATCHOWNERID)
end
exec dbo.USP_CONSTITUENT_GETINTERESTS_ADDFROMXML @ID, @INTEREST, @CHANGEAGENTID;
exec dbo.USP_CONSTITUENT_GETALTERNATELOOKUPIDS_ADDFROMXML @ID, @ALTERNATELOOKUPIDS, @CHANGEAGENTID;
-- Only add declarations if the constituent is an individual
if @ISORGANIZATION = 0 and @TAXDECLARATIONS is not null
begin
insert into dbo.TAXDECLARATION
(
CONSTITUENTID,
DECLARATIONINDICATORCODE,
DECLARATIONMADE,
DECLARATIONSTARTS,
DECLARATIONENDS,
CHARITYCLAIMREFERENCENUMBERID,
PAYSTAXCODE,
DECLARATIONSOURCECODEID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
select
@ID,
DECLARATIONINDICATORCODE,
DECLARATIONMADE,
DECLARATIONSTARTS,
DECLARATIONENDS,
CHARITYCLAIMREFERENCENUMBERID,
PAYSTAXCODE,
DECLARATIONSOURCECODEID,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.UFN_CONSTITUENTBATCH_GETTAXDECLARATIONS_FROMITEMLISTXML(@TAXDECLARATIONS)
end
if @SOLICITCODES is not null
begin
insert into dbo.CONSTITUENTSOLICITCODE
(
CONSTITUENTID,
SOLICITCODEID,
STARTDATE,
ENDDATE,
COMMENTS,
SEQUENCE,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED,
CONSENTPREFERENCECODE,
SOURCECODEID,
SOURCEFILEPATH,
PRIVACYPOLICYFILEPATH,
SUPPORTINGINFORMATION,
CONSENTSTATEMENT
)
select
@ID,
SOLICITCODEID,
STARTDATE,
ENDDATE,
COMMENTS,
SEQUENCE,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE,
CONSENTPREFERENCECODE,
SOURCECODEID,
SOURCEFILEPATH,
PRIVACYPOLICYFILEPATH,
SUPPORTINGINFORMATION,
CONSENTSTATEMENT
from dbo.UFN_CONSTITUENTBATCH_GETSOLICITCODES_FROMITEMLISTXML(@SOLICITCODES)
end
if (@ETHNICITYCODEID is not null) or (@RELIGIONCODEID is not null) or (@TARGETCODEID is not null) or (@INCOMECODEID is not null) or (len(coalesce(@BIRTHPLACE, '')) > 0)
begin
insert into dbo.DEMOGRAPHIC
(ID, ETHNICITYCODEID, RELIGIONCODEID, TARGETCODEID, INCOMECODEID, BIRTHPLACE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @ETHNICITYCODEID, @RELIGIONCODEID, @TARGETCODEID, @INCOMECODEID, @BIRTHPLACE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end
if @MAIDENNAME is not null and @MAIDENNAME != ''
begin
insert into dbo.ALIAS
(CONSTITUENTID, KEYNAME, FIRSTNAME, MIDDLENAME, DATEADDED, DATECHANGED, ADDEDBYID, CHANGEDBYID)
values
(@ID, @MAIDENNAME, @FIRSTNAME, @MIDDLENAME, @CURRENTDATE, @CURRENTDATE, @CHANGEAGENTID, @CHANGEAGENTID)
end
if @SPOUSEID is not null and @SPOUSE_MAIDENNAME is not null and @SPOUSE_MAIDENNAME != ''
begin
insert into dbo.ALIAS
(CONSTITUENTID, KEYNAME, FIRSTNAME, MIDDLENAME, DATEADDED, DATECHANGED, ADDEDBYID, CHANGEDBYID)
values
(@SPOUSEID, @SPOUSE_MAIDENNAME, @SPOUSE_FIRSTNAME, @SPOUSE_MIDDLENAME, @CURRENTDATE, @CURRENTDATE, @CHANGEAGENTID, @CHANGEAGENTID)
end
if(dbo.UFN_CONSTITUENTBATCH_VALIDATESOCIALMEDIAACCOUNTS(@SOCIALMEDIAACCOUNTS)=0)
begin
raiserror('BBERR_SOCIALMEDIAACCOUNT_DUPLICATENOTALLOWED', 13, 1);
end
if @SOCIALMEDIAACCOUNTS is not null
begin
insert into dbo.SOCIALMEDIAACCOUNT
(
CONSTITUENTID,
SOCIALMEDIASERVICEID,
USERID,
URL,
SOCIALMEDIAACCOUNTTYPECODEID,
INFOSOURCECODEID,
DONOTCONTACT,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED
)
select
@ID,
ACCOUNTS.SOCIALMEDIASERVICEID,
ACCOUNTS.USERID,
ACCOUNTS.URL,
ACCOUNTS.SOCIALMEDIAACCOUNTTYPECODEID,
ACCOUNTS.INFOSOURCECODEID,
ACCOUNTS.DONOTCONTACT,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from
dbo.UFN_CONSTITUENTBATCH_GETSOCIALMEDIAACCOUNTS_FROMITEMLISTXML(@SOCIALMEDIAACCOUNTS) ACCOUNTS
end
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;