USP_DATAFORMTEMPLATE_EDIT_RELATIONSHIP_INDTOIND

The save procedure used by the edit dataform template "Relationship Individual to Individual Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@RELATIONSHIPTYPECODEID uniqueidentifier IN Relationship type
@RECIPROCALTYPECODEID uniqueidentifier IN Reciprocal relationship type
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@ISSPOUSE bit IN Is spouse?
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit IN Apply to <Constituent> for revenue from <Reciprocal>
@PRIMARYSOFTCREDITMATCHFACTOR decimal(5, 2) IN Recognition credit match percent
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit IN Apply to <Reciprocal> for revenue from <Constituent>
@RECIPROCALSOFTCREDITMATCHFACTOR decimal(5, 2) IN Recognition credit match percent

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RELATIONSHIP_INDTOIND
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,                                                                        
  @RELATIONSHIPTYPECODEID uniqueidentifier,
  @RECIPROCALTYPECODEID uniqueidentifier,                                                
  @STARTDATE datetime,
  @ENDDATE datetime,
  @ISSPOUSE bit,
  @PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit,
  @PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2),
  @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit,
  @RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2)
)
as
  set nocount on;

  declare @CURRENTDATE datetime
  set @CURRENTDATE = getdate()

  declare @CONSTITUENTID uniqueidentifier, @RECIPROCALCONSTITUENTID uniqueidentifier, @ISSPOUSE_ORIGINAL bit = 0;
  select
    @CONSTITUENTID = RELATIONSHIPCONSTITUENTID,
    @RECIPROCALCONSTITUENTID = RECIPROCALCONSTITUENTID,
    @ISSPOUSE_ORIGINAL = ISSPOUSE
  from dbo.RELATIONSHIP 
  where
    ID = @ID

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

    update
      dbo.RELATIONSHIP    
    set    
      RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
      RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
      STARTDATE = @STARTDATE,
      ENDDATE = @ENDDATE,
      ISSPOUSE = @ISSPOUSE
      CHANGEDBYID = @CHANGEAGENTID,
      DATECHANGED = @CURRENTDATE
    where
      ID = @ID;

    exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @CONSTITUENTID, @RECIPROCALCONSTITUENTID,
      @STARTDATE, @ENDDATE, @PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @PRIMARYSOFTCREDITMATCHFACTOR, null,
      @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS, @RECIPROCALSOFTCREDITMATCHFACTOR, null, @CHANGEAGENTID;

    if @ISSPOUSE_ORIGINAL <> @ISSPOUSE and @ISSPOUSE = 1
      exec dbo.USP_RELATIONSHIPS_MANAGELIFECHANGES @ID, @CONSTITUENTID, @RECIPROCALCONSTITUENTID, @CHANGEAGENTID
  end try

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

  return 0;