USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTMARKETINGLOCATION_1

USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTMARKETINGLOCATION_1

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@QUERYVIEWCATALOGID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@SEGMENTCATEGORYCODEID uniqueidentifier IN
@CODE nvarchar(10) IN
@CODEVALUEID uniqueidentifier IN
@LOCATIONCOUNTRYID uniqueidentifier IN
@LOCATIONSTATEID uniqueidentifier IN
@LOCATIONPOSTCODE nvarchar(12) IN
@LOCATIONCITY nvarchar(50) IN
@LOCATIONADDRESSBLOCK nvarchar(150) IN
@VENDORID uniqueidentifier IN
@IMPRESSIONS int IN
@IMPRESSIONCALCULATIONMETHODCODE tinyint IN
@GROUPS xml IN
@ALLOWCODEUPDATE bit IN

Definition

Copy


create procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTMARKETINGLOCATION_1]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,    
  @QUERYVIEWCATALOGID uniqueidentifier,
  @NAME nvarchar(100),
  @DESCRIPTION nvarchar(255),
  @SEGMENTCATEGORYCODEID uniqueidentifier,
  @CODE nvarchar(10),
  @CODEVALUEID uniqueidentifier,
  @LOCATIONCOUNTRYID uniqueidentifier,
  @LOCATIONSTATEID uniqueidentifier,
  @LOCATIONPOSTCODE nvarchar(12),
  @LOCATIONCITY nvarchar(50),
  @LOCATIONADDRESSBLOCK nvarchar(150),
  @VENDORID uniqueidentifier,
  @IMPRESSIONS integer,
  @IMPRESSIONCALCULATIONMETHODCODE tinyint,
  @GROUPS xml,
  @ALLOWCODEUPDATE bit
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

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

    -- save the segment

    exec dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENT_2] @ID, @CHANGEAGENTID, @NAME, @DESCRIPTION, @SEGMENTCATEGORYCODEID, @CODE, @QUERYVIEWCATALOGID, null, null, @ALLOWCODEUPDATE, @CODEVALUEID;

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

    update dbo.[MKTSEGMENTPASSIVE] set
      [VENDORID] = @VENDORID,
      [LOCATIONCOUNTRYID] = @LOCATIONCOUNTRYID,
      [LOCATIONSTATEID] = @LOCATIONSTATEID,
      [LOCATIONPOSTCODE] = @LOCATIONPOSTCODE,
      [LOCATIONCITY] = @LOCATIONCITY,
      [LOCATIONADDRESSBLOCK] = @LOCATIONADDRESSBLOCK,
      [IMPRESSIONS] = @IMPRESSIONS,
      [IMPRESSIONCALCULATIONMETHODCODE] = @IMPRESSIONCALCULATIONMETHODCODE,
      [CHANGEDBYID] = @CHANGEAGENTID,
      [DATECHANGED] = @CURRENTDATE
    where [ID] = @ID;

    delete from dbo.[MKTGROUPSEGMENTS] where [SEGMENTID] = @ID;

    insert into dbo.[MKTGROUPSEGMENTS]
    (
      [ID],
      [SEGMENTID],
      [SEGMENTGROUPID],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    )
    select
      newid(),
      @ID,
      T.c.value('(SEGMENTGROUPID)[1]', 'uniqueidentifier'),
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    from @GROUPS.nodes('/GROUPS/ITEM') T(c)
    where T.c.value('(SEGMENTGROUPSELECTED)[1]', 'bit') = 1;
  end try

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

  return 0;