USP_APPEALMAILING_EDIT_SAVE

Saves information when editing an appeal mailing.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@MAILDATE datetime IN
@FIXEDCOST money IN
@MKTPACKAGEID uniqueidentifier IN
@IDSETREGISTERID uniqueidentifier IN
@HOUSEHOLDINGTYPECODE tinyint IN
@HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD bit IN
@HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS bit IN
@HOUSEHOLDINGONERECORDPERHOUSEHOLD bit IN
@EXCLUSIONDATETYPECODE tinyint IN
@EXCLUSIONASOFDATE datetime IN
@EXCLUDEDECEASED bit IN
@EXCLUDEINACTIVE bit IN
@EXCLUSIONS xml IN
@USEADDRESSPROCESSING bit IN
@ADDRESSPROCESSINGOPTIONID uniqueidentifier IN
@NAMEFORMATPARAMETERID uniqueidentifier IN
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint IN
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime IN
@LABELFILECHANGED bit IN
@LABELFILENAME nvarchar(255) IN
@LABELFILE varbinary IN
@CREATEOUTPUTIDSET bit IN
@OUTPUTIDSETNAME nvarchar(100) IN
@OVERWRITEOUTPUTIDSET bit IN
@ACTIVATIONKPIS xml IN
@USEKPISASDEFAULT bit IN
@MAILINGBUDGET money IN

Definition

Copy


CREATE procedure dbo.[USP_APPEALMAILING_EDIT_SAVE]
(
  @ID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @NAME nvarchar(100),
  @DESCRIPTION nvarchar(255),
  @MAILDATE datetime,
  @FIXEDCOST money,
  @MKTPACKAGEID uniqueidentifier,
  @IDSETREGISTERID uniqueidentifier,
  @HOUSEHOLDINGTYPECODE tinyint,
  @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD bit,
  @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS bit,
  @HOUSEHOLDINGONERECORDPERHOUSEHOLD bit,
  @EXCLUSIONDATETYPECODE tinyint,
  @EXCLUSIONASOFDATE datetime,
  @EXCLUDEDECEASED bit,
  @EXCLUDEINACTIVE bit,
  @EXCLUSIONS xml,
  @USEADDRESSPROCESSING bit,
  @ADDRESSPROCESSINGOPTIONID uniqueidentifier,
  @NAMEFORMATPARAMETERID uniqueidentifier,
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint,
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime,
  @LABELFILECHANGED bit,
  @LABELFILENAME nvarchar(255),
  @LABELFILE varbinary(max),
  @CREATEOUTPUTIDSET bit,
  @OUTPUTIDSETNAME nvarchar(100),
  @OVERWRITEOUTPUTIDSET bit,
  @ACTIVATIONKPIS xml = null,
  @USEKPISASDEFAULT bit = null,
  @MAILINGBUDGET money
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

    set @CURRENTDATE = getdate();

    --Update the appeal mailing...

    update dbo.[APPEALMAILING] set
      [LABELFILE] = (case when @LABELFILECHANGED = 1 then @LABELFILE else [LABELFILE] end),
      [LABELFILENAME] = (case when @LABELFILECHANGED = 1 then @LABELFILENAME else [LABELFILENAME] end),    
      [CREATEOUTPUTIDSET] = @CREATEOUTPUTIDSET,
      [OUTPUTIDSETNAME] = @OUTPUTIDSETNAME,
      [OVERWRITEOUTPUTIDSET] = @OVERWRITEOUTPUTIDSET,
      [CHANGEDBYID] = @CHANGEAGENTID,
      [DATECHANGED] = @CURRENTDATE
    where [ID] = @ID;

    --Update the base mailing (do not set the householding field here, the SP below will take care of it)...

    update dbo.[MKTSEGMENTATION] set
      [NAME] = @NAME,
      [DESCRIPTION] = @DESCRIPTION,
      [MAILDATE] = @MAILDATE,
      [NAMEFORMATPARAMETERID] = @NAMEFORMATPARAMETERID,
      [CREATEOUTPUTIDSET] = @CREATEOUTPUTIDSET,
      [OUTPUTIDSETNAME] = @OUTPUTIDSETNAME,
      [OVERWRITEOUTPUTIDSET] = @OVERWRITEOUTPUTIDSET,
      [CHANGEDBYID] = @CHANGEAGENTID,
      [DATECHANGED] = @CURRENTDATE
    where [ID] = @ID;

    --Update the budget information...

    update dbo.[MKTSEGMENTATIONBUDGET] set
      [BUDGETAMOUNT] = @MAILINGBUDGET,
      [FIXEDCOST] = @FIXEDCOST,
      [CHANGEDBYID] = @CHANGEAGENTID,
      [DATECHANGED] = @CURRENTDATE
    where [ID] = @ID;

    if @USEADDRESSPROCESSING = 1 and @ADDRESSPROCESSINGOPTIONID is not null
      exec dbo.[USP_MKTSEGMENTATIONSEGMENTCACHEADDRESSES_CREATETABLE] @ID;

    exec dbo.[USP_APPEALMAILING_CREATEORUPDATESEGMENT]
      @APPEALMAILINGID = @ID,
      @CURRENTAPPUSERID = @CURRENTAPPUSERID,
      @NAME = @NAME,
      @IDSETREGISTERID = @IDSETREGISTERID,
      @MKTPACKAGEID = @MKTPACKAGEID,
      @HOUSEHOLDINGTYPECODE = @HOUSEHOLDINGTYPECODE,
      @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD = @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD,
      @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS = @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS,
      @HOUSEHOLDINGONERECORDPERHOUSEHOLD = @HOUSEHOLDINGONERECORDPERHOUSEHOLD,
      @EXCLUSIONDATETYPECODE = @EXCLUSIONDATETYPECODE,
      @EXCLUSIONASOFDATE = @EXCLUSIONASOFDATE,
      @EXCLUDEDECEASED = @EXCLUDEDECEASED,
      @EXCLUDEINACTIVE = @EXCLUDEINACTIVE,
      @EXCLUSIONS = @EXCLUSIONS,
      @USEADDRESSPROCESSING = @USEADDRESSPROCESSING,
      @ADDRESSPROCESSINGOPTIONID = @ADDRESSPROCESSINGOPTIONID,
      @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE = @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE,
      @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE = @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE,
      @CHANGEAGENTID = @CHANGEAGENTID;

    /* Save KPIs */
    exec dbo.[USP_MKTSEGMENTATIONACTIVATEKPI_SAVEFIELD_FROMXML] 
      @ID
      @ACTIVATIONKPIS
      @USEKPISASDEFAULT
      @CHANGEAGENTID;
end try

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

  return 0;