USP_MKTSEGMENTATIONSEGMENTCALCULATEPROCESS_CREATEORUPDATE

Creates or updates the process parameter set for the given segmentation id.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@SEGMENTATIONID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_MKTSEGMENTATIONSEGMENTCALCULATEPROCESS_CREATEORUPDATE
(
    @ID uniqueidentifier output,
    @SEGMENTATIONID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null
)
as
begin

      declare @CURRENTDATE datetime;


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

    set @CURRENTDATE = GetDate();

    if exists(select 1 from dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] where [SEGMENTATIONID] = @SEGMENTATIONID)
    begin
      update dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] set
        [CHANGEDBYID] = @CHANGEAGENTID,
        [DATECHANGED] = @CURRENTDATE
      where [SEGMENTATIONID] = @SEGMENTATIONID;

      select @ID = ID from dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] where [SEGMENTATIONID] = @SEGMENTATIONID;
    end      
    else
    begin
        set @ID = newid();
        insert into dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] (
            [ID],
            [SEGMENTATIONID],
            [ADDEDBYID],
            [CHANGEDBYID],
            [DATEADDED],
            [DATECHANGED]
        ) values (
            @ID,
            @SEGMENTATIONID,
            @CHANGEAGENTID,
            @CHANGEAGENTID,
            @CURRENTDATE,
            @CURRENTDATE
        );
      end
  end try

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

  return 0;

end