USP_DATAFORMTEMPLATE_EDIT_MKTACKNOWLEDGEMENTMAILINGTEMPLATE_4

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CODE nvarchar(10) IN
@NAME nvarchar(50) IN
@DESCRIPTION nvarchar(255) IN
@MARKLETTERSACKNOWLEDGED bit IN
@ACKNOWLEDGEDATETYPECODE tinyint IN
@ACKNOWLEDGEDATE datetime IN
@SITEID uniqueidentifier IN
@SOURCECODEID uniqueidentifier IN
@ITEMLIST xml 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
@ACTIVATIONKPIS xml IN
@USEKPISASDEFAULT bit IN
@APPEALINFORMATION xml IN
@MULTIPLELETTERSPERREVENUE bit IN
@RUNACTIVATEANDEXPORT bit IN
@EXPORTDESCRIPTION nvarchar(255) IN
@CODEVALUEID uniqueidentifier IN
@CACHESOURCEANALYSISRULEDATA bit IN
@CURRENTAPPUSERID uniqueidentifier IN
@RUNMARKETINGEXCLUSIONSREPORT bit IN

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTACKNOWLEDGEMENTMAILINGTEMPLATE_4]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @CODE nvarchar(10),
  @NAME nvarchar(50),
  @DESCRIPTION nvarchar(255),
  @MARKLETTERSACKNOWLEDGED bit,
  @ACKNOWLEDGEDATETYPECODE tinyint,
  @ACKNOWLEDGEDATE datetime,
  @SITEID uniqueidentifier,
  @SOURCECODEID uniqueidentifier,
  @ITEMLIST xml,
  @EXCLUSIONDATETYPECODE tinyint,
  @EXCLUSIONASOFDATE datetime,
  @EXCLUDEDECEASED bit,
  @EXCLUDEINACTIVE bit,
  @EXCLUSIONS xml,
  @USEADDRESSPROCESSING bit,
  @ADDRESSPROCESSINGOPTIONID uniqueidentifier,
  @NAMEFORMATPARAMETERID uniqueidentifier,
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint,
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime,
  @ACTIVATIONKPIS xml,
  @USEKPISASDEFAULT bit,
  @APPEALINFORMATION xml,
  @MULTIPLELETTERSPERREVENUE bit,
  @RUNACTIVATEANDEXPORT bit,
  @EXPORTDESCRIPTION nvarchar(255),
  @CODEVALUEID uniqueidentifier,
  @CACHESOURCEANALYSISRULEDATA bit,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @RUNMARKETINGEXCLUSIONSREPORT bit
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  declare @CURRENTSITEID uniqueidentifier;
  declare @OLDSOURCECODEID uniqueidentifier;
  declare @MKTACKNOWLEDGEMENTMAILINGPROCESSID uniqueidentifier;

  if exists(select top 1 1 from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] where [ACKNOWLEDGEMENTMAILINGTEMPLATEID] = @ID) or
     exists(select top 1 1 from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATESEED] where [ACKNOWLEDGEMENTMAILINGTEMPLATEID] = @ID)
    begin
      select @CURRENTSITEID = [SITEID] from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATE] where [ID] = @ID;

      if (@CURRENTSITEID <> @SITEID or (@CURRENTSITEID is null and @SITEID is not null) or (@CURRENTSITEID is not null and @SITEID is null))
        begin
          raiserror('Site may not be changed on a marketing acknowledgement template that is in use or has dependencies.', 13, 1);
          return 1;
        end
    end

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

    select
      @OLDSOURCECODEID = [SOURCECODEID],
      @CURRENTDATE = getdate()
    from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATE]
    where [ID] = @ID;

    /* Update the acknowledgement mailing template fields */
    update dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATE] set
      [CODE] = @CODE,
      [PARTDEFINITIONVALUESID] = @CODEVALUEID,
      [NAME] = @NAME,
      [DESCRIPTION] = @DESCRIPTION,
      [MARKLETTERSACKNOWLEDGED] = @MARKLETTERSACKNOWLEDGED,
      [ACKNOWLEDGEDATETYPECODE] = @ACKNOWLEDGEDATETYPECODE,
      [ACKNOWLEDGEDATE] = @ACKNOWLEDGEDATE,
      [SITEID] = @SITEID,
      [SOURCECODEID] = @SOURCECODEID,
      [USEADDRESSPROCESSING] = @USEADDRESSPROCESSING,
      [ADDRESSPROCESSINGOPTIONID] = @ADDRESSPROCESSINGOPTIONID,
      [NAMEFORMATPARAMETERID] = @NAMEFORMATPARAMETERID,
      [ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE] = @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE,
      [ADDRESSPROCESSINGOPTIONSEASONALASOFDATE] = @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE,
      [MULTIPLELETTERSPERREVENUE] = @MULTIPLELETTERSPERREVENUE,
      [RUNACTIVATEANDEXPORT] = @RUNACTIVATEANDEXPORT,
      [CACHESOURCEANALYSISRULEDATA] = @CACHESOURCEANALYSISRULEDATA,
      [RUNMARKETINGEXCLUSIONSREPORT] = @RUNMARKETINGEXCLUSIONSREPORT,
      [CHANGEDBYID] = @CHANGEAGENTID,
      [DATECHANGED] = @CURRENTDATE
    where [ID] = @ID;

    /* Save the sourcecode parts */
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATESOURCECODEPART_GETITEMLIST2_UPDATEFROMXML] @ID, @ITEMLIST, @CHANGEAGENTID, @CURRENTDATE;

    /* Update any rule codes in this template with their base segment codes */
    if isnull(cast(@OLDSOURCECODEID as varchar(36)),'') <> isnull(cast(@SOURCECODEID as varchar(36)),'')
      update dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] set
 [CODE] = (case when @SOURCECODEID is null then '' else [MKTSEGMENT].[CODE] end),
        [CHANGEDBYID] = @CHANGEAGENTID,
        [DATECHANGED] = @CURRENTDATE
      from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATERULE] as [RULE]
      inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [RULE].[SEGMENTID]
      where [RULE].[ACKNOWLEDGEMENTMAILINGTEMPLATEID] = @ID;

    /* Save the contact rules/communication preferences for the acknowledgement mailing business process */
    select
      @MKTACKNOWLEDGEMENTMAILINGPROCESSID = [ID]
    from dbo.[MKTACKNOWLEDGEMENTMAILINGPROCESS]
    where [ACKNOWLEDGEMENTMAILINGTEMPLATEID] = @ID;

    exec dbo.[USP_BUSINESSPROCESSCOMMPREF_UPDATE]
      @CHANGEAGENTID = @CHANGEAGENTID,
      @BUSINESSPROCESSCATALOGID = '1F72BAD2-F10A-4F43-9210-AB3B5CBBB576',
      @BUSINESSPROCESSPARAMETERSETID = @MKTACKNOWLEDGEMENTMAILINGPROCESSID,
      @EXCLUSIONDATETYPECODE = @EXCLUSIONDATETYPECODE,
      @EXCLUSIONASOFDATE = @EXCLUSIONASOFDATE,
      @EXCLUDEDECEASED = @EXCLUDEDECEASED,
      @EXCLUDEINACTIVE = @EXCLUDEINACTIVE,
      @EXCLUSIONS = @EXCLUSIONS,
      @CURRENTAPPUSERID = @CURRENTAPPUSERID;

    /* Save KPIs */
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATEKPI_SAVEFIELD]
      @ID,
      @ACTIVATIONKPIS,
      @USEKPISASDEFAULT,
      @CHANGEAGENTID;

    /* Save appeal information */
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATEAPPEAL_SAVEFIELD]
      @ID,
      @APPEALINFORMATION;

    /* Save export information */
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATEEXPORT_SAVEFIELD]
      @ID,
      @EXPORTDESCRIPTION,
      null,
      null;

  end try

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

  return 0;