USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENT_1

USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENT_1

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@CODE nvarchar(10) IN
@QUERYVIEWCATALOGID uniqueidentifier IN
@SELECTIONS xml IN
@GROUPS xml IN

Definition

Copy


create procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENT_1]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @NAME nvarchar(100),
  @DESCRIPTION nvarchar(255),
  @CODE nvarchar(10),
  @QUERYVIEWCATALOGID uniqueidentifier,
  @SELECTIONS xml,
  @GROUPS xml
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  declare @SEGMENTTYPECODE tinyint;

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

    select
      @SEGMENTTYPECODE = [SEGMENTTYPECODE],
      @CURRENTDATE = getdate()
    from dbo.[MKTSEGMENT]
    where [ID] = @ID;

    /* Save the segment */
    update dbo.[MKTSEGMENT] set 
      [NAME] = @NAME,
      [DESCRIPTION] = @DESCRIPTION,
      [CODE] = @CODE,
      [QUERYVIEWCATALOGID] = @QUERYVIEWCATALOGID,
      [CHANGEDBYID] = @CHANGEAGENTID,
      [DATECHANGED] = @CURRENTDATE
    where [ID] = @ID;

    /* Save all the new selections */
    exec dbo.[USP_MKTSEGMENT_GETSELECTIONS_UPDATEFROMXML] @ID, null, @SELECTIONS, @CHANGEAGENTID, @CURRENTDATE;

    /* Save all the groups */
    exec dbo.[USP_MKTSEGMENT_GETGROUPS_UPDATEFROMXML] @ID, @GROUPS, @CHANGEAGENTID, @CURRENTDATE;

    if @SEGMENTTYPECODE <> 2 and @QUERYVIEWCATALOGID is not null
      /* Create the VIEW and add it to the IDSETREGISTER */
      exec dbo.[USP_MKTSEGMENT_CREATEORUPDATEVIEW] @ID, @CHANGEAGENTID;

    /* Update the segment with the selected code */
    exec dbo.[USP_MKTSEGMENT_UPDATECODE] @ID, @CODE, @CHANGEAGENTID, 1;
  end try

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

  return 0;