USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTATIONEXPORTPROCESS_6

The save procedure used by the edit dataform template "Marketing Effort Export Process Edit Form 4".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@DESCRIPTION nvarchar(255) IN Description
@MAILEXPORTDEFINITIONID uniqueidentifier IN Mail export definition
@EMAILEXPORTDEFINITIONID uniqueidentifier IN Email export definition
@PHONEEXPORTDEFINITIONID uniqueidentifier IN Phone export definition
@EXPORTACTIVESEGMENTS bit IN Export active segments
@EXPORTINLINEEXCLUSIONS bit IN Export exclusion segments
@INLINEEXCLUSIONEXPORTDEFINITIONID uniqueidentifier IN Export definition

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTATIONEXPORTPROCESS_6]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @DESCRIPTION nvarchar(255),
  @MAILEXPORTDEFINITIONID uniqueidentifier,
  @EMAILEXPORTDEFINITIONID uniqueidentifier,
  @PHONEEXPORTDEFINITIONID uniqueidentifier,
  @EXPORTACTIVESEGMENTS bit,
  @EXPORTINLINEEXCLUSIONS bit,
  @INLINEEXCLUSIONEXPORTDEFINITIONID uniqueidentifier
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

    set @CURRENTDATE = getdate();

    declare @EXPORTDESCRIPTIONLOCKED bit = 0;
    declare @MAILEXPORTDEFINITIONIDLOCKED bit = 0;
    declare @EMAILEXPORTDEFINITIONIDLOCKED bit = 0;
    declare @PHONEEXPORTDEFINITIONIDLOCKED bit = 0;
    declare @SEGMENTATIONID uniqueidentifier = (select [SEGMENTATIONID] from dbo.[MKTSEGMENTATIONEXPORTPROCESS] where [ID] = @ID);

    /* Get template locked export settings */
    if exists(select top 1 1 from dbo.[MKTCOMMUNICATIONTEMPLATE] where [MKTSEGMENTATIONID] = @SEGMENTATIONID)
      begin

        select
          @EXPORTDESCRIPTIONLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[EXPORTDESCRIPTIONLOCKED],
          @MAILEXPORTDEFINITIONIDLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[MAILEXPORTDEFINITIONIDLOCKED],
          @EMAILEXPORTDEFINITIONIDLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[EMAILEXPORTDEFINITIONIDLOCKED],
          @PHONEEXPORTDEFINITIONIDLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[PHONEEXPORTDEFINITIONIDLOCKED]
        from dbo.[MKTCOMMUNICATIONTEMPLATE]
        inner join dbo.[MKTCOMMUNICATIONTEMPLATEDEFAULT] on [MKTCOMMUNICATIONTEMPLATEDEFAULT].[COMMUNICATIONTEMPLATEID] = [MKTCOMMUNICATIONTEMPLATE].[ID]
        where [MKTSEGMENTATIONID] = @SEGMENTATIONID;

      end

    /* Don't allow overriding of locked values */
    update dbo.[MKTSEGMENTATIONEXPORTPROCESS] set 
      [DESCRIPTION] = case when @EXPORTDESCRIPTIONLOCKED = 1 then [DESCRIPTION] else @DESCRIPTION end,
      [EXPORTACTIVESEGMENTS] = @EXPORTACTIVESEGMENTS,
      [MAILEXPORTDEFINITIONID] = case when @MAILEXPORTDEFINITIONIDLOCKED = 1 then [MAILEXPORTDEFINITIONID] else @MAILEXPORTDEFINITIONID end,
      [EMAILEXPORTDEFINITIONID] = case when @EMAILEXPORTDEFINITIONIDLOCKED = 1 then [EMAILEXPORTDEFINITIONID] else @EMAILEXPORTDEFINITIONID end,
      [PHONEEXPORTDEFINITIONID] = case when @PHONEEXPORTDEFINITIONIDLOCKED = 1 then [PHONEEXPORTDEFINITIONID] else @PHONEEXPORTDEFINITIONID end,
      [EXPORTINLINEEXCLUSIONS] = @EXPORTINLINEEXCLUSIONS,
      [INLINEEXCLUSIONEXPORTDEFINITIONID] = @INLINEEXCLUSIONEXPORTDEFINITIONID,
      [CHANGEDBYID] = @CHANGEAGENTID,
      [DATECHANGED] = @CURRENTDATE
    where [ID] = @ID;
  end try

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

  return 0;