USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTWHITEMAIL

The save procedure used by the add dataform template "White Mail Segment Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@SEGMENTATIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@QUERYVIEWCATALOGID uniqueidentifier IN Record source
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@SEGMENTCATEGORYCODEID uniqueidentifier IN Category
@STATUSCODE tinyint IN Status
@ACTIVEFROM date IN Active from
@ACTIVETO date IN Active to
@SOURCECODEID uniqueidentifier IN Source code
@SOURCECODEITEMLIST xml IN Source code items
@CODEVALUEID uniqueidentifier IN Code value ID
@CODE nvarchar(10) IN Code
@GROUPS xml IN Groups

Definition

Copy


create procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTWHITEMAIL]
(
  @ID uniqueidentifier = null output,
  @SEGMENTATIONID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,    
  @QUERYVIEWCATALOGID uniqueidentifier = null,
  @NAME nvarchar(100),
  @DESCRIPTION nvarchar(255) = '',
  @SEGMENTCATEGORYCODEID uniqueidentifier = null,
  @STATUSCODE tinyint = 0,
  @ACTIVEFROM date = null,
  @ACTIVETO date = null,
  @SOURCECODEID uniqueidentifier,
  @SOURCECODEITEMLIST xml = null,
  @CODEVALUEID uniqueidentifier = null,
  @CODE nvarchar(10) = null,
  @GROUPS xml = null
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

    exec dbo.[USP_DATAFORMTEMPLATE_ADD_MKTSEGMENT]
      @ID = @ID output,
      @CHANGEAGENTID = @CHANGEAGENTID,
      @QUERYVIEWCATALOGID = @QUERYVIEWCATALOGID,
      @NAME = @NAME,
      @DESCRIPTION = @DESCRIPTION,
      @CODE = @CODE,
      @SELECTIONS = null,
      @GROUPS = @GROUPS,
      @SEGMENTTYPECODE = 9,
      @SEGMENTCATEGORYCODEID = @SEGMENTCATEGORYCODEID,
      @CODEVALUEID = @CODEVALUEID;

    select @CURRENTDATE = [DATEADDED] from dbo.[MKTSEGMENT] where [ID] = @ID;

    insert into dbo.[MKTSEGMENTWHITEMAIL]
    (
      [ID],
      [STATUSCODE],
      [ACTIVEFROM],
      [ACTIVETO],
      [SOURCECODEID],
      [SEGMENTATIONID],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    )
    values
    (
      @ID,
      @STATUSCODE,
      @ACTIVEFROM,
      @ACTIVETO,
      @SOURCECODEID,
      case when @SEGMENTATIONID <> '00000000-0000-0000-0000-000000000000' then @SEGMENTATIONID else null end,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    exec dbo.[USP_MKTSOURCECODEPART_WHITEMAILSEGMENT_GETITEMLIST_ADDFROMXML] @ID, @SOURCECODEITEMLIST, @CHANGEAGENTID, @CURRENTDATE;

    -- add information about the source code to the source code map

    exec dbo.[USP_MKTSEGMENTWHITEMAIL_ADDSOURCECODEMAP] @ID, @CHANGEAGENTID;

    -- insert a parameter set for the white mail segment refresh process

    exec dbo.[USP_MKTSEGMENTWHITEMAILREFRESHPROCESS_SAVE] @ID, @CHANGEAGENTID;
  end try

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

  return 0;