USP_MKTCOMMUNICATIONTEMPLATE_COPY

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CURRENTAPPUSERID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@UNIQUENAME nvarchar(100) IN
@SEGMENTATIONID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.[USP_MKTCOMMUNICATIONTEMPLATE_COPY]
(
  @ID uniqueidentifier output,
  @CURRENTAPPUSERID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier,
  @UNIQUENAME nvarchar(100),
  @SEGMENTATIONID uniqueidentifier = null
)
as
  set nocount on;

  declare @SOURCEID uniqueidentifier;
  declare @TARGETID uniqueidentifier;

  begin try
    set @SOURCEID = @ID;

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

    declare @BASECURRENCYID uniqueidentifier;
    declare @NAME nvarchar(100);
    declare @DESCRIPTION nvarchar(255);
    declare @SITEID uniqueidentifier; 
    declare @TEMPLATETYPECODE tinyint;
    declare @OVERRIDEASKLADDERS bit;
    declare @OVERRIDEAPPEALBUSINESSUNITS bit;
    declare @ALLOWEFFORTBUSINESSUNITSOVERRIDE bit;
    declare @INCLUDESEEDS bit;
    declare @ISACTIVE bit;
    declare @COMMUNICATIONNAMESCHEMEID uniqueidentifier;
    declare @DESCRIPTIONDEFAULT nvarchar(255);
    declare @DESCRIPTIONLOCKED bit;
    declare @APPEALINFORMATION xml;
    declare @APPEALLOCKED bit;
    declare @CHANNELCODEDEFAULT tinyint;
    declare @CHANNELCODELOCKED bit;
    declare @ALLOWRESERVINGFINDERNUMBERS bit;
    declare @ALLOWRESERVINGFINDERNUMBERSLOCKED bit;
    declare @ALLOWSPECIFYBUDGET bit;
    declare @ALLOWSPECIFYBUDGETLOCKED bit;
    declare @ALLOWEXCLUDEPREVIOUSEFFORTS bit;
    declare @ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED bit;
    declare @SOURCECODEIDDEFAULT uniqueidentifier;
    declare @SOURCECODELOCKED bit;  
    declare @EXPORTDEFINITIONRECORDTYPE nvarchar(50);
    declare @EXPORTDEFINITIONRECORDTYPEID uniqueidentifier;
    declare @MAILEXPORTDEFINITIONID uniqueidentifier;
    declare @MAILEXPORTDEFINITIONIDLOCKED bit;
    declare @PHONEEXPORTDEFINITIONID uniqueidentifier;
    declare @PHONEEXPORTDEFINITIONIDLOCKED bit;
    declare @EMAILEXPORTDEFINITIONID uniqueidentifier;
    declare @EMAILEXPORTDEFINITIONIDLOCKED bit;
    declare @EXPORTDESCRIPTION nvarchar(255);
    declare @EXPORTDESCRIPTIONLOCKED bit;
    declare @CURRENCYSYMBOLDISPLAYSETTINGCODE tinyint;
    declare @CURRENCYSYMBOLDISPLAYSETTINGCODELOCKED bit;
    declare @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODE tinyint;
    declare @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODELOCKED bit;
    declare @CURRENCYDECIMALDIGITS int;
    declare @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODE tinyint;
    declare @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODELOCKED bit;
    declare @CURRENCYGROUPSEPARATOR nvarchar(4);
    declare @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODE tinyint;
    declare @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODELOCKED bit;
    declare @CURRENCYDECIMALSEPARATOR nvarchar(4);
    declare @ORGANIZATIONCURRENCYID uniqueidentifier;
    declare @DATEFORMAT nvarchar(50);
    declare @DATEFORMATLOCKED bit;
    declare @FUZZYDATEFORMAT nvarchar(50);
    declare @FUZZYDATEFORMATLOCKED bit;
    declare @MONTHDAYFORMAT nvarchar(50);
    declare @MONTHDAYFORMATLOCKED bit;
    declare @HOURMINUTEFORMAT nvarchar(50);
    declare @HOURMINUTEFORMATLOCKED bit;
    declare @CSVLINEBREAKCODE tinyint;
    declare @CSVLINEBREAKCODELOCKED bit;
    declare @RUNSEGMENTATIONSEGMENTREFRESHPROCESS bit;
    declare @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED bit;
    declare @RUNMARKETINGEXCLUSIONSREPORT bit;
    declare @RUNMARKETINGEXCLUSIONSREPORTLOCKED bit;
    declare @CACHESOURCEANALYSISRULEDATA bit;
    declare @CACHESOURCEANALYSISRULEDATALOCKED bit;
    declare @RUNSEGMENTATIONSEGMENTCALCULATEPROCESS bit;
    declare @RUNSEGMENTATIONSEGMENTREFRESHPROCESSACTIVATE bit;
    declare @RUNMARKETINGEXCLUSIONSREPORTACTIVATE bit;
    declare @CACHESOURCEANALYSISRULEDATAACTIVATE bit;
    declare @CACHESOURCEANALYSISRULEDATAACTIVATELOCKED bit;
    declare @ACTIVATEOPTIONSLOCKED bit;
    declare @EXPORTAFTERACTIVATE bit;
    declare @EXPORTAFTERACTIVATELOCKED bit;
    declare @USEADDRESSPROCESSING bit;
    declare @ADDRESSPROCESSINGOPTIONID uniqueidentifier;
    declare @NAMEFORMATPARAMETERID uniqueidentifier;
    declare @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint;
    declare @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime;
    declare @ADDRESSPROCESSINGLOCKED bit;
    declare @ALLOWEFFORTADDRESSPROCESSINGOVERRIDE bit;
    declare @ENABLEHOUSEHOLDING bit;
    declare @HOUSEHOLDINGTYPECODE tinyint;
    declare @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS bit;
    declare @HOUSEHOLDINGONERECORDPERHOUSEHOLD bit;
    declare @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD bit;
    declare @HOUSEHOLDINGLOCKED bit;
    declare @DEFAULTKPIS xml;
    declare @KPISLOCKED bit;
    declare @INCLUDESELECTIONS xml;
    declare @INCLUDESELECTIONSLOCKED bit;
    declare @EXCLUDESELECTIONS xml;
    declare @EXCLUDESELECTIONSLOCKED bit;
    declare @EXCLUDEDECEASED bit;
    declare @EXCLUDEDECEASEDLOCKED bit;
    declare @EXCLUDEINACTIVE bit;
    declare @EXCLUDEINACTIVELOCKED bit;
    declare @EXCLUSIONASOFDATE datetime;
    declare @EXCLUSIONDATETYPECODE tinyint;
    declare @EXCLUSIONASOFDATELOCKED bit;
    declare @EXCLUSIONS xml;
    declare @EXCLUSIONSLOCKED bit;
    declare @ASKLADDEROVERRIDES xml;
    declare @ASKLADDEROVERRIDESLOCKED bit;
    declare @SEEDSLOCKED bit;
    declare @SEEDS xml;
    declare @BUSINESSUNITSLOCKED bit;
    declare @BUSINESSUNITS xml;
    declare @PARENTCOMMUNICATIONTEMPLATEID uniqueidentifier;
    declare @ORIGINALPARENTCOMMUNICATIONTEMPLATEID uniqueidentifier;

    /* load existing communication template */
    exec dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTCOMMUNICATIONTEMPLATE]
      @ID = @SOURCEID,
      @CURRENTAPPUSERID = @CURRENTAPPUSERID,
      @BASECURRENCYID = @BASECURRENCYID output,
      @DESCRIPTION = @DESCRIPTION output,
      @SITEID = @SITEID output
      @TEMPLATETYPECODE = @TEMPLATETYPECODE output,
      @OVERRIDEASKLADDERS = @OVERRIDEASKLADDERS output,
      @OVERRIDEAPPEALBUSINESSUNITS = @OVERRIDEAPPEALBUSINESSUNITS output,
      @INCLUDESEEDS = @INCLUDESEEDS output,
      @ISACTIVE = @ISACTIVE output,
      @COMMUNICATIONNAMESCHEMEID = @COMMUNICATIONNAMESCHEMEID output,
      @DESCRIPTIONDEFAULT = @DESCRIPTIONDEFAULT output,
      @DESCRIPTIONLOCKED = @DESCRIPTIONLOCKED output,
      @APPEALINFORMATION = @APPEALINFORMATION output,
      @APPEALLOCKED = @APPEALLOCKED output,
      @CHANNELCODEDEFAULT = @CHANNELCODEDEFAULT output,
      @CHANNELCODELOCKED = @CHANNELCODELOCKED output,
      @ALLOWRESERVINGFINDERNUMBERS = @ALLOWRESERVINGFINDERNUMBERS output,
      @ALLOWRESERVINGFINDERNUMBERSLOCKED = @ALLOWRESERVINGFINDERNUMBERSLOCKED output,
      @ALLOWSPECIFYBUDGET = @ALLOWSPECIFYBUDGET output,
      @ALLOWSPECIFYBUDGETLOCKED = @ALLOWSPECIFYBUDGETLOCKED output,
      @ALLOWEXCLUDEPREVIOUSEFFORTS = @ALLOWEXCLUDEPREVIOUSEFFORTS output,
      @ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED = @ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED output,
      @SOURCECODEIDDEFAULT = @SOURCECODEIDDEFAULT output,
      @SOURCECODELOCKED = @SOURCECODELOCKED output,  
      @EXPORTDEFINITIONRECORDTYPE = @EXPORTDEFINITIONRECORDTYPE output,
      @EXPORTDEFINITIONRECORDTYPEID = @EXPORTDEFINITIONRECORDTYPEID output,
      @MAILEXPORTDEFINITIONID = @MAILEXPORTDEFINITIONID output,
      @MAILEXPORTDEFINITIONIDLOCKED = @MAILEXPORTDEFINITIONIDLOCKED output,
      @PHONEEXPORTDEFINITIONID = @PHONEEXPORTDEFINITIONID output,
      @PHONEEXPORTDEFINITIONIDLOCKED = @PHONEEXPORTDEFINITIONIDLOCKED output,
      @EMAILEXPORTDEFINITIONID = @EMAILEXPORTDEFINITIONID output,
      @EMAILEXPORTDEFINITIONIDLOCKED = @EMAILEXPORTDEFINITIONIDLOCKED output,
      @EXPORTDESCRIPTION = @EXPORTDESCRIPTION output,
      @EXPORTDESCRIPTIONLOCKED = @EXPORTDESCRIPTIONLOCKED output,
      @CURRENCYSYMBOLDISPLAYSETTINGCODE = @CURRENCYSYMBOLDISPLAYSETTINGCODE output,
      @CURRENCYSYMBOLDISPLAYSETTINGCODELOCKED = @CURRENCYSYMBOLDISPLAYSETTINGCODELOCKED output,
      @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODE = @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODE output,
      @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODELOCKED = @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODELOCKED output,
      @CURRENCYDECIMALDIGITS = @CURRENCYDECIMALDIGITS output,
      @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODE = @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODE output,
      @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODELOCKED = @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODELOCKED output,
      @CURRENCYGROUPSEPARATOR = @CURRENCYGROUPSEPARATOR output,
      @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODE = @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODE output,
      @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODELOCKED = @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODELOCKED output,
      @CURRENCYDECIMALSEPARATOR = @CURRENCYDECIMALSEPARATOR output,
      @ORGANIZATIONCURRENCYID = @ORGANIZATIONCURRENCYID output,
      @DATEFORMAT = @DATEFORMAT output,
      @DATEFORMATLOCKED = @DATEFORMATLOCKED output,
      @FUZZYDATEFORMAT = @FUZZYDATEFORMAT output,
      @FUZZYDATEFORMATLOCKED = @FUZZYDATEFORMATLOCKED output,
      @MONTHDAYFORMAT = @MONTHDAYFORMAT output,
      @MONTHDAYFORMATLOCKED = @MONTHDAYFORMATLOCKED output,
      @HOURMINUTEFORMAT = @HOURMINUTEFORMAT output,
      @HOURMINUTEFORMATLOCKED = @HOURMINUTEFORMATLOCKED output,
      @CSVLINEBREAKCODE = @CSVLINEBREAKCODE output,
      @CSVLINEBREAKCODELOCKED = @CSVLINEBREAKCODELOCKED output,
      @RUNSEGMENTATIONSEGMENTREFRESHPROCESS = @RUNSEGMENTATIONSEGMENTREFRESHPROCESS output,
      @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED = @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED output,
      @RUNMARKETINGEXCLUSIONSREPORT = @RUNMARKETINGEXCLUSIONSREPORT output,
      @RUNMARKETINGEXCLUSIONSREPORTLOCKED = @RUNMARKETINGEXCLUSIONSREPORTLOCKED output,
      @CACHESOURCEANALYSISRULEDATA = @CACHESOURCEANALYSISRULEDATA output,
      @CACHESOURCEANALYSISRULEDATALOCKED = @CACHESOURCEANALYSISRULEDATALOCKED output,
      @RUNSEGMENTATIONSEGMENTCALCULATEPROCESS = @RUNSEGMENTATIONSEGMENTCALCULATEPROCESS output,
      @RUNSEGMENTATIONSEGMENTREFRESHPROCESSACTIVATE = @RUNSEGMENTATIONSEGMENTREFRESHPROCESSACTIVATE output,
      @RUNMARKETINGEXCLUSIONSREPORTACTIVATE = @RUNMARKETINGEXCLUSIONSREPORTACTIVATE output,
      @CACHESOURCEANALYSISRULEDATAACTIVATE = @CACHESOURCEANALYSISRULEDATAACTIVATE output,
      @ACTIVATEOPTIONSLOCKED = @ACTIVATEOPTIONSLOCKED output,
      @EXPORTAFTERACTIVATE = @EXPORTAFTERACTIVATE output,
      @EXPORTAFTERACTIVATELOCKED = @EXPORTAFTERACTIVATELOCKED output,
      @USEADDRESSPROCESSING = @USEADDRESSPROCESSING output,
      @ADDRESSPROCESSINGOPTIONID = @ADDRESSPROCESSINGOPTIONID output,
      @NAMEFORMATPARAMETERID = @NAMEFORMATPARAMETERID output,
      @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE = @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE output,
      @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE = @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE output,
      @ADDRESSPROCESSINGLOCKED = @ADDRESSPROCESSINGLOCKED output,
      @ENABLEHOUSEHOLDING = @ENABLEHOUSEHOLDING output,
      @HOUSEHOLDINGTYPECODE = @HOUSEHOLDINGTYPECODE output,
      @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS = @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS output,
      @HOUSEHOLDINGONERECORDPERHOUSEHOLD = @HOUSEHOLDINGONERECORDPERHOUSEHOLD output,
      @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD = @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD output,
      @HOUSEHOLDINGLOCKED = @HOUSEHOLDINGLOCKED output,
      @DEFAULTKPIS = @DEFAULTKPIS output,
      @KPISLOCKED = @KPISLOCKED output,
      @INCLUDESELECTIONS = @INCLUDESELECTIONS output,
      @INCLUDESELECTIONSLOCKED = @INCLUDESELECTIONSLOCKED output,
      @EXCLUDESELECTIONS = @EXCLUDESELECTIONS output,
      @EXCLUDESELECTIONSLOCKED = @EXCLUDESELECTIONSLOCKED output,
      @EXCLUDEDECEASED = @EXCLUDEDECEASED output,
      @EXCLUDEDECEASEDLOCKED = @EXCLUDEDECEASEDLOCKED output,
      @EXCLUDEINACTIVE = @EXCLUDEINACTIVE output,
   @EXCLUDEINACTIVELOCKED = @EXCLUDEINACTIVELOCKED output,
      @EXCLUSIONASOFDATE = @EXCLUSIONASOFDATE output,
      @EXCLUSIONDATETYPECODE = @EXCLUSIONDATETYPECODE output,
      @EXCLUSIONASOFDATELOCKED = @EXCLUSIONASOFDATELOCKED output,
      @EXCLUSIONS = @EXCLUSIONS output,
      @EXCLUSIONSLOCKED = @EXCLUSIONSLOCKED output,
      @ASKLADDEROVERRIDES = @ASKLADDEROVERRIDES output,
      @ASKLADDEROVERRIDESLOCKED = @ASKLADDEROVERRIDESLOCKED output,
      @SEEDSLOCKED = @SEEDSLOCKED output,
      @SEEDS = @SEEDS output,
      @BUSINESSUNITSLOCKED = @BUSINESSUNITSLOCKED output,
      @BUSINESSUNITS = @BUSINESSUNITS output,
      @CACHESOURCEANALYSISRULEDATAACTIVATELOCKED = @CACHESOURCEANALYSISRULEDATAACTIVATELOCKED output,
      @ALLOWEFFORTBUSINESSUNITSOVERRIDE = @ALLOWEFFORTBUSINESSUNITSOVERRIDE output,
      @ALLOWEFFORTADDRESSPROCESSINGOVERRIDE = @ALLOWEFFORTADDRESSPROCESSINGOVERRIDE output;


    /* set appeal information to null if no appeal id is loaded */
    if @APPEALINFORMATION is not null
      begin

        /* if appeal is not set, then clear the appeal information */
        if isnull(@APPEALINFORMATION.exist('(//APPEALSYSTEMID)'), 0) = 0
          set @APPEALINFORMATION = null;

      end

    /* remove collection field ids, unique ids will be added back in the template add */      
    if @INCLUDESELECTIONS is not null
      set @INCLUDESELECTIONS.modify('delete (/INCLUDESELECTIONS/ITEM/@ID)')

    if @EXCLUDESELECTIONS is not null
      set @EXCLUDESELECTIONS.modify('delete (/EXCLUDESELECTIONS/ITEM/@ID)')

    if @EXCLUSIONS is not null
    begin
      -- Bug 503012/480147 Fix - Do not include required exclusions as these will become the defaults for the new template.

      -- Required solicit codes will be added automatically, so adding them as a default will result in duplication of codes.

        set @EXCLUSIONS.modify('delete (/EXCLUSIONS/ITEM[REQUIRED/text()=1])')
        set @EXCLUSIONS.modify('delete (/EXCLUSIONS/ITEM/ID)')
    end

    if @ASKLADDEROVERRIDES is not null
      set @ASKLADDEROVERRIDES.modify('delete (/ASKLADDEROVERRIDES/ITEM/@ID)')

    if @SEEDS is not null
      set @SEEDS.modify('delete (/SEEDS/ITEM/@ID)')

    if @BUSINESSUNITS is not null
      set @BUSINESSUNITS.modify('delete (/BUSINESSUNITS/ITEM/@ID)')

    if @SEGMENTATIONID is not null
    begin
      set @PARENTCOMMUNICATIONTEMPLATEID = @SOURCEID;

      -- when copying for an effort we need to get the top level template

      select
        @ORIGINALPARENTCOMMUNICATIONTEMPLATEID = [MKTCOMMUNICATIONTEMPLATE].[PARENTCOMMUNICATIONTEMPLATEID]
      from
        dbo.[MKTCOMMUNICATIONTEMPLATE]
      where
        [MKTCOMMUNICATIONTEMPLATE].[ID] = @SOURCEID;

      if @ORIGINALPARENTCOMMUNICATIONTEMPLATEID is not null
        set @PARENTCOMMUNICATIONTEMPLATEID = @ORIGINALPARENTCOMMUNICATIONTEMPLATEID;

    end

    /* create the copy of the communication template */
    exec dbo.[USP_DATAFORMTEMPLATE_ADD_MKTCOMMUNICATIONTEMPLATE]
      @ID = @TARGETID output,
      @CURRENTAPPUSERID = @CURRENTAPPUSERID,
      @CHANGEAGENTID = @CHANGEAGENTID,
      @BASECURRENCYID = @BASECURRENCYID,      
      @NAME = @UNIQUENAME,
      @DESCRIPTION = @DESCRIPTION,
      @SITEID = @SITEID
      @TEMPLATETYPECODE = @TEMPLATETYPECODE,
      @OVERRIDEASKLADDERS = @OVERRIDEASKLADDERS,
      @OVERRIDEAPPEALBUSINESSUNITS = @OVERRIDEAPPEALBUSINESSUNITS,
      @INCLUDESEEDS = @INCLUDESEEDS,
      @ISACTIVE = @ISACTIVE,
      @COMMUNICATIONNAMESCHEMEID = @COMMUNICATIONNAMESCHEMEID,
      @DESCRIPTIONDEFAULT = @DESCRIPTIONDEFAULT,
      @DESCRIPTIONLOCKED = @DESCRIPTIONLOCKED,
      @APPEALINFORMATION = @APPEALINFORMATION,
      @APPEALLOCKED = @APPEALLOCKED,
      @CHANNELCODEDEFAULT = @CHANNELCODEDEFAULT,
      @CHANNELCODELOCKED = @CHANNELCODELOCKED,
      @ALLOWRESERVINGFINDERNUMBERS = @ALLOWRESERVINGFINDERNUMBERS,
      @ALLOWRESERVINGFINDERNUMBERSLOCKED = @ALLOWRESERVINGFINDERNUMBERSLOCKED,
      @ALLOWSPECIFYBUDGET = @ALLOWSPECIFYBUDGET,
      @ALLOWSPECIFYBUDGETLOCKED = @ALLOWSPECIFYBUDGETLOCKED,
      @ALLOWEXCLUDEPREVIOUSEFFORTS = @ALLOWEXCLUDEPREVIOUSEFFORTS,
      @ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED = @ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED,
      @SOURCECODEIDDEFAULT = @SOURCECODEIDDEFAULT,
      @SOURCECODELOCKED = @SOURCECODELOCKED,  
      @MAILEXPORTDEFINITIONID = @MAILEXPORTDEFINITIONID,
      @MAILEXPORTDEFINITIONIDLOCKED = @MAILEXPORTDEFINITIONIDLOCKED,
      @PHONEEXPORTDEFINITIONID = @PHONEEXPORTDEFINITIONID,
      @PHONEEXPORTDEFINITIONIDLOCKED = @PHONEEXPORTDEFINITIONIDLOCKED,
      @EMAILEXPORTDEFINITIONID = @EMAILEXPORTDEFINITIONID,
      @EMAILEXPORTDEFINITIONIDLOCKED = @EMAILEXPORTDEFINITIONIDLOCKED,
      @EXPORTDESCRIPTION = @EXPORTDESCRIPTION,
      @EXPORTDESCRIPTIONLOCKED = @EXPORTDESCRIPTIONLOCKED,
      @CURRENCYSYMBOLDISPLAYSETTINGCODE = @CURRENCYSYMBOLDISPLAYSETTINGCODE,
      @CURRENCYSYMBOLDISPLAYSETTINGCODELOCKED = @CURRENCYSYMBOLDISPLAYSETTINGCODELOCKED,
      @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODE = @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODE,
      @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODELOCKED = @CURRENCYDECIMALDIGITSDISPLAYSETTINGCODELOCKED,
      @CURRENCYDECIMALDIGITS = @CURRENCYDECIMALDIGITS,
      @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODE = @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODE,
      @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODELOCKED = @CURRENCYGROUPSEPARATORDISPLAYSETTINGCODELOCKED,
      @CURRENCYGROUPSEPARATOR = @CURRENCYGROUPSEPARATOR,
      @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODE = @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODE,
      @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODELOCKED = @CURRENCYDECIMALSEPARATORDISPLAYSETTINGCODELOCKED,
      @CURRENCYDECIMALSEPARATOR = @CURRENCYDECIMALSEPARATOR,
      @DATEFORMAT = @DATEFORMAT,
      @DATEFORMATLOCKED = @DATEFORMATLOCKED,
      @FUZZYDATEFORMAT = @FUZZYDATEFORMAT,
      @FUZZYDATEFORMATLOCKED = @FUZZYDATEFORMATLOCKED,
      @MONTHDAYFORMAT = @MONTHDAYFORMAT,
      @MONTHDAYFORMATLOCKED = @MONTHDAYFORMATLOCKED,
      @HOURMINUTEFORMAT = @HOURMINUTEFORMAT,
      @HOURMINUTEFORMATLOCKED = @HOURMINUTEFORMATLOCKED,
      @CSVLINEBREAKCODE = @CSVLINEBREAKCODE,
      @CSVLINEBREAKCODELOCKED = @CSVLINEBREAKCODELOCKED,
      @RUNSEGMENTATIONSEGMENTREFRESHPROCESS = @RUNSEGMENTATIONSEGMENTREFRESHPROCESS,
      @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED = @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED,
      @RUNMARKETINGEXCLUSIONSREPORT = @RUNMARKETINGEXCLUSIONSREPORT,
      @RUNMARKETINGEXCLUSIONSREPORTLOCKED = @RUNMARKETINGEXCLUSIONSREPORTLOCKED,
      @CACHESOURCEANALYSISRULEDATA = @CACHESOURCEANALYSISRULEDATA,
      @CACHESOURCEANALYSISRULEDATALOCKED = @CACHESOURCEANALYSISRULEDATALOCKED,
      @RUNSEGMENTATIONSEGMENTCALCULATEPROCESS = @RUNSEGMENTATIONSEGMENTCALCULATEPROCESS,
      @RUNSEGMENTATIONSEGMENTREFRESHPROCESSACTIVATE = @RUNSEGMENTATIONSEGMENTREFRESHPROCESSACTIVATE,
      @RUNMARKETINGEXCLUSIONSREPORTACTIVATE = @RUNMARKETINGEXCLUSIONSREPORTACTIVATE,
      @CACHESOURCEANALYSISRULEDATAACTIVATE = @CACHESOURCEANALYSISRULEDATAACTIVATE,
      @ACTIVATEOPTIONSLOCKED = @ACTIVATEOPTIONSLOCKED,
      @EXPORTAFTERACTIVATE = @EXPORTAFTERACTIVATE,
      @EXPORTAFTERACTIVATELOCKED = @EXPORTAFTERACTIVATELOCKED,
      @USEADDRESSPROCESSING = @USEADDRESSPROCESSING,
      @ADDRESSPROCESSINGOPTIONID = @ADDRESSPROCESSINGOPTIONID,
      @NAMEFORMATPARAMETERID = @NAMEFORMATPARAMETERID,
      @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE = @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE,
      @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE = @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE,
      @ADDRESSPROCESSINGLOCKED = @ADDRESSPROCESSINGLOCKED,
      @HOUSEHOLDINGTYPECODE = @HOUSEHOLDINGTYPECODE,
      @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS = @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS,
      @HOUSEHOLDINGONERECORDPERHOUSEHOLD = @HOUSEHOLDINGONERECORDPERHOUSEHOLD,
      @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD = @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD,
      @HOUSEHOLDINGLOCKED = @HOUSEHOLDINGLOCKED,
      @DEFAULTKPIS = @DEFAULTKPIS,
      @KPISLOCKED = @KPISLOCKED,
      @INCLUDESELECTIONS = @INCLUDESELECTIONS,
      @INCLUDESELECTIONSLOCKED = @INCLUDESELECTIONSLOCKED,
      @EXCLUDESELECTIONS = @EXCLUDESELECTIONS,
      @EXCLUDESELECTIONSLOCKED = @EXCLUDESELECTIONSLOCKED,
      @EXCLUDEDECEASED = @EXCLUDEDECEASED,
      @EXCLUDEDECEASEDLOCKED = @EXCLUDEDECEASEDLOCKED,
      @EXCLUDEINACTIVE = @EXCLUDEINACTIVE,
      @EXCLUDEINACTIVELOCKED = @EXCLUDEINACTIVELOCKED,
      @EXCLUSIONASOFDATE = @EXCLUSIONASOFDATE,
      @EXCLUSIONDATETYPECODE = @EXCLUSIONDATETYPECODE,
      @EXCLUSIONASOFDATELOCKED = @EXCLUSIONASOFDATELOCKED,
      @EXCLUSIONS = @EXCLUSIONS,
      @EXCLUSIONSLOCKED = @EXCLUSIONSLOCKED,
      @ASKLADDEROVERRIDES = @ASKLADDEROVERRIDES,
      @ASKLADDEROVERRIDESLOCKED = @ASKLADDEROVERRIDESLOCKED,
      @SEEDS = @SEEDS,
      @SEEDSLOCKED = @SEEDSLOCKED,
      @BUSINESSUNITSLOCKED = @BUSINESSUNITSLOCKED,
      @BUSINESSUNITS = @BUSINESSUNITS,
      @MKTSEGMENTATIONID = @SEGMENTATIONID,
      @PARENTCOMMUNICATIONTEMPLATEID = @PARENTCOMMUNICATIONTEMPLATEID,
      @CACHESOURCEANALYSISRULEDATAACTIVATELOCKED = @CACHESOURCEANALYSISRULEDATAACTIVATELOCKED,
      @ALLOWEFFORTBUSINESSUNITSOVERRIDE = @ALLOWEFFORTBUSINESSUNITSOVERRIDE,
      @ALLOWEFFORTADDRESSPROCESSINGOVERRIDE = @ALLOWEFFORTADDRESSPROCESSINGOVERRIDE;

    /* return the new template ID */
    set @ID = @TARGETID;
  end try

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

  return 0;