USP_DATAFORMTEMPLATE_EDITLOAD_MKTMEMBERSHIPMAILINGTEMPLATE_2

The load procedure used by the edit dataform template "Membership Renewal Effort Template Edit Form 2"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@CODE nvarchar(10) INOUT Code
@NAME nvarchar(50) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@SITEID uniqueidentifier INOUT Site
@SOURCECODEID uniqueidentifier INOUT Source code
@ITEMLIST xml INOUT Items
@SITEREQUIRED bit INOUT Site required?
@SITECANBECHANGED bit INOUT Site can be changed?
@ISBBEC bit INOUT Is BBEC?
@OWNERID uniqueidentifier INOUT Owner ID
@EXCLUSIONDATETYPECODE tinyint INOUT Consider exclusions as of
@EXCLUSIONASOFDATE datetime INOUT Consider exclusions as of
@EXCLUDEDECEASED bit INOUT Exclude deceased constituents
@EXCLUDEINACTIVE bit INOUT Exclude inactive constituents
@EXCLUSIONS xml INOUT Exclusions
@USEADDRESSPROCESSING bit INOUT Use address processing?
@ADDRESSPROCESSINGOPTIONID uniqueidentifier INOUT Address processing options
@NAMEFORMATPARAMETERID uniqueidentifier INOUT Name format options
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint INOUT Consider seasonal addresses as of
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime INOUT Consider seasonal addresses as of
@CANUPDATEEXCLUDEDECEASED bit INOUT Can update exclude deceased constituents?
@CANUPDATEEXCLUDEINACTIVE bit INOUT Can update exclude inactive constituents?
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@ACTIVATIONKPIS xml INOUT Activation KPIs
@USEKPISASDEFAULT bit INOUT Use the chosen KPIs as the default for future membership renewal efforts
@APPEALINFORMATION xml INOUT Appeal information including the appeal searchlist and record source.
@RUNACTIVATEANDEXPORT bit INOUT Activate and export membership renewal effort when template processing completes
@EXPORTDESCRIPTION nvarchar(255) INOUT Export description
@MAILEXPORTDEFINITIONID uniqueidentifier INOUT Mail export definition
@EMAILEXPORTDEFINITIONID uniqueidentifier INOUT Email export definition
@PHONEEXPORTDEFINITIONID uniqueidentifier INOUT Phone export definition
@CODEVALUEID uniqueidentifier INOUT Code value ID
@RUNSEGMENTATIONSEGMENTREFRESHPROCESS bit INOUT Refresh segment selections and filters
@CACHESOURCEANALYSISRULEDATA bit INOUT Capture source analysis rule data
@ISBBAC bit INOUT Is BBAC?
@BASECURRENCYID uniqueidentifier INOUT Base currency ID
@EXPORTDEFINITIONRECORDTYPE nvarchar(50) INOUT Export definition record type
@EXPORTDEFINITIONRECORDTYPEID uniqueidentifier INOUT Export definition record type ID
@EXPORTDEFINITIONQUERYVIEWID uniqueidentifier INOUT Export definition query view ID
@RUNMARKETINGEXCLUSIONSREPORT bit INOUT
@SEGMENTUSESADVANCEDNAMEFORMATOPTION bit INOUT

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTMEMBERSHIPMAILINGTEMPLATE_2]
(
  @ID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @CODE nvarchar(10) = null output,
  @NAME nvarchar(50) = null output,
  @DESCRIPTION nvarchar(255) = null output,
  @SITEID uniqueidentifier = null output,
  @SOURCECODEID uniqueidentifier = null output,
  @ITEMLIST xml = null output,
  @SITEREQUIRED bit = null output,
  @SITECANBECHANGED bit = null output,
  @ISBBEC bit = null output,
  @OWNERID uniqueidentifier = null output,
  @EXCLUSIONDATETYPECODE tinyint = null output,
  @EXCLUSIONASOFDATE datetime = null output,
  @EXCLUDEDECEASED bit = null output,
  @EXCLUDEINACTIVE bit = null output,
  @EXCLUSIONS xml = null output,
  @USEADDRESSPROCESSING bit = null output,
  @ADDRESSPROCESSINGOPTIONID uniqueidentifier = null output,
  @NAMEFORMATPARAMETERID uniqueidentifier = null output,
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint = null output,
  @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime = null output,
  @CANUPDATEEXCLUDEDECEASED bit = null output,
  @CANUPDATEEXCLUDEINACTIVE bit = null output,
  @TSLONG bigint = 0 output,
  @ACTIVATIONKPIS xml = null output,
  @USEKPISASDEFAULT bit = null output,
  @APPEALINFORMATION xml = null output,
  @RUNACTIVATEANDEXPORT bit = null output,
  @EXPORTDESCRIPTION nvarchar(255) = null output,
  @MAILEXPORTDEFINITIONID uniqueidentifier = null output,
  @EMAILEXPORTDEFINITIONID uniqueidentifier = null output,
  @PHONEEXPORTDEFINITIONID uniqueidentifier = null output,
  @CODEVALUEID uniqueidentifier = null output,
  @RUNSEGMENTATIONSEGMENTREFRESHPROCESS bit = null output,
  @CACHESOURCEANALYSISRULEDATA bit = null output,
  @ISBBAC bit = null output,
  @BASECURRENCYID uniqueidentifier = null output,
  @EXPORTDEFINITIONRECORDTYPE nvarchar(50) = null output,
  @EXPORTDEFINITIONRECORDTYPEID uniqueidentifier = null output,
  @EXPORTDEFINITIONQUERYVIEWID uniqueidentifier = null output,
  @RUNMARKETINGEXCLUSIONSREPORT bit = null output,
  @SEGMENTUSESADVANCEDNAMEFORMATOPTION bit = null output
)
as
  set nocount on;

  set @DATALOADED = 0;
  set @TSLONG = 0;

  select
    @DATALOADED = 1,
    @CODE = [MKTMEMBERSHIPMAILINGTEMPLATE].[CODE],
    @CODEVALUEID = [MKTMEMBERSHIPMAILINGTEMPLATE].[PARTDEFINITIONVALUESID],
    @NAME = [MKTMEMBERSHIPMAILINGTEMPLATE].[NAME],
    @DESCRIPTION = [MKTMEMBERSHIPMAILINGTEMPLATE].[DESCRIPTION],
    @SITEID = [MKTMEMBERSHIPMAILINGTEMPLATE].[SITEID],
    @SOURCECODEID = [MKTMEMBERSHIPMAILINGTEMPLATE].[SOURCECODEID],
    @ITEMLIST = dbo.[UFN_MKTMEMBERSHIPMAILINGTEMPLATESOURCECODEPART_GETITEMLIST2_TOITEMLISTXML]([MKTMEMBERSHIPMAILINGTEMPLATE].[ID]),
    @OWNERID = dbo.[UFN_BUSINESSPROCESSINSTANCE_GETOWNER]('1F72BAD2-F10A-4F43-9210-AB3B5CBBB576', [MKTMEMBERSHIPMAILINGPROCESS].[ID]),
    @EXCLUSIONDATETYPECODE = [BUSINESSPROCESSCOMMPREF].[DATETYPECODE],
    @EXCLUSIONASOFDATE = [BUSINESSPROCESSCOMMPREF].[ASOFDATE],
    @EXCLUDEDECEASED = [BUSINESSPROCESSCOMMPREF].[EXCLUDEDECEASED],
    @EXCLUDEINACTIVE = [BUSINESSPROCESSCOMMPREF].[EXCLUDEINACTIVE],
    @EXCLUSIONS = dbo.[UFN_MKTSEGMENTATION_GETREQUIREDANDSELECTEDSOLICITCODEEXCLUSIONS_TOITEMLISTXML]([MKTMEMBERSHIPMAILINGPROCESS].[ID]),
    @USEADDRESSPROCESSING = [MKTMEMBERSHIPMAILINGTEMPLATE].[USEADDRESSPROCESSING],
    @ADDRESSPROCESSINGOPTIONID = [MKTMEMBERSHIPMAILINGTEMPLATE].[ADDRESSPROCESSINGOPTIONID],
    @NAMEFORMATPARAMETERID = [MKTMEMBERSHIPMAILINGTEMPLATE].[NAMEFORMATPARAMETERID],
    @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE = [MKTMEMBERSHIPMAILINGTEMPLATE].[ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE],
    @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE = [MKTMEMBERSHIPMAILINGTEMPLATE].[ADDRESSPROCESSINGOPTIONSEASONALASOFDATE],
    @TSLONG = [MKTMEMBERSHIPMAILINGTEMPLATE].[TSLONG],
    @RUNACTIVATEANDEXPORT = [MKTMEMBERSHIPMAILINGTEMPLATE].[RUNACTIVATEANDEXPORT],
    @EXPORTDESCRIPTION = [MKTMEMBERSHIPMAILINGTEMPLATEEXPORT].[DESCRIPTION],
    @MAILEXPORTDEFINITIONID = [MKTMEMBERSHIPMAILINGTEMPLATEEXPORT].[MAILEXPORTDEFINITIONID],
    @EMAILEXPORTDEFINITIONID = [MKTMEMBERSHIPMAILINGTEMPLATEEXPORT].[EMAILEXPORTDEFINITIONID],
    @PHONEEXPORTDEFINITIONID = [MKTMEMBERSHIPMAILINGTEMPLATEEXPORT].[PHONEEXPORTDEFINITIONID],
    @RUNSEGMENTATIONSEGMENTREFRESHPROCESS = [MKTMEMBERSHIPMAILINGTEMPLATE].[RUNSEGMENTATIONSEGMENTREFRESHPROCESS],
    @CACHESOURCEANALYSISRULEDATA = [MKTMEMBERSHIPMAILINGTEMPLATE].[CACHESOURCEANALYSISRULEDATA],
    @BASECURRENCYID = [MKTMEMBERSHIPMAILINGTEMPLATE].[BASECURRENCYID],
    @RUNMARKETINGEXCLUSIONSREPORT = [MKTMEMBERSHIPMAILINGTEMPLATE].[RUNMARKETINGEXCLUSIONSREPORT]
  from dbo.[MKTMEMBERSHIPMAILINGTEMPLATE]
  inner join dbo.[MKTMEMBERSHIPMAILINGPROCESS] on [MKTMEMBERSHIPMAILINGPROCESS].[MEMBERSHIPMAILINGTEMPLATEID] = [MKTMEMBERSHIPMAILINGTEMPLATE].[ID]
  left outer join dbo.[BUSINESSPROCESSCOMMPREF] on [BUSINESSPROCESSCOMMPREF].[BUSINESSPROCESSPARAMETERSETID] = [MKTMEMBERSHIPMAILINGPROCESS].[ID]
  left outer join dbo.[MKTMEMBERSHIPMAILINGTEMPLATEEXPORT] on [MKTMEMBERSHIPMAILINGTEMPLATEEXPORT].[MEMBERSHIPMAILINGTEMPLATEID] = [MKTMEMBERSHIPMAILINGTEMPLATE].[ID]
  where [MKTMEMBERSHIPMAILINGTEMPLATE].[ID] = @ID;

  set @SITEREQUIRED = dbo.[UFN_SITEREQUIREDFORUSERONFEATURE](@CURRENTAPPUSERID, '5B3DAE47-8DD4-4217-9A8A-CC647B026124', 1);
  set @SITECANBECHANGED = 1; -- obsolete


  set @ISBBEC = (case when dbo.[UFN_INSTALLEDPRODUCTS_PRODUCTIS]('BB9873D7-F1ED-430A-8AB4-F09F47056538') = 0 then 1 else 0 end);
  set @ISBBAC = dbo.[UFN_MKTCOMMON_PRODUCTISALTRU]();

  set @CANUPDATEEXCLUDEDECEASED = 1;
  set @CANUPDATEEXCLUDEINACTIVE = 1;

  if dbo.[UFN_APPUSER_ISSYSADMIN](@CURRENTAPPUSERID) = 0
    begin
      set @CANUPDATEEXCLUDEDECEASED = dbo.[UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE](@CURRENTAPPUSERID, '2EEC593D-06B1-49E0-9031-A4076B07081C');
      set @CANUPDATEEXCLUDEINACTIVE = dbo.[UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE](@CURRENTAPPUSERID, 'C0E02A6F-DF46-460C-ACA2-CC31C9C11BFC');
    end;

  declare @KPITABLE as table
  (
    [KPICATALOGID] uniqueidentifier,
    [SELECTED] bit,
    [NAME] nvarchar(255),
    [GOALTYPECODE] tinyint,
    [DEFAULT] bit
  );

  insert into @KPITABLE
    exec dbo.[USP_MKTMEMBERSHIPMAILINGTEMPLATEKPI_GETFIELDS] @ID, 1, @CURRENTAPPUSERID;

  set @ACTIVATIONKPIS = (
    select 
      [KPICATALOGID],
      [SELECTED],
      [NAME],
      [GOALTYPECODE],
      [DEFAULT]
    from @KPITABLE 
    for xml raw('ITEM'), type, elements, root('ACTIVATIONKPIS'), binary base64);

  -- get appeal search catalog IDs with the record source name

  set @APPEALINFORMATION = (
    select 
      [MKTAPPEALRECORDSOURCE].[ID] as [RECORDSOURCEID],
      [QUERYVIEWCATALOG].[DISPLAYNAME] as [RECORDSOURCENAME],
      [MKTAPPEALRECORDSOURCE].[SEARCHLISTCATALOGID] as [SEARCHLISTCATALOGID],
      [MKTAPPEALRECORDSOURCE].[DESCRIPTIONFIELD] as [SEARCHLISTDESCRIPTIONFIELD],
      [MKTMEMBERSHIPMAILINGTEMPLATEAPPEAL].[APPEALSYSTEMID] as [APPEALSYSTEMID],
      [MKTMEMBERSHIPMAILINGTEMPLATEAPPEAL].[APPEALID] as [APPEALID],
      [MKTMEMBERSHIPMAILINGTEMPLATEAPPEAL].[APPEALDESCRIPTION] as [APPEALDESCRIPTION]
    from dbo.[MKTAPPEALRECORDSOURCE] 
    inner join [QUERYVIEWCATALOG] on [MKTAPPEALRECORDSOURCE].[ID] = [QUERYVIEWCATALOG].[ID]
    left join [MKTMEMBERSHIPMAILINGTEMPLATEAPPEAL] 
      on ([MKTMEMBERSHIPMAILINGTEMPLATEAPPEAL].[RECORDSOURCEID] = [MKTAPPEALRECORDSOURCE].[ID]
      and [MKTMEMBERSHIPMAILINGTEMPLATEAPPEAL].[MEMBERSHIPMAILINGTEMPLATEID] = @ID)
    where dbo.[UFN_MKTRECORDSOURCE_VALIDFORPRODUCT]([QUERYVIEWCATALOG].[ID]) = 1
    for xml raw('ITEM'), type, elements, root('APPEALINFORMATION'), binary base64);

  -- set this value

  set @USEKPISASDEFAULT = 1;

  set @EXPORTDEFINITIONRECORDTYPE = dbo.[UFN_MKTEXPORTDEFINITION_GETRECORDTYPEFROMMAILINGTYPECODE](2);
  set @EXPORTDEFINITIONRECORDTYPEID = dbo.[UFN_MKTEXPORTDEFINITION_GETRECORDTYPEIDFROMMAILINGTYPECODE](2);
  set @EXPORTDEFINITIONQUERYVIEWID = dbo.[UFN_MKTEXPORTDEFINITION_GETQUERYVIEWIDFROMMAILINGTYPECODE](2);

  -- See if any rules override the address processing option with a name format that contains an advanced spouse option.

  if exists (select top 1 1
              from dbo.[MKTMEMBERSHIPMAILINGTEMPLATERULE]
              inner join dbo.[NAMEFORMATPARAMETER] on [NAMEFORMATPARAMETER].[ID] = [MKTMEMBERSHIPMAILINGTEMPLATERULE].[NAMEFORMATPARAMETERID]
              where 
                [MKTMEMBERSHIPMAILINGTEMPLATERULE].[MEMBERSHIPMAILINGTEMPLATEID] = @ID and
                [MKTMEMBERSHIPMAILINGTEMPLATERULE].[OVERRIDEADDRESSPROCESSING] = 1 and
                [MKTMEMBERSHIPMAILINGTEMPLATERULE].[USEADDRESSPROCESSING] = 1 and
                ([NAMEFORMATPARAMETER].[JOINTEXCLUDESPOUSE] = 1 or [NAMEFORMATPARAMETER].[JOINTSPOUSESMAILEDSEPARATELY] = 1)
              )
    set @SEGMENTUSESADVANCEDNAMEFORMATOPTION = 1;
  else
    set @SEGMENTUSESADVANCEDNAMEFORMATOPTION = 0;

  return 0;