USP_DATAFORMTEMPLATE_EDIT_GLOBALDECEASINGRULES

The save procedure used by the edit dataform template "Global Deceasing Rules Edit Form".

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ADDSOLICITCODE bit IN Add solicit code to deceased
@SOLICITCODEID uniqueidentifier IN Solicit code
@SETEFTSTATUS bit IN If financial accounts exist, change EFT status
@EFTSTATUSCODE tinyint IN EFT status
@DISABLEWEATHRATINGS bit IN Disable wealth updates for prospects marked deceased
@DISABLESPOUSERECOGNITIONCREDIT bit IN No longer give recognition credit for gifts given by the spouse
@SETMARITALSTATUS bit IN If spouse exists, change marital status
@MARITALSTATUSCODEID uniqueidentifier IN Marital status
@MARKINACTIVE bit IN Set record status to inactive for the deceased

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GLOBALDECEASINGRULES
(
  @CHANGEAGENTID uniqueidentifier = null,
  @ADDSOLICITCODE bit,
  @SOLICITCODEID uniqueidentifier,
  @SETEFTSTATUS bit,
  @EFTSTATUSCODE tinyint,
  @DISABLEWEATHRATINGS bit,
  @DISABLESPOUSERECOGNITIONCREDIT bit,
  @SETMARITALSTATUS bit,
  @MARITALSTATUSCODEID uniqueidentifier,
  @MARKINACTIVE bit
)
as
  set nocount on;

  declare @CURRENTDATE datetime = getdate();

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

  if @ADDSOLICITCODE = 0
    set @SOLICITCODEID = null;

  if @SETMARITALSTATUS = 0
    set @MARITALSTATUSCODEID = null;

  begin try
    update
      dbo.DECEASINGRULE
    set
      ADDSOLICITCODE = @ADDSOLICITCODE,
      SOLICITCODEID = @SOLICITCODEID,
      SETEFTSTATUS = @SETEFTSTATUS,
      EFTSTATUSCODE = @EFTSTATUSCODE,
      DISABLEWEATHRATINGS = @DISABLEWEATHRATINGS,
      DISABLESPOUSERECOGNITIONCREDIT = @DISABLESPOUSERECOGNITIONCREDIT,
      SETMARITALSTATUS = @SETMARITALSTATUS,
      MARITALSTATUSCODEID = @MARITALSTATUSCODEID,
      MARKINACTIVE = @MARKINACTIVE,
      DATECHANGED = @CURRENTDATE,
      CHANGEDBYID = @CHANGEAGENTID;

    -- If this is the first time this form is saved, the row needs to be created

    if @@ROWCOUNT = 0
    begin
      declare @ID uniqueidentifier = newid();
      declare @NAMEFORMATFUNCTIONID uniqueidentifier;

      select
        @NAMEFORMATFUNCTIONID = ID
      from
        dbo.NAMEFORMATFUNCTION 
      where 
        FORMATSQLFUNCTION = 'UFN_NAMEFORMAT_32';

      insert into dbo.DECEASINGRULE
      (
        ID,
        ADDSOLICITCODE,
        SOLICITCODEID,
        SETEFTSTATUS,
        EFTSTATUSCODE,
        DISABLEWEATHRATINGS,
        DISABLESPOUSERECOGNITIONCREDIT,
        SETMARITALSTATUS,
        MARITALSTATUSCODEID,
        MARKINACTIVE,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED
      )
      values
      (
        @ID,
        @ADDSOLICITCODE,
        @SOLICITCODEID,
        @SETEFTSTATUS,
        @EFTSTATUSCODE,
        @DISABLEWEATHRATINGS,
        @DISABLESPOUSERECOGNITIONCREDIT,
        @SETMARITALSTATUS,
        @MARITALSTATUSCODEID,
        @MARKINACTIVE,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        @CURRENTDATE,
        @CURRENTDATE
      );
    end
  end try
  begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
  end catch

  return 0;