USP_MKTMEMBERSHIPMAILINGPROCESSSEGMENTATION_SAVE

Saves information relating a membership renewal effort process to a marketing effort.

Parameters

Parameter Parameter Type Mode Description
@MEMBERSHIPMAILINGPROCESSSTATUSID uniqueidentifier IN
@SEGMENTATIONID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.[USP_MKTMEMBERSHIPMAILINGPROCESSSEGMENTATION_SAVE]
(
  @MEMBERSHIPMAILINGPROCESSSTATUSID uniqueidentifier,
  @SEGMENTATIONID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  declare @SQL nvarchar(max);

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

    set @CURRENTDATE = getdate();

    if exists(select 1 from dbo.[MKTMEMBERSHIPMAILINGPROCESSSEGMENTATION] where [MEMBERSHIPMAILINGPROCESSSTATUSID] = @MEMBERSHIPMAILINGPROCESSSTATUSID)
      /* Update the existing row */
      update dbo.[MKTMEMBERSHIPMAILINGPROCESSSEGMENTATION] set
        [SEGMENTATIONID] = @SEGMENTATIONID,
        [CHANGEDBYID] = @CHANGEAGENTID,
        [DATECHANGED] = @CURRENTDATE
      where [MEMBERSHIPMAILINGPROCESSSTATUSID] = @MEMBERSHIPMAILINGPROCESSSTATUSID;
    else
      /* Insert a new row */
      insert into dbo.[MKTMEMBERSHIPMAILINGPROCESSSEGMENTATION] (
        [ID],
        [MEMBERSHIPMAILINGPROCESSSTATUSID],
        [SEGMENTATIONID],
        [ADDEDBYID],
        [CHANGEDBYID],
        [DATEADDED],
        [DATECHANGED]
      ) values (
        newid(),
        @MEMBERSHIPMAILINGPROCESSSTATUSID,
        @SEGMENTATIONID,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        @CURRENTDATE,
        @CURRENTDATE
      );
  end try

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

  return 0;