USP_DATAFORMTEMPLATE_ADD_MKTACKNOWLEDGEMENTMAILINGTEMPLATE

The save procedure used by the add dataform template "Marketing Acknowledgement Template Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CODE nvarchar(10) IN Code
@NAME nvarchar(50) IN Name
@DESCRIPTION nvarchar(255) IN Description
@MARKLETTERSACKNOWLEDGED bit IN Mark letters 'Acknowledged/Receipted' when process completes
@ACKNOWLEDGEDATETYPECODE tinyint IN Date
@ACKNOWLEDGEDATE datetime IN Date
@INCLUDESELECTIONS xml IN Universe
@EXCLUDESELECTIONS xml IN Exclusion selections
@SOURCECODEID uniqueidentifier IN Source code
@ITEMLIST xml IN Items
@SITEID uniqueidentifier IN Site
@EXCLUSIONDATETYPECODE tinyint IN Consider exclusions as of
@EXCLUSIONASOFDATE datetime IN Consider exclusions as of
@EXCLUDEDECEASED bit IN Exclude deceased constituents
@EXCLUDEINACTIVE bit IN Exclude inactive constituents
@EXCLUSIONS xml IN Exclusions
@USEADDRESSPROCESSING bit IN Use address processing?
@ADDRESSPROCESSINGOPTIONID uniqueidentifier IN Address processing options
@NAMEFORMATPARAMETERID uniqueidentifier IN Name format options
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint IN Consider seasonal addresses as of
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime IN Consider seasonal addresses as of
@ACTIVATIONKPIS xml IN Activation KPIs
@USEKPISASDEFAULT bit IN Use the chosen KPIs as the default for future marketing acknowledgements
@APPEALINFORMATION xml IN Appeal information including the appeal searchlist and record source.
@MULTIPLELETTERSPERREVENUE bit IN Allow multiple letters per revenue
@RUNACTIVATEANDEXPORT bit IN Activate and export marketing acknowledgement when template processing completes
@EXPORTDESCRIPTION nvarchar(255) IN Export description
@CODEVALUEID uniqueidentifier IN Code value ID
@CACHESOURCEANALYSISRULEDATA bit IN Capture source analysis rule data
@BASECURRENCYID uniqueidentifier IN Base currency ID
@RUNMARKETINGEXCLUSIONSREPORT bit IN

Definition

Copy


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

  declare @CURRENTDATE datetime;
  declare @MKTACKNOWLEDGEMENTMAILINGPROCESSID uniqueidentifier;

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

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

    set @CURRENTDATE = getdate();

    if @BASECURRENCYID is null
      set @BASECURRENCYID = dbo.[UFN_APPUSER_GETBASECURRENCY](@CURRENTAPPUSERID);

    /* Save the acknowledgement mailing template */
    insert into dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATE] (
      [ID],
      [CODE],
      [PARTDEFINITIONVALUESID],
      [NAME],
      [DESCRIPTION],
      [MARKLETTERSACKNOWLEDGED],
      [ACKNOWLEDGEDATETYPECODE],
      [ACKNOWLEDGEDATE],
      [SOURCECODEID],
      [SITEID],
      [USEADDRESSPROCESSING],
      [ADDRESSPROCESSINGOPTIONID],
      [NAMEFORMATPARAMETERID],
      [ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE],
      [ADDRESSPROCESSINGOPTIONSEASONALASOFDATE],
      [MULTIPLELETTERSPERREVENUE],
      [RUNACTIVATEANDEXPORT],
      [CACHESOURCEANALYSISRULEDATA],
      [RUNMARKETINGEXCLUSIONSREPORT],
      [BASECURRENCYID],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    ) values (
      @ID,
      @CODE,
      @CODEVALUEID,
      @NAME,
      @DESCRIPTION,
      @MARKLETTERSACKNOWLEDGED,
      @ACKNOWLEDGEDATETYPECODE,
      @ACKNOWLEDGEDATE,
      @SOURCECODEID,
      @SITEID,
      @USEADDRESSPROCESSING,
      @ADDRESSPROCESSINGOPTIONID,
      @NAMEFORMATPARAMETERID,
      @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE,
      @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE,
      @MULTIPLELETTERSPERREVENUE,
      @RUNACTIVATEANDEXPORT,
      @CACHESOURCEANALYSISRULEDATA,
      @RUNMARKETINGEXCLUSIONSREPORT,
      @BASECURRENCYID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    /* Save all the filters */
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATEFILTERSELECTION_GETINCLUDESELECTIONS_ADDFROMXML] @ID, @INCLUDESELECTIONS, @CHANGEAGENTID, @CURRENTDATE;
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATEFILTERSELECTION_GETEXCLUDESELECTIONS_ADDFROMXML] @ID, @EXCLUDESELECTIONS, @CHANGEAGENTID, @CURRENTDATE;

    /* Save the source code information */
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATESOURCECODEPART_GETITEMLIST2_ADDFROMXML] @ID, @ITEMLIST, @CHANGEAGENTID, @CURRENTDATE;

    /* Add the template to the AcknowledgementMailingProcess table */
    exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGPROCESS_SAVE] @ID, @CHANGEAGENTID;

    /* 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_ADD]
      @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 */
   if not @APPEALINFORMATION is null
     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;