USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTGROUP

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

Parameters

Parameter Parameter Type Mode Description
@CONTEXT nvarchar(40) IN Input parameter indicating the context ID for the record being added.
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@SEGMENTS xml IN Segments
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEID uniqueidentifier IN Site

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTGROUP]
(
  @CONTEXT nvarchar(40),
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,    
  @NAME nvarchar(100),
  @SEGMENTS xml = null,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @SITEID uniqueidentifier = null
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  declare @BASECURRENCYID uniqueidentifier;

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

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

    set @CURRENTDATE = getdate();

    exec dbo.[USP_MKTSEGMENTGROUP_PARSECONTEXTID] @CONTEXT, null, @BASECURRENCYID output;

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

    insert into dbo.[MKTSEGMENTGROUP] (
      [ID],
      [NAME],
      [SITEID],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED],
      [BASECURRENCYID]
    ) values (
      @ID,
      @NAME,
      @SITEID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE,
      @BASECURRENCYID
    );

    exec dbo.[USP_MKTSEGMENTGROUP_GETSEGMENTS_ADDFROMXML] @ID, @SEGMENTS, @CHANGEAGENTID, @CURRENTDATE;

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

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

  return 0;