USP_DATAFORMTEMPLATE_ADD_ORGTOIND_RELATIONSHIP_2

The save procedure used by the add dataform template "Relationship Organization to Individual Add Form 2".

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.
@CONSTITUENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@RECIPROCALCONSTITUENTID uniqueidentifier IN Related individual
@RECIPROCALTYPECODEID uniqueidentifier IN Individual is the
@RELATIONSHIPTYPECODEID uniqueidentifier IN Constituent is the
@RELATIONSHIPSTARTDATE datetime IN Start date
@RELATIONSHIPENDDATE datetime IN End date
@ISCONTACT bit IN Individual is a contact
@ISPRIMARYCONTACT bit IN Primary contact
@CONTACTTYPECODEID uniqueidentifier IN Contact type
@POSITION nvarchar(100) IN Job title
@ISPRIMARYBUSINESS bit IN This is the primary business for the individual
@ISMATCHINGGIFTRELATIONSHIP bit IN The organization will match contributions for this relationship
@ADDADDRESS bit IN Add Address
@ADDRESSTYPECODEID uniqueidentifier IN Type
@PRIMARY bit IN Set as primary address
@DONOTMAIL bit IN Do not send mail to this address
@STARTDATE UDT_MONTHDAY IN Start date
@ENDDATE UDT_MONTHDAY IN End date
@COUNTRYID uniqueidentifier IN Country
@STATEID uniqueidentifier IN State
@ADDRESSBLOCK nvarchar(150) IN Address
@CITY nvarchar(50) IN City
@POSTCODE nvarchar(12) IN ZIP
@CART nvarchar(10) IN CART
@DPC nvarchar(8) IN DPC
@LOT nvarchar(5) IN LOT
@UPDATEMATCHINGSPOUSEADDRESSES bit IN Update matching address information for spouse
@OMITFROMVALIDATION bit IN Omit this address from validation
@COUNTYCODEID uniqueidentifier IN County
@CONGRESSIONALDISTRICTCODEID uniqueidentifier IN Congressional district
@STATEHOUSEDISTRICTCODEID uniqueidentifier IN State house district
@STATESENATEDISTRICTCODEID uniqueidentifier IN State senate district
@LOCALPRECINCTCODEID uniqueidentifier IN Local precinct
@INFOSOURCECODEID uniqueidentifier IN Info source
@REGIONCODEID uniqueidentifier IN Region
@LASTVALIDATIONATTEMPTDATE datetime IN Last attempt
@VALIDATIONMESSAGE nvarchar(200) IN Validation message
@CERTIFICATIONDATA int IN
@DONOTMAILREASONCODEID uniqueidentifier IN Reason
@JOBCATEGORYCODEID uniqueidentifier IN Category
@CAREERLEVELCODEID uniqueidentifier IN Career level
@REPLACERELATIONSHIP bit IN This replaces the relationship with:
@REPLACEMENTRELATIONSHIPID uniqueidentifier IN Replacement relationship
@INFOSOURCECOMMENTS nvarchar(256) IN Comments
@COMMENTS nvarchar(256) IN Comments
@JOBSCHEDULECODEID uniqueidentifier IN Schedule
@JOBDEPARTMENT nvarchar(100) IN Department
@JOBDIVISION nvarchar(100) IN Division
@ADDPHONE bit IN
@PHONETYPECODEID uniqueidentifier IN Type
@NUMBER nvarchar(100) IN Number
@PHONECOUNTRYID uniqueidentifier IN Country
@PHONESTARTTIME UDT_HOURMINUTE IN Call after
@PHONEENDTIME UDT_HOURMINUTE IN Call before
@PHONESTARTDATE date IN Start date
@PHONEPRIMARY bit IN Set as primary phone number
@DONOTCALL bit IN Do not call this phone number
@DONOTCALLREASONCODEID uniqueidentifier IN Reason
@PHONEISCONFIDENTIAL bit IN This phone number is confidential
@PHONEINFOSOURCECODEID uniqueidentifier IN Information source
@PHONEINFOSOURCECOMMENTS nvarchar(256) IN Comments
@ADDEMAILADDRESS bit IN
@EMAILADDRESSTYPECODEID uniqueidentifier IN Type
@EMAILADDRESS UDT_EMAILADDRESS IN Email address
@EMAILADDRESSPRIMARY bit IN Set as primary email address
@DONOTEMAIL bit IN Do not send email to this address
@EMAILADDRESSINFOSOURCECODEID uniqueidentifier IN Information source
@EMAILADDRESSINFOSOURCECOMMENTS nvarchar(256) IN Comments
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit IN Apply to constituent for revenue from individual
@PRIMARYSOFTCREDITMATCHFACTOR decimal(5, 2) IN Recognition credit match percent
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit IN Apply to individual for revenue from constituent
@RECIPROCALSOFTCREDITMATCHFACTOR decimal(5, 2) IN Recognition credit match percent
@PRIMARYRECOGNITIONTYPECODEID uniqueidentifier IN Recognition credit type
@RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier IN Recognition credit type
@JOBRESPONSIBILITY nvarchar(250) IN Responsibilities
@ISPRIVATERECORD bit IN Is private

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_ORGTOIND_RELATIONSHIP_2
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,
  @CONSTITUENTID uniqueidentifier,
  @RECIPROCALCONSTITUENTID uniqueidentifier,
  @RECIPROCALTYPECODEID uniqueidentifier,
  @RELATIONSHIPTYPECODEID uniqueidentifier,
  @RELATIONSHIPSTARTDATE datetime = null,
  @RELATIONSHIPENDDATE datetime = null,
  @ISCONTACT bit = 0,
  @ISPRIMARYCONTACT bit = 0,
  @CONTACTTYPECODEID uniqueidentifier = null,
  @POSITION nvarchar(100) = '',
  @ISPRIMARYBUSINESS bit = 0,
  @ISMATCHINGGIFTRELATIONSHIP bit = 0,
  @ADDADDRESS bit = 0,
  @ADDRESSTYPECODEID uniqueidentifier = null,
  @PRIMARY bit = 0,
  @DONOTMAIL bit = 0,
  @STARTDATE dbo.UDT_MONTHDAY = '0000',
  @ENDDATE dbo.UDT_MONTHDAY = '0000',
  @COUNTRYID uniqueidentifier = null,
  @STATEID uniqueidentifier = null,
  @ADDRESSBLOCK nvarchar(150) = '',
  @CITY nvarchar(50) = '',
  @POSTCODE nvarchar(12) = '',
  @CART nvarchar(10) = '',
  @DPC nvarchar(8) = '',
  @LOT nvarchar(5) = '',
  @UPDATEMATCHINGSPOUSEADDRESSES bit = 0,
  @OMITFROMVALIDATION bit = 0,
  @COUNTYCODEID uniqueidentifier = null,
  @CONGRESSIONALDISTRICTCODEID uniqueidentifier = null,
  @STATEHOUSEDISTRICTCODEID uniqueidentifier = null,
  @STATESENATEDISTRICTCODEID uniqueidentifier = null,
  @LOCALPRECINCTCODEID uniqueidentifier = null,
  @INFOSOURCECODEID uniqueidentifier = null,
  @REGIONCODEID uniqueidentifier = null,
  @LASTVALIDATIONATTEMPTDATE datetime = null,
  @VALIDATIONMESSAGE nvarchar(200) = '',
  @CERTIFICATIONDATA integer = 0,
  @DONOTMAILREASONCODEID uniqueidentifier = null,
  @JOBCATEGORYCODEID uniqueidentifier = null,
  @CAREERLEVELCODEID uniqueidentifier = null,
  @REPLACERELATIONSHIP bit = 0,
  @REPLACEMENTRELATIONSHIPID uniqueidentifier = null,
  @INFOSOURCECOMMENTS nvarchar(256) = '',
  @COMMENTS nvarchar(256) = '',
  @JOBSCHEDULECODEID uniqueidentifier = null,
  @JOBDEPARTMENT nvarchar(100) = '',
  @JOBDIVISION nvarchar(100) = '',
  @ADDPHONE bit = 0,
  @PHONETYPECODEID uniqueidentifier = null,
  @NUMBER nvarchar(100) = '',
  @PHONECOUNTRYID uniqueidentifier = null,
  @PHONESTARTTIME dbo.UDT_HOURMINUTE = '',
  @PHONEENDTIME dbo.UDT_HOURMINUTE = '',
  @PHONESTARTDATE date = null,
  @PHONEPRIMARY bit = 0,
  @DONOTCALL bit = 0,
  @DONOTCALLREASONCODEID uniqueidentifier = null,
  @PHONEISCONFIDENTIAL bit = 0,
  @PHONEINFOSOURCECODEID uniqueidentifier = null,
  @PHONEINFOSOURCECOMMENTS nvarchar(256) = '',
  @ADDEMAILADDRESS bit = 0,
  @EMAILADDRESSTYPECODEID uniqueidentifier = null,
  @EMAILADDRESS dbo.UDT_EMAILADDRESS = '',
  @EMAILADDRESSPRIMARY bit = 0,
  @DONOTEMAIL bit = 0,
  @EMAILADDRESSINFOSOURCECODEID uniqueidentifier = null,
  @EMAILADDRESSINFOSOURCECOMMENTS nvarchar(256) = '',
  @PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = 0,
  @PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
  @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = 0,
  @RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
  @PRIMARYRECOGNITIONTYPECODEID uniqueidentifier = null,
  @RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier = null,
  @JOBRESPONSIBILITY nvarchar(250) = '',
  @ISPRIVATERECORD bit = 0
)
as
  set nocount on;

  declare @CURRENTDATE datetime = getdate();

  if @ID is null
    set @ID = newid();

  if @CHANGEAGENTID is null
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

  if @DONOTMAIL = 0
    set @DONOTMAILREASONCODEID = null;

  if @ISCONTACT = 0
  begin
    set @ADDEMAILADDRESS = 0;
    set @ADDPHONE = 0;
  end

  begin try
    if @REPLACERELATIONSHIP = 1 and @REPLACEMENTRELATIONSHIPID is not null
    begin
      --Check if start date was supplied for replace.

      if @RELATIONSHIPSTARTDATE is null
        raiserror('BBERR_STARTDATEREQUIRED', 13, 1);

      update
        dbo.RELATIONSHIP
      set
        ENDDATE = dateadd(d,-1, @RELATIONSHIPSTARTDATE),
        DATECHANGED = @CURRENTDATE,
        CHANGEDBYID = @CHANGEAGENTID
      where
        ID = @REPLACEMENTRELATIONSHIPID;

      update
        dbo.RELATIONSHIPJOBINFO
      set
        ENDDATE = dateadd(d,-1, @RELATIONSHIPSTARTDATE),
        DATECHANGED = @CURRENTDATE,
        CHANGEDBYID = @CHANGEAGENTID
      from
        dbo.RELATIONSHIPJOBINFO
      inner join
        dbo.RELATIONSHIP on RELATIONSHIPJOBINFO.RELATIONSHIPSETID = RELATIONSHIP.RELATIONSHIPSETID
      where
        RELATIONSHIP.ID = @REPLACEMENTRELATIONSHIPID and 
        (RELATIONSHIPJOBINFO.ENDDATE is null or
          RELATIONSHIPJOBINFO.ENDDATE > @RELATIONSHIPSTARTDATE);
    end

    if @ISMATCHINGGIFTRELATIONSHIP = 1
      update
        dbo.RELATIONSHIP
      set
        ISMATCHINGGIFTRELATIONSHIP = 0,
        DATECHANGED = @CURRENTDATE,
        CHANGEDBYID = @CHANGEAGENTID
      where
        RELATIONSHIPCONSTITUENTID = @CONSTITUENTID and
        RECIPROCALCONSTITUENTID = @RECIPROCALCONSTITUENTID and
        ISMATCHINGGIFTRELATIONSHIP = 1;

    declare @SETID uniqueidentifier = newid();

    insert into dbo.RELATIONSHIPSET
    (
      ID,
      ADDEDBYID,
      CHANGEDBYID,
      DATEADDED,
      DATECHANGED
    )
    values
    (
      @SETID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    insert into dbo.RELATIONSHIP
    (
      ID,
      RELATIONSHIPCONSTITUENTID,
      RECIPROCALCONSTITUENTID,
      RELATIONSHIPTYPECODEID,
      RECIPROCALTYPECODEID,
      ISCONTACT,
      ISPRIMARYCONTACT,
      CONTACTTYPECODEID,
      STARTDATE,
      ENDDATE,
      ISPRIMARYBUSINESS,
      ISMATCHINGGIFTRELATIONSHIP,
      RELATIONSHIPSETID,
      COMMENTS,
      ADDEDBYID,
      CHANGEDBYID,
      DATEADDED,
      DATECHANGED
    )
    values
    (
      @ID,
      @CONSTITUENTID,
      @RECIPROCALCONSTITUENTID,
      @RELATIONSHIPTYPECODEID,
      @RECIPROCALTYPECODEID,
      @ISCONTACT,
      @ISPRIMARYCONTACT,
      @CONTACTTYPECODEID,
      @RELATIONSHIPSTARTDATE,
      @RELATIONSHIPENDDATE,
      @ISPRIMARYBUSINESS,
      @ISMATCHINGGIFTRELATIONSHIP,
      @SETID,
      @COMMENTS,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );


    if @ADDADDRESS = 1
    begin

        --Adding logic to see if the address and type already exists without a relationship

        --If it doesn't, add it.  If it does, associate the already existing one to the relationship.

        if not exists(select 1 from dbo.ADDRESS 
                        where ADDRESS.CONSTITUENTID = @RECIPROCALCONSTITUENTID 
                        and (ADDRESS.ADDRESSTYPECODEID = @ADDRESSTYPECODEID or (ADDRESS.ADDRESSTYPECODEID is null and @ADDRESSTYPECODEID is null))
                        and ADDRESS.ADDRESSBLOCK = @ADDRESSBLOCK 
                        and ADDRESS.CITY = @CITY 
                        and (ADDRESS.STATEID = @STATEID or (ADDRESS.STATEID is null and  @STATEID is null))
                        and (ADDRESS.COUNTRYID = @COUNTRYID or (ADDRESS.COUNTRYID is null and  @COUNTRYID is null))
                        and ADDRESS.POSTCODE = @POSTCODE 
                        and ADDRESS.RELATIONSHIPID is null)
        begin

            declare @ADDRESSID uniqueidentifier;

            exec dbo.USP_ADDRESS_CREATE @ADDRESSID output, @CHANGEAGENTID, @RECIPROCALCONSTITUENTID, @ADDRESSTYPECODEID, @PRIMARY
                @DONOTMAIL, @STARTDATE, @ENDDATE, @COUNTRYID, @STATEID, @ADDRESSBLOCK, @CITY, @POSTCODE, @CART, @DPC, @LOT,
                @UPDATEMATCHINGSPOUSEADDRESSES, @OMITFROMVALIDATION, @COUNTYCODEID, @CONGRESSIONALDISTRICTCODEID,
                @STATEHOUSEDISTRICTCODEID, @STATESENATEDISTRICTCODEID, @LOCALPRECINCTCODEID, @INFOSOURCECODEID, @REGIONCODEID
                @LASTVALIDATIONATTEMPTDATE, @VALIDATIONMESSAGE, @CERTIFICATIONDATA, @DONOTMAILREASONCODEID, default, @INFOSOURCECOMMENTS;

            if @ADDRESSID is not null
            begin
                update
                  dbo.ADDRESS
                set
                  RELATIONSHIPID = @ID,
                  CHANGEDBYID = @CHANGEAGENTID,
                  DATECHANGED = @CURRENTDATE
                where
                  ADDRESS.ID = @ADDRESSID
            end
        end
        else
        begin
            update dbo.ADDRESS
            set 
                RELATIONSHIPID = @ID,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where 
                ADDRESS.CONSTITUENTID = @RECIPROCALCONSTITUENTID 
                and (ADDRESS.ADDRESSTYPECODEID = @ADDRESSTYPECODEID or (ADDRESS.ADDRESSTYPECODEID is null and @ADDRESSTYPECODEID is null))
                and ADDRESS.ADDRESSBLOCK = @ADDRESSBLOCK 
                and ADDRESS.CITY = @CITY 
                and (ADDRESS.STATEID = @STATEID or (ADDRESS.STATEID is null and  @STATEID is null))
                and (ADDRESS.COUNTRYID = @COUNTRYID or (ADDRESS.COUNTRYID is null and  @COUNTRYID is null))
                and ADDRESS.POSTCODE = @POSTCODE 
                and ADDRESS.RELATIONSHIPID is null
        end
    end

    if @ADDPHONE = 1
    begin

    --Adding logic to see if the phone number and type already exists without a relationship

        --If it doesn't, add it.  If it does, associate the already existing one to the relationship.

    declare @RELATIONPHONEID uniqueidentifier = 
    (select top 1 ID
    from dbo.PHONE 
    where PHONE.CONSTITUENTID = @RECIPROCALCONSTITUENTID 
          and (PHONE.PHONETYPECODEID = @PHONETYPECODEID or (PHONE.PHONETYPECODEID is null and @PHONETYPECODEID is null))
          and PHONE.NUMBER = @NUMBER 
          and PHONE.RELATIONSHIPID is null);

        if @RELATIONPHONEID is null
        begin

            declare @PHONEID uniqueidentifier;

            exec dbo.USP_PHONE_CREATE @PHONEID output, @CHANGEAGENTID, @CURRENTDATE, @RECIPROCALCONSTITUENTID, @PHONETYPECODEID,
                @NUMBER, @PHONEPRIMARY, @PHONESTARTTIME, @PHONEENDTIME, @PHONESTARTDATE, @DONOTCALL, @DONOTCALLREASONCODEID,
                @PHONEINFOSOURCECODEID, @PHONEINFOSOURCECOMMENTS, @PHONECOUNTRYID, @PHONEISCONFIDENTIAL, 0, @ID;
        end
        else
        begin
            update dbo.PHONE
            set 
                RELATIONSHIPID = @ID,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where
                ID = @RELATIONPHONEID;

      -- This is required for when the user doesn't mark the 'Set as primary..' option

      -- but the individual has this number as the only phone number added, so this should remain a primary number.

      if (select count(*) from dbo.PHONE where CONSTITUENTID = @RECIPROCALCONSTITUENTID) = 1
        set @PHONEPRIMARY = 1;

      declare @PHONEENDDATE date = (select ENDDATE from dbo.PHONE where ID = @RELATIONPHONEID);
      exec dbo.USP_PHONE_UPDATE @RELATIONPHONEID, @CHANGEAGENTID, @CURRENTDATE, @PHONETYPECODEID, @NUMBER,
        @PHONEPRIMARY, @DONOTCALL, 0, @PHONESTARTTIME, @PHONEENDTIME, @PHONEINFOSOURCECODEID, @PHONEINFOSOURCECOMMENTS,
        @PHONECOUNTRYID, @PHONESTARTDATE, @PHONEENDDATE, @DONOTCALLREASONCODEID, @PHONEISCONFIDENTIAL;
        end
    end

    if @ADDEMAILADDRESS = 1
    begin
      if isnull(@EMAILADDRESS, '') = ''
        raiserror('ERR_EMAILADDRESSREQUIRED', 13, 1);

    declare @RELATIONEMAILADDRESSID uniqueidentifier =
    (select top 1 ID
    from dbo.EMAILADDRESS 
        where EMAILADDRESS.CONSTITUENTID = @RECIPROCALCONSTITUENTID 
            and (EMAILADDRESS.EMAILADDRESSTYPECODEID = @EMAILADDRESSTYPECODEID or (EMAILADDRESS.EMAILADDRESSTYPECODEID is null and @EMAILADDRESSTYPECODEID is null))
            and EMAILADDRESS.EMAILADDRESS = @EMAILADDRESS 
            and EMAILADDRESS.RELATIONSHIPID is null);

        if @RELATIONEMAILADDRESSID is null
        begin
            declare @EMAILADDRESSID uniqueidentifier;

            exec dbo.USP_EMAILADDRESS_CREATE @EMAILADDRESSID output, @CHANGEAGENTID, @CURRENTDATE, @RECIPROCALCONSTITUENTID
                @EMAILADDRESSTYPECODEID, @EMAILADDRESS, @EMAILADDRESSPRIMARY, @DONOTEMAIL, @EMAILADDRESSINFOSOURCECODEID
                @EMAILADDRESSINFOSOURCECOMMENTS, 0, @ID;
        end
        else
        begin
            update dbo.EMAILADDRESS
                set 
                    RELATIONSHIPID = @ID,
                    CHANGEDBYID = @CHANGEAGENTID,
                    DATECHANGED = @CURRENTDATE
                where
                    ID = @RELATIONEMAILADDRESSID;

      -- This is required for when the user doesn't mark the 'Set as primary..' option

      -- but the individual has this address as the only email address added, so this should remain a primary email address.

      if (select count(*) from dbo.EMAILADDRESS where CONSTITUENTID = @RECIPROCALCONSTITUENTID) = 1
        set @EMAILADDRESSPRIMARY = 1;

      exec dbo.USP_EMAILADDRESS_UPDATE @RELATIONEMAILADDRESSID, @CHANGEAGENTID, @CURRENTDATE,
        @EMAILADDRESSTYPECODEID, @EMAILADDRESS, @EMAILADDRESSPRIMARY, @DONOTEMAIL,
        0, @EMAILADDRESSINFOSOURCECODEID, @EMAILADDRESSINFOSOURCECOMMENTS;
        end
    end

    if (@JOBCATEGORYCODEID is not null) or (@CAREERLEVELCODEID is not null) or (len(@POSITION) > 0) or
      (@JOBSCHEDULECODEID is not null) or (len(@JOBDEPARTMENT) > 0) or (len(@JOBDIVISION) > 0) or (len(@JOBRESPONSIBILITY) > 0)
      insert into dbo.RELATIONSHIPJOBINFO
      (
        RELATIONSHIPSETID,
        JOBTITLE,
        JOBCATEGORYCODEID,
        CAREERLEVELCODEID,
        STARTDATE,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED,
        JOBSCHEDULECODEID,
        JOBDEPARTMENT,
        JOBDIVISION,
        JOBRESPONSIBILITY,
        ISPRIVATERECORD
      )
      values
      (
        @SETID,
        @POSITION,
        @JOBCATEGORYCODEID,
        @CAREERLEVELCODEID,
        @RELATIONSHIPSTARTDATE,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        @CURRENTDATE,
        @CURRENTDATE,
        @JOBSCHEDULECODEID,
        @JOBDEPARTMENT,
        @JOBDIVISION,
        @JOBRESPONSIBILITY,
        @ISPRIVATERECORD
      );

    exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @CONSTITUENTID, @RECIPROCALCONSTITUENTID, @RELATIONSHIPSTARTDATE, @RELATIONSHIPENDDATE
      @PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @PRIMARYSOFTCREDITMATCHFACTOR, @PRIMARYRECOGNITIONTYPECODEID,
      @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS, @RECIPROCALSOFTCREDITMATCHFACTOR, @RECIPROCALRECOGNITIONTYPECODEID,
      @CHANGEAGENTID;

    exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE @CONSTITUENTID, @RECIPROCALCONSTITUENTID, @RELATIONSHIPTYPECODEID,
      @RECIPROCALTYPECODEID, @CHANGEAGENTID, @CURRENTDATE;

  end try

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

  return 0;