USP_DATAFORMTEMPLATE_EDITLOAD_REVENUEBATCHCONSTITUENT_2

The load procedure used by the edit dataform template "Revenue Batch Constituent Edit Form 2"

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.
@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.
@ISORGANIZATION bit INOUT Is organization
@ISEXISTINGCONSTITUENT bit INOUT Is existing constituent
@LASTNAME nvarchar(100) INOUT Last name
@ORGANIZATIONNAME nvarchar(100) INOUT Name
@FIRSTNAME nvarchar(50) INOUT First name
@MIDDLENAME nvarchar(50) INOUT Middle name
@MAIDENNAME nvarchar(100) INOUT Maiden name
@NICKNAME nvarchar(50) INOUT Nickname
@TITLECODEID uniqueidentifier INOUT Title
@SUFFIXCODEID uniqueidentifier INOUT Suffix
@GENDERCODE tinyint INOUT Gender
@BIRTHDATE UDT_FUZZYDATE INOUT Birth date
@ISHOUSEHOLDMEMBER bit INOUT Is household member
@ADDRESS_ADDRESSTYPECODEID uniqueidentifier INOUT Address type
@ADDRESS_DONOTMAIL bit INOUT Do not send mail to this address
@ADDRESS_DONOTMAILREASONCODEID uniqueidentifier INOUT Reason
@ADDRESS_COUNTRYID uniqueidentifier INOUT Country
@ADDRESS_STATEID uniqueidentifier INOUT State
@ADDRESS_ADDRESSBLOCK nvarchar(150) INOUT Address
@ADDRESS_CITY nvarchar(50) INOUT City
@ADDRESS_POSTCODE nvarchar(12) INOUT ZIP
@ADDRESS_UPDATEMATCHINGHOUSEHOLDADDRESSES bit INOUT Update matching addresses in household
@ADDRESS_MATCHINGHOUSEHOLDMEMBERS xml INOUT Household members
@ADDRESS_OMITFROMVALIDATION bit INOUT Omit this address
@ADDRESS_CART nvarchar(10) INOUT
@ADDRESS_DPC nvarchar(8) INOUT
@ADDRESS_LOT nvarchar(5) INOUT
@ADDRESS_COUNTYCODEID uniqueidentifier INOUT
@ADDRESS_CONGRESSIONALDISTRICTCODEID uniqueidentifier INOUT
@ADDRESS_LASTVALIDATIONATTEMPTDATE datetime INOUT
@ADDRESS_VALIDATIONMESSAGE nvarchar(100) INOUT
@ADDRESS_CERTIFICATIONDATA int INOUT
@VALIDATIONCOUNTRIES xml INOUT
@PHONE_PHONETYPECODEID uniqueidentifier INOUT Phone type
@PHONE_NUMBER nvarchar(100) INOUT Phone number
@EMAILADDRESS_EMAILADDRESSTYPECODEID uniqueidentifier INOUT Email type
@EMAILADDRESS_EMAILADDRESS UDT_EMAILADDRESS INOUT Email address
@ORGANIZATION_ADDRESSTYPECODEID nvarchar(50) INOUT Address type
@ORGANIZATION_DONOTMAIL bit INOUT Do not send mail to this address
@ORGANIZATION_DONOTMAILREASONCODEID uniqueidentifier INOUT Reason
@ORGANIZATION_COUNTRYID uniqueidentifier INOUT Country
@ORGANIZATION_STATEID nvarchar(50) INOUT State
@ORGANIZATION_ADDRESSBLOCK nvarchar(150) INOUT Address
@ORGANIZATION_CITY nvarchar(50) INOUT City
@ORGANIZATION_POSTCODE nvarchar(12) INOUT ZIP
@ORGANIZATION_OMITFROMVALIDATION bit INOUT Omit this address
@ORGANIZATION_CART nvarchar(10) INOUT
@ORGANIZATION_DPC nvarchar(8) INOUT
@ORGANIZATION_LOT nvarchar(5) INOUT
@ORGANIZATION_COUNTYCODEID uniqueidentifier INOUT
@ORGANIZATION_CONGRESSIONALDISTRICTCODEID uniqueidentifier INOUT
@ORGANIZATION_LASTVALIDATIONATTEMPTDATE datetime INOUT
@ORGANIZATION_VALIDATIONMESSAGE nvarchar(100) INOUT
@ORGANIZATION_CERTIFICATIONDATA int INOUT
@ORGANIZATION_PHONETYPECODEID nvarchar(50) INOUT Phone type
@ORGANIZATION_NUMBER nvarchar(100) INOUT Phone number
@ORGANIZATION_EMAILADDRESSTYPECODEID nvarchar(50) INOUT Email type
@ORGANIZATION_EMAILADDRESS UDT_EMAILADDRESS INOUT Email address
@MARITALSTATUSCODEID uniqueidentifier INOUT Marital status
@WEBADDRESS UDT_WEBADDRESS INOUT Website
@INDUSTRYCODEID nvarchar(100) INOUT Industry
@NUMEMPLOYEES int INOUT Number of employees
@NUMSUBSIDIARIES int INOUT Number of subsidiaries
@PARENTCORPID nvarchar(100) INOUT Parent org
@BATCHSPOUSEID uniqueidentifier INOUT Batch spouse id
@BATCHSPOUSERELATIONID uniqueidentifier INOUT Batch spouse relation id
@SPOUSEID uniqueidentifier INOUT Full name
@EXISTINGSPOUSE bit INOUT Existing constituent
@SPOUSE_LASTNAME nvarchar(100) INOUT Last Name
@SPOUSE_FIRSTNAME nvarchar(50) INOUT First Name
@SPOUSE_MIDDLENAME nvarchar(50) INOUT Middle Name
@SPOUSE_MAIDENNAME nvarchar(100) INOUT Maiden Name
@SPOUSE_NICKNAME nvarchar(50) INOUT Nickname
@SPOUSE_TITLECODEID uniqueidentifier INOUT Title
@SPOUSE_SUFFIXCODEID uniqueidentifier INOUT Suffix
@SPOUSE_GENDERCODE tinyint INOUT Gender
@SPOUSE_BIRTHDATE UDT_FUZZYDATE INOUT Birth date
@SPOUSE_RECIPROCALTYPECODEID uniqueidentifier INOUT Reciprocal relationship type
@SPOUSE_RELATIONSHIPTYPECODEID uniqueidentifier INOUT Relationship type
@COPYPRIMARYINFORMATION bit INOUT Copy primary information
@SPOUSE_STARTDATE datetime INOUT Start date
@ISSPOUSERELATIONSHIP bit INOUT Is spouse relationship
@BATCHBUSINESSID uniqueidentifier INOUT Batch organization id
@BATCHBUSINESSRELATIONID uniqueidentifier INOUT Batch organization relation id
@BUSINESSID uniqueidentifier INOUT Org name
@EXISTINGBUSINESS bit INOUT Existing constituent
@BUSINESS_NAME nvarchar(100) INOUT Org name
@BUSINESS_ADDRESSTYPECODEID uniqueidentifier INOUT Address type
@BUSINESS_COUNTRYID uniqueidentifier INOUT Country
@BUSINESS_STATEID uniqueidentifier INOUT State
@BUSINESS_ADDRESSBLOCK nvarchar(150) INOUT Address
@BUSINESS_CITY nvarchar(50) INOUT City
@BUSINESS_POSTCODE nvarchar(12) INOUT ZIP
@BUSINESS_DONOTMAIL bit INOUT Do not send mail to this address
@BUSINESS_DONOTMAILREASONCODEID uniqueidentifier INOUT Reason
@BUSINESS_OMITFROMVALIDATION bit INOUT Omit this address
@BUSINESS_CART nvarchar(10) INOUT
@BUSINESS_DPC nvarchar(8) INOUT
@BUSINESS_LOT nvarchar(5) INOUT
@BUSINESS_COUNTYCODEID uniqueidentifier INOUT
@BUSINESS_CONGRESSIONALDISTRICTCODEID uniqueidentifier INOUT
@BUSINESS_LASTVALIDATIONATTEMPTDATE datetime INOUT
@BUSINESS_VALIDATIONMESSAGE nvarchar(100) INOUT
@BUSINESS_CERTIFICATIONDATA int INOUT
@BUSINESS_PHONETYPECODEID uniqueidentifier INOUT Phone type
@BUSINESS_NUMBER nvarchar(100) INOUT Phone number
@BUSINESS_RECIPROCALTYPECODEID uniqueidentifier INOUT Reciprocal relationship type
@BUSINESS_RELATIONSHIPTYPECODEID uniqueidentifier INOUT Relationship type
@BUSINESS_STARTDATE datetime INOUT Start date
@ISCONTACT bit INOUT Is contact
@ISPRIMARYCONTACT bit INOUT Primary contact
@CONTACTTYPECODEID uniqueidentifier INOUT Contact type
@POSITION nvarchar(50) INOUT Position
@ISMATCHINGGIFTRELATIONSHIP bit INOUT Matching gift relationship
@ZIPLOOKUPCOUNTRIES xml INOUT
@ISGROUP bit INOUT Is group
@ISHOUSEHOLD bit INOUT Is household
@GROUP_NAME nvarchar(100) INOUT Name
@GROUP_DESCRIPTION nvarchar(300) INOUT Description
@GROUP_GIVESANONYMOUSLY bit INOUT Group gives anonymously
@GROUP_ADDRESSTYPECODEID uniqueidentifier INOUT Address type
@GROUP_COUNTRYID uniqueidentifier INOUT Country
@GROUP_ADDRESSBLOCK nvarchar(150) INOUT Address
@GROUP_CITY nvarchar(50) INOUT City
@GROUP_STATEID uniqueidentifier INOUT State
@GROUP_POSTCODE nvarchar(12) INOUT ZIP/Postal code
@GROUP_OMITFROMVALIDATION bit INOUT Omit this address
@GROUP_CART nvarchar(10) INOUT
@GROUP_DPC nvarchar(8) INOUT
@GROUP_LOT nvarchar(5) INOUT
@GROUP_COUNTYCODEID uniqueidentifier INOUT
@GROUP_CONGRESSIONALDISTRICTCODEID uniqueidentifier INOUT
@GROUP_LASTVALIDATIONATTEMPTDATE datetime INOUT
@GROUP_VALIDATIONMESSAGE nvarchar(100) INOUT
@GROUP_CERTIFICATIONDATA int INOUT
@GROUP_PHONETYPECODEID uniqueidentifier INOUT Phone type
@GROUP_NUMBER nvarchar(100) INOUT Phone number
@GROUP_EMAILADDRESSTYPECODEID uniqueidentifier INOUT Email type
@GROUP_EMAILADDRESS UDT_EMAILADDRESS INOUT Email address
@GROUP_WEBADDRESS UDT_WEBADDRESS INOUT Website
@GROUP_DONOTMAIL bit INOUT Do not send mail to this address
@GROUP_DONOTMAILREASONCODEID uniqueidentifier INOUT Reason
@GROUP_UPDATEMATCHINGHOUSEHOLDADDRESSES bit INOUT Update matching addresses in household
@GROUP_GROUPTYPEID uniqueidentifier INOUT Group type
@GROUP_PRIMARYCONTACTID uniqueidentifier INOUT Primary contact
@GROUP_MEMBERS xml INOUT Members
@GROUP_NEWMEMBERSEARCHID uniqueidentifier INOUT Search for constituents to include in the group
@GROUP_STARTDATE datetime INOUT Start date
@HOUSEHOLD_HOUSEHOLDSCANBEDONORS bit INOUT Can households be donors
@HOUSEHOLD_PRIMARYCONTACTID uniqueidentifier INOUT Full name
@HOUSEHOLD_PRIMARYCONTACT_KEYNAME nvarchar(100) INOUT Last name
@HOUSEHOLD_PRIMARYCONTACT_FIRSTNAME nvarchar(50) INOUT First name
@HOUSEHOLD_PRIMARYCONTACT_MIDDLENAME nvarchar(50) INOUT Middle name
@HOUSEHOLD_PRIMARYCONTACT_TITLECODEID uniqueidentifier INOUT Title
@HOUSEHOLD_PRIMARYCONTACT_SUFFIXCODEID uniqueidentifier INOUT Suffix
@HOUSEHOLD_PRIMARYCONTACT_COPYHOUSEHOLDCONTACT bit INOUT Copy household contact information
@HOUSEHOLD_SECONDMEMBERID uniqueidentifier INOUT Full name
@HOUSEHOLD_SECONDMEMBER_KEYNAME nvarchar(100) INOUT Last name
@HOUSEHOLD_SECONDMEMBER_FIRSTNAME nvarchar(50) INOUT First name
@HOUSEHOLD_SECONDMEMBER_MIDDLENAME nvarchar(50) INOUT Middle name
@HOUSEHOLD_SECONDMEMBER_TITLECODEID uniqueidentifier INOUT Title
@HOUSEHOLD_SECONDMEMBER_SUFFIXCODEID uniqueidentifier INOUT Suffix
@HOUSEHOLD_SECONDMEMBER_COPYHOUSEHOLDCONTACT bit INOUT Copy household contact information
@HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEID uniqueidentifier INOUT Reciprocal relationship type
@HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEID uniqueidentifier INOUT Relationship type
@HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_STARTDATE datetime INOUT Start date
@HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_ISSPOUSE bit INOUT This is the spouse relationship
@HOUSEHOLDCOPYPRIMARYCONTACTINFO bit INOUT Copy primary contact information to household
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DEFAULTCOUNTRYID uniqueidentifier INOUT

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REVENUEBATCHCONSTITUENT_2
                    (
                        @ID                                        uniqueidentifier,                        
                        @DATALOADED                                bit = 0 output,
                        @TSLONG                                        bigint = 0 output,
                        @ISORGANIZATION                            bit = null output,
                        @ISEXISTINGCONSTITUENT    bit = null output,
                        @LASTNAME                                nvarchar(100) = null output,
                        @ORGANIZATIONNAME                        nvarchar(100) = null output,
                        @FIRSTNAME                                nvarchar(50) = null output,
                        @MIDDLENAME                                nvarchar(50) = null output,
                        @MAIDENNAME                                nvarchar(100) = null output,
                        @NICKNAME                                nvarchar(50) = null output,
                        @TITLECODEID                            uniqueidentifier = null output,
                        @SUFFIXCODEID                            uniqueidentifier = null output,
                        @GENDERCODE                                tinyint = null output,
                        @BIRTHDATE                                dbo.UDT_FUZZYDATE = null output,
                        @ISHOUSEHOLDMEMBER                        bit = null output,

                        @ADDRESS_ADDRESSTYPECODEID                uniqueidentifier = null output,
                        @ADDRESS_DONOTMAIL                        bit = null output,
                        @ADDRESS_DONOTMAILREASONCODEID uniqueidentifier = null output,
                        @ADDRESS_COUNTRYID                        uniqueidentifier = null output,
                        @ADDRESS_STATEID                        uniqueidentifier = null output,
                        @ADDRESS_ADDRESSBLOCK                    nvarchar(150) = null output,
                        @ADDRESS_CITY                            nvarchar(50) = null output,
                        @ADDRESS_POSTCODE                        nvarchar(12) = null output,
                        @ADDRESS_UPDATEMATCHINGHOUSEHOLDADDRESSES    bit = null output,
                        @ADDRESS_MATCHINGHOUSEHOLDMEMBERS        xml = null output,

                        -- Address Validation

                        @ADDRESS_OMITFROMVALIDATION                bit = null output,
                        @ADDRESS_CART                            nvarchar(10) = null output,
                        @ADDRESS_DPC                            nvarchar(8) = null output,
                        @ADDRESS_LOT                            nvarchar(5) = null output,
                        @ADDRESS_COUNTYCODEID                    uniqueidentifier = null output,
                        @ADDRESS_CONGRESSIONALDISTRICTCODEID    uniqueidentifier = null output,
                        @ADDRESS_LASTVALIDATIONATTEMPTDATE        datetime = null output,
                        @ADDRESS_VALIDATIONMESSAGE                nvarchar(100) = null output,
                        @ADDRESS_CERTIFICATIONDATA                integer = null output,
                        @VALIDATIONCOUNTRIES                    xml = null output,
                        @PHONE_PHONETYPECODEID                    uniqueidentifier = null output,
                        @PHONE_NUMBER                            nvarchar(100) = null output,
                        @EMAILADDRESS_EMAILADDRESSTYPECODEID    uniqueidentifier = null output,
                        @EMAILADDRESS_EMAILADDRESS                dbo.UDT_EMAILADDRESS = null output,
                        @ORGANIZATION_ADDRESSTYPECODEID nvarchar(50) = null output,
                        @ORGANIZATION_DONOTMAIL bit = null output,
                        @ORGANIZATION_DONOTMAILREASONCODEID uniqueidentifier = null output,
                        @ORGANIZATION_COUNTRYID uniqueidentifier = null output,                        
                        @ORGANIZATION_STATEID nvarchar(50) = null output,
                        @ORGANIZATION_ADDRESSBLOCK nvarchar(150) = null output,
                        @ORGANIZATION_CITY nvarchar(50) = null output,
                        @ORGANIZATION_POSTCODE nvarchar(12) = null output,

                        -- Address Validation

                        @ORGANIZATION_OMITFROMVALIDATION                bit = null output,
                        @ORGANIZATION_CART                                nvarchar(10) = null output,
                        @ORGANIZATION_DPC                                nvarchar(8) = null output,
                        @ORGANIZATION_LOT                                nvarchar(5) = null output,
                        @ORGANIZATION_COUNTYCODEID                        uniqueidentifier = null output,
                        @ORGANIZATION_CONGRESSIONALDISTRICTCODEID        uniqueidentifier = null output,
                        @ORGANIZATION_LASTVALIDATIONATTEMPTDATE            datetime = null output,
                        @ORGANIZATION_VALIDATIONMESSAGE                    nvarchar(100) = null output,
                        @ORGANIZATION_CERTIFICATIONDATA                    integer = null output,
                        @ORGANIZATION_PHONETYPECODEID                    nvarchar(50) = null output,
                        @ORGANIZATION_NUMBER                            nvarchar(100) = null output,
                        @ORGANIZATION_EMAILADDRESSTYPECODEID            nvarchar(50) = null output,
                        @ORGANIZATION_EMAILADDRESS                        dbo.UDT_EMAILADDRESS = null output,
                        @MARITALSTATUSCODEID                            uniqueidentifier = null output,
                        @WEBADDRESS                                        dbo.UDT_WEBADDRESS = null output,
                        @INDUSTRYCODEID                                    nvarchar(100) = null output,
                        @NUMEMPLOYEES                                    int = null output,
                        @NUMSUBSIDIARIES                                int = null output,
                        @PARENTCORPID                                    nvarchar(100) = null output,

                        --Individual's relationship Variables

                        @BATCHSPOUSEID                            uniqueidentifier = null output,
                        @BATCHSPOUSERELATIONID                    uniqueidentifier = null output,
                        @SPOUSEID                                uniqueidentifier = null output,
                        @EXISTINGSPOUSE                            bit = null output,
                        @SPOUSE_LASTNAME                        nvarchar(100) = null output,
                        @SPOUSE_FIRSTNAME                        nvarchar(50) = null output,
                        @SPOUSE_MIDDLENAME                        nvarchar(50) = null output,
                        @SPOUSE_MAIDENNAME                        nvarchar(100) = null output,
                        @SPOUSE_NICKNAME                        nvarchar(50) = null output,
                        @SPOUSE_TITLECODEID                        uniqueidentifier = null output,
                        @SPOUSE_SUFFIXCODEID                    uniqueidentifier = null output,
                        @SPOUSE_GENDERCODE                        tinyint = null output,
                        @SPOUSE_BIRTHDATE                        dbo.UDT_FUZZYDATE = null output,
                        @SPOUSE_RECIPROCALTYPECODEID            uniqueidentifier = null output,
                        @SPOUSE_RELATIONSHIPTYPECODEID            uniqueidentifier = null output,
                        @COPYPRIMARYINFORMATION                    bit = null output,
                        @SPOUSE_STARTDATE                        datetime = null output,
                        @ISSPOUSERELATIONSHIP                    bit = null output,

                        --Organization variables

                        @BATCHBUSINESSID                    uniqueidentifier = null output,
                        @BATCHBUSINESSRELATIONID            uniqueidentifier = null output,
                        @BUSINESSID                            uniqueidentifier = null output,
                        @EXISTINGBUSINESS                    bit = null output,
                        @BUSINESS_NAME                        nvarchar(100) = null output,
                        @BUSINESS_ADDRESSTYPECODEID            uniqueidentifier = null output,
                        @BUSINESS_COUNTRYID                    uniqueidentifier = null output,
                        @BUSINESS_STATEID                    uniqueidentifier = null output,
                        @BUSINESS_ADDRESSBLOCK                nvarchar(150) = null output,
                        @BUSINESS_CITY                        nvarchar(50) = null output,
                        @BUSINESS_POSTCODE                    nvarchar(12) = null output,
                        @BUSINESS_DONOTMAIL                    bit = null output,
                        @BUSINESS_DONOTMAILREASONCODEID uniqueidentifier = null output,

                        -- Address Validation

                        @BUSINESS_OMITFROMVALIDATION            bit = null output,
                        @BUSINESS_CART                            nvarchar(10) = null output,
                        @BUSINESS_DPC                            nvarchar(8) = null output,
                        @BUSINESS_LOT                            nvarchar(5) = null output,
                        @BUSINESS_COUNTYCODEID                    uniqueidentifier = null output,
                        @BUSINESS_CONGRESSIONALDISTRICTCODEID    uniqueidentifier = null output,
                        @BUSINESS_LASTVALIDATIONATTEMPTDATE        datetime = null output,
                        @BUSINESS_VALIDATIONMESSAGE                nvarchar(100) = null output,
                        @BUSINESS_CERTIFICATIONDATA                integer = null output,
                        @BUSINESS_PHONETYPECODEID                uniqueidentifier = null output,
                        @BUSINESS_NUMBER                        nvarchar(100) = null output,
                        @BUSINESS_RECIPROCALTYPECODEID            uniqueidentifier = null output,
                        @BUSINESS_RELATIONSHIPTYPECODEID        uniqueidentifier = null output,
                        @BUSINESS_STARTDATE                        datetime = null output,                        
                        @ISCONTACT                                bit = null output,
                        @ISPRIMARYCONTACT                        bit = null output,
                        @CONTACTTYPECODEID                        uniqueidentifier = null output,
                        @POSITION                                nvarchar(50) = null output,
                        @ISMATCHINGGIFTRELATIONSHIP                bit = null output,

                        @ZIPLOOKUPCOUNTRIES xml = null output,

                        -- Group/Household variables

                        @ISGROUP bit = null output,
                        @ISHOUSEHOLD bit = null output,
                        @GROUP_NAME nvarchar(100) = null output,
                        @GROUP_DESCRIPTION nvarchar(300) = null output,
                        @GROUP_GIVESANONYMOUSLY bit = null output,
                        @GROUP_ADDRESSTYPECODEID uniqueidentifier = null output,
                        @GROUP_COUNTRYID uniqueidentifier = null output,
                        @GROUP_ADDRESSBLOCK nvarchar(150) = null output,
                        @GROUP_CITY nvarchar(50) = null output,
                        @GROUP_STATEID uniqueidentifier = null output,
                        @GROUP_POSTCODE nvarchar(12) = null output,
                        @GROUP_OMITFROMVALIDATION                bit = null output,
                        @GROUP_CART                            nvarchar(10) = null output,
                        @GROUP_DPC                            nvarchar(8) = null output,
                        @GROUP_LOT                            nvarchar(5) = null output,
                        @GROUP_COUNTYCODEID                    uniqueidentifier = null output,
                        @GROUP_CONGRESSIONALDISTRICTCODEID    uniqueidentifier = null output,
                        @GROUP_LASTVALIDATIONATTEMPTDATE        datetime = null output,
                        @GROUP_VALIDATIONMESSAGE                nvarchar(100) = null output,
                        @GROUP_CERTIFICATIONDATA                integer = null output,

                        @GROUP_PHONETYPECODEID uniqueidentifier = null output,
                        @GROUP_NUMBER nvarchar(100) = null output,
                        @GROUP_EMAILADDRESSTYPECODEID uniqueidentifier = null output,
                        @GROUP_EMAILADDRESS dbo.UDT_EMAILADDRESS = null output,
                        @GROUP_WEBADDRESS dbo.UDT_WEBADDRESS = null output,
                        @GROUP_DONOTMAIL bit = null output,
                        @GROUP_DONOTMAILREASONCODEID uniqueidentifier = null output,
                        @GROUP_UPDATEMATCHINGHOUSEHOLDADDRESSES bit = null output,

                        -- Group variables

                        @GROUP_GROUPTYPEID uniqueidentifier = null output,
                        @GROUP_PRIMARYCONTACTID uniqueidentifier = null output,
                        @GROUP_MEMBERS xml = null output,
                        @GROUP_NEWMEMBERSEARCHID uniqueidentifier = null output, -- Not used in save operation, only exists to setup new member lookup control.

                        @GROUP_STARTDATE datetime = null output,

                        -- Household variable

                        @HOUSEHOLD_HOUSEHOLDSCANBEDONORS bit = null output,

                        -- Household Primary Member variables

                        @HOUSEHOLD_PRIMARYCONTACTID uniqueidentifier = null output,
                        @HOUSEHOLD_PRIMARYCONTACT_KEYNAME nvarchar(100) = null output,
                        @HOUSEHOLD_PRIMARYCONTACT_FIRSTNAME nvarchar(50) = null output,
                        @HOUSEHOLD_PRIMARYCONTACT_MIDDLENAME nvarchar(50) = null output,
                        @HOUSEHOLD_PRIMARYCONTACT_TITLECODEID uniqueidentifier = null output,
                        @HOUSEHOLD_PRIMARYCONTACT_SUFFIXCODEID uniqueidentifier = null output,
                        @HOUSEHOLD_PRIMARYCONTACT_COPYHOUSEHOLDCONTACT bit = null output,

                        -- Household Second Member variables

                        @HOUSEHOLD_SECONDMEMBERID uniqueidentifier = null output,
                        @HOUSEHOLD_SECONDMEMBER_KEYNAME nvarchar(100) = null output,
                        @HOUSEHOLD_SECONDMEMBER_FIRSTNAME nvarchar(50) = null output,
                        @HOUSEHOLD_SECONDMEMBER_MIDDLENAME nvarchar(50) = null output,
                        @HOUSEHOLD_SECONDMEMBER_TITLECODEID uniqueidentifier = null output,
                        @HOUSEHOLD_SECONDMEMBER_SUFFIXCODEID uniqueidentifier = null output,
                        @HOUSEHOLD_SECONDMEMBER_COPYHOUSEHOLDCONTACT bit = null output,

                        -- Household Second Member Relationship variables

                        @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEID uniqueidentifier = null output,
                        @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEID uniqueidentifier = null output,
                        @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_STARTDATE datetime = null output,
                        @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_ISSPOUSE bit = null output,

                        -- Individual's household variables

                        @HOUSEHOLDCOPYPRIMARYCONTACTINFO bit = null output,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @DEFAULTCOUNTRYID uniqueidentifier = null output

) as begin
    set nocount on;

    begin try

        declare @KEYNAME nvarchar(100);
        declare @KEYNAMEPREFIX nvarchar(50);
        declare @BUSINESS_KEYNAME nvarchar(100);
        declare @BUSINESS_KEYNAMEPREFIX nvarchar(50);

        set @ISEXISTINGCONSTITUENT = 0;
        select @ISEXISTINGCONSTITUENT=1 from dbo.CONSTITUENT where CONSTITUENT.ID = @ID;

        set @HOUSEHOLD_HOUSEHOLDSCANBEDONORS = dbo.UFN_INSTALLATIONINFO_GETHOUSEHOLDSCANBEDONORS()

        if @ISEXISTINGCONSTITUENT = 1
            begin
                -- Check constituent security.  The check is done manually since it only applies to existing constituents.

                if (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1) or
                   (dbo.UFN_SECURITY_APPUSER_GRANTED_FORM_FORCONSTIT(@CURRENTAPPUSERID, '77AF3E0E-4CE8-4cb5-A88D-EAC148779CC3', @ID) = 1)
                begin
                    select @ISORGANIZATION=CONSTITUENT.ISORGANIZATION,                
                        @KEYNAME = CONSTITUENT.KEYNAME,
                        @FIRSTNAME = CONSTITUENT.FIRSTNAME,
                        @MIDDLENAME = CONSTITUENT.MIDDLENAME,
                        @MAIDENNAME = CONSTITUENT.MAIDENNAME,
                        @NICKNAME=CONSTITUENT.NICKNAME,
                        @TITLECODEID=CONSTITUENT.TITLECODEID,
                        @SUFFIXCODEID=CONSTITUENT.SUFFIXCODEID,
                        @GENDERCODE=CONSTITUENT.GENDERCODE,
                        @BIRTHDATE=CONSTITUENT.BIRTHDATE,
                        @ADDRESS_ADDRESSTYPECODEID=ADDRESS.ADDRESSTYPECODEID,
                        @ADDRESS_DONOTMAIL=ADDRESS.DONOTMAIL,
                        @ADDRESS_DONOTMAILREASONCODEID=ADDRESS.DONOTMAILREASONCODEID,
                        @ADDRESS_COUNTRYID=ADDRESS.COUNTRYID,                
                        @ADDRESS_STATEID=ADDRESS.STATEID,
                        @ADDRESS_ADDRESSBLOCK=ADDRESS.ADDRESSBLOCK,
                        @ADDRESS_CITY=ADDRESS.CITY,
                        @ADDRESS_POSTCODE=ADDRESS.POSTCODE,                            
                        @ADDRESS_OMITFROMVALIDATION=ADDRESSVALIDATIONUPDATE.OMITFROMVALIDATION,
                        @ADDRESS_CART=ADDRESS.CART,
                        @ADDRESS_DPC=ADDRESS.DPC,
                        @ADDRESS_LOT=ADDRESS.LOT,
                        @ADDRESS_COUNTYCODEID=ADDRESSVALIDATIONUPDATE.COUNTYCODEID,
                        @ADDRESS_CONGRESSIONALDISTRICTCODEID=ADDRESSVALIDATIONUPDATE.CONGRESSIONALDISTRICTCODEID,
                        @ADDRESS_LASTVALIDATIONATTEMPTDATE=ADDRESSVALIDATIONUPDATE.LASTVALIDATIONATTEMPTDATE,
                        @ADDRESS_VALIDATIONMESSAGE=ADDRESSVALIDATIONUPDATE.VALIDATIONMESSAGE,
                        @ADDRESS_CERTIFICATIONDATA=ADDRESSVALIDATIONUPDATE.CERTIFICATIONDATA,                                            
                        @PHONE_PHONETYPECODEID=PHONE.PHONETYPECODEID,
                        @PHONE_NUMBER=PHONE.NUMBER,
                        @EMAILADDRESS_EMAILADDRESSTYPECODEID=EMAILADDRESS.EMAILADDRESSTYPECODEID,
                        @EMAILADDRESS_EMAILADDRESS=EMAILADDRESS.EMAILADDRESS,
                        @MARITALSTATUSCODEID=CONSTITUENT.MARITALSTATUSCODEID,
                        @WEBADDRESS=CONSTITUENT.WEBADDRESS,
                        @INDUSTRYCODEID=ORGANIZATIONDATA.INDUSTRYCODEID,
                        @NUMEMPLOYEES=ORGANIZATIONDATA.NUMEMPLOYEES,
                        @NUMSUBSIDIARIES=ORGANIZATIONDATA.NUMSUBSIDIARIES,
                        @PARENTCORPID=ORGANIZATIONDATA.PARENTCORPID,
                        @ISGROUP=CONSTITUENT.ISGROUP,
                        @ISHOUSEHOLD=case when GROUPDATA.GROUPTYPECODE=0 then 1 else 0 end,
                        @GROUP_DESCRIPTION=GROUPDATA.DESCRIPTION,
                        @GROUP_GROUPTYPEID=GROUPDATA.GROUPTYPEID,
                        @GROUP_GIVESANONYMOUSLY=CONSTITUENT.GIVESANONYMOUSLY,
                        @GROUP_STARTDATE=GROUPDATA.STARTDATE,
                        @GROUP_PRIMARYCONTACTID = (select top 1 MEMBERID from dbo.GROUPMEMBER where GROUPID = @ID and ISPRIMARY = 1)
                        from dbo.CONSTITUENT 
                        left join dbo.ADDRESS on CONSTITUENT.ID = ADDRESS.CONSTITUENTID and ADDRESS.ISPRIMARY = 1
                        left join dbo.ADDRESSVALIDATIONUPDATE on ADDRESS.ID = ADDRESSVALIDATIONUPDATE.ID
                        left join dbo.PHONE on CONSTITUENT.ID = PHONE.CONSTITUENTID and PHONE.ISPRIMARY = 1
                        left join dbo.EMAILADDRESS on CONSTITUENT.ID = EMAILADDRESS.CONSTITUENTID and EMAILADDRESS.ISPRIMARY = 1
                        left join dbo.ORGANIZATIONDATA on CONSTITUENT.ID = ORGANIZATIONDATA.ID
                        left join dbo.GROUPDATA on CONSTITUENT.ID = GROUPDATA.ID
                        where CONSTITUENT.ID = @ID

                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate())
                        set @ISHOUSEHOLDMEMBER = case when exists (
                            select 1 
                            from dbo.GROUPMEMBER GM 
                            left outer join dbo.GROUPMEMBERDATERANGE GMDR on GMDR.GROUPMEMBERID = GM.ID
                            left outer join dbo.GROUPDATA GD on GD.ID = GM.GROUPID
                            where GM.MEMBERID = @ID 
                            and GD.GROUPTYPECODE = 0
                            and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATE))
                                or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE)) 
                                or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE))
                        ) then 1 else 0 end

                        set @ADDRESS_MATCHINGHOUSEHOLDMEMBERS = (
                            select
                                CONSTITUENTID,
                                NAME,
                                RELATIONSHIPTOPRIMARY
                            from
                                dbo.UFN_ADDRESS_MATCHINGHOUSEHOLDRECORDS(@ID, @ADDRESS_COUNTRYID, @ADDRESS_STATEID, @ADDRESS_ADDRESSBLOCK, @ADDRESS_CITY, @ADDRESS_POSTCODE, @ADDRESS_ADDRESSTYPECODEID)
                            for xml raw('ITEM'), type, elements, root('ADDRESS_MATCHINGHOUSEHOLDMEMBERS'), binary base64
                        )
                end
                else
                    raiserror('BBERR_DB_RECORDSECURITY_PERMISSION_DENIED', 13, 1)
            end
        else
            exec USP_BATCHREVENUECONSTITUENT_LOAD @ID, null, @ISORGANIZATION OUTPUT, @KEYNAME OUTPUT, @KEYNAMEPREFIX OUTPUT, @FIRSTNAME OUTPUT, @MIDDLENAME OUTPUT, @MAIDENNAME OUTPUT, @NICKNAME OUTPUT, @TITLECODEID OUTPUT, @SUFFIXCODEID OUTPUT, @GENDERCODE OUTPUT, @BIRTHDATE OUTPUT, @ADDRESS_ADDRESSTYPECODEID OUTPUT, @ADDRESS_DONOTMAIL OUTPUT,
                @ADDRESS_COUNTRYID OUTPUT, @ADDRESS_STATEID OUTPUT, @ADDRESS_ADDRESSBLOCK OUTPUT, @ADDRESS_CITY OUTPUT, @ADDRESS_POSTCODE OUTPUT
                @ADDRESS_OMITFROMVALIDATION OUTPUT, @ADDRESS_CART OUTPUT, @ADDRESS_DPC OUTPUT, @ADDRESS_LOT OUTPUT, @ADDRESS_COUNTYCODEID OUTPUT, @ADDRESS_CONGRESSIONALDISTRICTCODEID OUTPUT, @ADDRESS_LASTVALIDATIONATTEMPTDATE OUTPUT, @ADDRESS_VALIDATIONMESSAGE OUTPUT, @ADDRESS_CERTIFICATIONDATA OUTPUT
                @PHONE_PHONETYPECODEID OUTPUT, @PHONE_NUMBER OUTPUT, @EMAILADDRESS_EMAILADDRESSTYPECODEID OUTPUT,
                @EMAILADDRESS_EMAILADDRESS OUTPUT, @MARITALSTATUSCODEID OUTPUT, @WEBADDRESS output, @INDUSTRYCODEID output, @NUMEMPLOYEES output, @NUMSUBSIDIARIES output, @PARENTCORPID output, @BATCHSPOUSEID OUTPUT, @BATCHSPOUSERELATIONID OUTPUT, @SPOUSEID OUTPUT, @EXISTINGSPOUSE OUTPUT, @SPOUSE_LASTNAME OUTPUT, @SPOUSE_FIRSTNAME OUTPUT, @SPOUSE_MIDDLENAME OUTPUT, @SPOUSE_MAIDENNAME OUTPUT, @SPOUSE_NICKNAME OUTPUT, @SPOUSE_TITLECODEID OUTPUT, @SPOUSE_SUFFIXCODEID OUTPUT, @SPOUSE_GENDERCODE OUTPUT, @SPOUSE_BIRTHDATE OUTPUT, @SPOUSE_RECIPROCALTYPECODEID OUTPUT
                @SPOUSE_RELATIONSHIPTYPECODEID OUTPUT, @COPYPRIMARYINFORMATION OUTPUT, @SPOUSE_STARTDATE OUTPUT, null, null, null, null, @BATCHBUSINESSID OUTPUT, @BATCHBUSINESSRELATIONID OUTPUT, @BUSINESSID OUTPUT, @EXISTINGBUSINESS OUTPUT, @BUSINESS_KEYNAME OUTPUT, @BUSINESS_KEYNAMEPREFIX OUTPUT, @BUSINESS_ADDRESSTYPECODEID OUTPUT, @BUSINESS_COUNTRYID OUTPUT, @BUSINESS_STATEID OUTPUT, @BUSINESS_ADDRESSBLOCK OUTPUT
                @BUSINESS_CITY OUTPUT, @BUSINESS_POSTCODE OUTPUT, @BUSINESS_DONOTMAIL OUTPUT, @BUSINESS_OMITFROMVALIDATION OUTPUT, @BUSINESS_CART OUTPUT, @BUSINESS_DPC OUTPUT, @BUSINESS_LOT OUTPUT, @BUSINESS_COUNTYCODEID OUTPUT, @BUSINESS_CONGRESSIONALDISTRICTCODEID OUTPUT, @BUSINESS_LASTVALIDATIONATTEMPTDATE OUTPUT, @BUSINESS_VALIDATIONMESSAGE OUTPUT, @BUSINESS_CERTIFICATIONDATA OUTPUT, @BUSINESS_PHONETYPECODEID OUTPUT, @BUSINESS_NUMBER OUTPUT, @BUSINESS_RECIPROCALTYPECODEID OUTPUT, @BUSINESS_RELATIONSHIPTYPECODEID OUTPUT, @BUSINESS_STARTDATE OUTPUT, @ISCONTACT OUTPUT, @ISPRIMARYCONTACT OUTPUT, @CONTACTTYPECODEID OUTPUT, @POSITION OUTPUT, @ISMATCHINGGIFTRELATIONSHIP OUTPUT, @ISGROUP OUTPUT, @ISHOUSEHOLD OUTPUT, @GROUP_GIVESANONYMOUSLY OUTPUT, null, @GROUP_GROUPTYPEID OUTPUT, @GROUP_DESCRIPTION OUTPUT, @GROUP_STARTDATE OUTPUT, @GROUP_PRIMARYCONTACTID OUTPUT,
                @GROUP_MEMBERS OUTPUT, null, @HOUSEHOLD_PRIMARYCONTACTID OUTPUT, @HOUSEHOLD_PRIMARYCONTACT_KEYNAME OUTPUT, @HOUSEHOLD_PRIMARYCONTACT_FIRSTNAME OUTPUT, @HOUSEHOLD_PRIMARYCONTACT_MIDDLENAME OUTPUT, @HOUSEHOLD_PRIMARYCONTACT_TITLECODEID OUTPUT, @HOUSEHOLD_PRIMARYCONTACT_SUFFIXCODEID OUTPUT, @HOUSEHOLD_PRIMARYCONTACT_COPYHOUSEHOLDCONTACT OUTPUT, @HOUSEHOLD_SECONDMEMBERID OUTPUT, @HOUSEHOLD_SECONDMEMBER_KEYNAME OUTPUT, @HOUSEHOLD_SECONDMEMBER_FIRSTNAME OUTPUT, @HOUSEHOLD_SECONDMEMBER_MIDDLENAME OUTPUT, @HOUSEHOLD_SECONDMEMBER_TITLECODEID OUTPUT
                @HOUSEHOLD_SECONDMEMBER_SUFFIXCODEID OUTPUT, @HOUSEHOLD_SECONDMEMBER_COPYHOUSEHOLDCONTACT OUTPUT, @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RECIPROCALTYPECODEID OUTPUT, @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_RELATIONSHIPTYPECODEID OUTPUT, @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_STARTDATE OUTPUT, @HOUSEHOLD_SECONDMEMBER_RELATIONSHIP_ISSPOUSE OUTPUT, null, null, null, null, @HOUSEHOLDCOPYPRIMARYCONTACTINFO OUTPUT, @ISSPOUSERELATIONSHIP OUTPUT, @ADDRESS_DONOTMAILREASONCODEID OUTPUT,@BUSINESS_DONOTMAILREASONCODEID OUTPUT ;

        if len(@KEYNAMEPREFIX) > 0
            set @LASTNAME = @KEYNAMEPREFIX + case @KEYNAMEPREFIX when '' then '' else '\' end + @KEYNAME;
        else
            set @LASTNAME = @KEYNAME;

        if len(@BUSINESS_KEYNAMEPREFIX) > 0
            set @BUSINESS_NAME = @BUSINESS_KEYNAMEPREFIX + case @BUSINESS_KEYNAMEPREFIX when '' then '' else '\' end + @BUSINESS_KEYNAME;
        else
            set @BUSINESS_NAME = @BUSINESS_KEYNAME;

        if @KEYNAME is not null
            set @DATALOADED = -1;

        exec @DEFAULTCOUNTRYID = dbo.UFN_COUNTRY_GETDEFAULT;

        if @ISORGANIZATION = 1
            begin
                set @ORGANIZATIONNAME = @LASTNAME;
                set @ORGANIZATION_ADDRESSTYPECODEID=@ADDRESS_ADDRESSTYPECODEID;
                set @ORGANIZATION_DONOTMAIL=@ADDRESS_DONOTMAIL;
                set @ORGANIZATION_DONOTMAILREASONCODEID = @ADDRESS_DONOTMAILREASONCODEID;
                set @ORGANIZATION_COUNTRYID=@ADDRESS_COUNTRYID;                
                set @ORGANIZATION_STATEID=@ADDRESS_STATEID;
                set @ORGANIZATION_ADDRESSBLOCK=@ADDRESS_ADDRESSBLOCK;
                set @ORGANIZATION_CITY=@ADDRESS_CITY;
                set @ORGANIZATION_POSTCODE=@ADDRESS_POSTCODE;
                set @ORGANIZATION_OMITFROMVALIDATION=@ADDRESS_OMITFROMVALIDATION;
                set @ORGANIZATION_CART=@ADDRESS_CART;
                set @ORGANIZATION_DPC=@ADDRESS_DPC;
                set @ORGANIZATION_LOT=@ADDRESS_LOT;
                set @ORGANIZATION_COUNTYCODEID=@ADDRESS_COUNTYCODEID;
                set @ORGANIZATION_CONGRESSIONALDISTRICTCODEID=@ADDRESS_CONGRESSIONALDISTRICTCODEID;
                set @ORGANIZATION_LASTVALIDATIONATTEMPTDATE=@ADDRESS_LASTVALIDATIONATTEMPTDATE;
                set @ORGANIZATION_VALIDATIONMESSAGE=@ADDRESS_VALIDATIONMESSAGE;
                set @ORGANIZATION_CERTIFICATIONDATA=@ADDRESS_CERTIFICATIONDATA;
                set @ORGANIZATION_PHONETYPECODEID=@PHONE_PHONETYPECODEID;
                set @ORGANIZATION_NUMBER=@PHONE_NUMBER;
                set @ORGANIZATION_EMAILADDRESSTYPECODEID=@EMAILADDRESS_EMAILADDRESSTYPECODEID;
                set @ORGANIZATION_EMAILADDRESS=@EMAILADDRESS_EMAILADDRESS;
            end;

        if @ISGROUP = 1
            begin
                set @GROUP_NAME = @LASTNAME;
                set @GROUP_ADDRESSTYPECODEID=@ADDRESS_ADDRESSTYPECODEID;
                set @GROUP_COUNTRYID=@ADDRESS_COUNTRYID;                
                set @GROUP_STATEID=@ADDRESS_STATEID;
                set @GROUP_ADDRESSBLOCK=@ADDRESS_ADDRESSBLOCK;
                set @GROUP_CITY=@ADDRESS_CITY;
                set @GROUP_POSTCODE=@ADDRESS_POSTCODE;
                set @GROUP_OMITFROMVALIDATION=@ADDRESS_OMITFROMVALIDATION;
                set @GROUP_CART=@ADDRESS_CART;
                set @GROUP_DPC=@ADDRESS_DPC;
                set @GROUP_LOT=@ADDRESS_LOT;
                set @GROUP_COUNTYCODEID=@ADDRESS_COUNTYCODEID;
                set @GROUP_CONGRESSIONALDISTRICTCODEID=@ADDRESS_CONGRESSIONALDISTRICTCODEID;
                set @GROUP_LASTVALIDATIONATTEMPTDATE=@ADDRESS_LASTVALIDATIONATTEMPTDATE;
                set @GROUP_VALIDATIONMESSAGE=@ADDRESS_VALIDATIONMESSAGE;
                set @GROUP_CERTIFICATIONDATA=@ADDRESS_CERTIFICATIONDATA;
                set @GROUP_PHONETYPECODEID=@PHONE_PHONETYPECODEID;
                set @GROUP_NUMBER=@PHONE_NUMBER;
                set @GROUP_EMAILADDRESSTYPECODEID=@EMAILADDRESS_EMAILADDRESSTYPECODEID;
                set @GROUP_EMAILADDRESS=@EMAILADDRESS_EMAILADDRESS;
                set @GROUP_WEBADDRESS = @WEBADDRESS;
                set @GROUP_DONOTMAIL = @ADDRESS_DONOTMAIL;
                set @GROUP_DONOTMAILREASONCODEID = @ADDRESS_DONOTMAILREASONCODEID;
            end

            select @ZIPLOOKUPCOUNTRIES = dbo.UFN_ZIPCITYSTATE_GETCOUNTRIES_TOITEMLISTXML();
            select @VALIDATIONCOUNTRIES = dbo.UFN_COUNTRY_GETVALIDATIONCOUNTRIES_TOITEMLISTXML();

    end try
    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;

end;