USP_MKTPOSTALTEMPLATE_SAVE

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@VALIDATEADDRESSES bit IN
@PRESORTOPTIONSFILENAME nvarchar(255) IN
@PRESORTOPTIONS nvarchar(max) IN

Definition

Copy


create procedure dbo.[USP_MKTPOSTALTEMPLATE_SAVE]
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,
  @NAME nvarchar(100),
  @VALIDATEADDRESSES bit = 0,
  @PRESORTOPTIONSFILENAME nvarchar(255) = null,
  @PRESORTOPTIONS nvarchar(max) = null
)
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;

    set @CURRENTDATE = getdate();

    if exists (select top 1 1 from dbo.[MKTPOSTALTEMPLATE] where [ID] = @ID)
      update dbo.[MKTPOSTALTEMPLATE] set
        [NAME] = @NAME,
        [VALIDATEADDRESSES] = @VALIDATEADDRESSES,
        [PRESORTOPTIONSFILENAME] = isnull(@PRESORTOPTIONSFILENAME, [PRESORTOPTIONSFILENAME]),
        [PRESORTOPTIONS] = isnull(@PRESORTOPTIONS, [PRESORTOPTIONS]),
        [CHANGEDBYID] = @CHANGEAGENTID,
        [DATECHANGED] = @CURRENTDATE
      where [ID] = @ID;
    else
      insert into dbo.[MKTPOSTALTEMPLATE] (
        [ID],
        [NAME],
        [VALIDATEADDRESSES],
        [PRESORTOPTIONSFILENAME],
        [PRESORTOPTIONS],
        [ADDEDBYID],
        [CHANGEDBYID],
        [DATEADDED],
        [DATECHANGED]
      ) values (
        @ID,
        @NAME,
        @VALIDATEADDRESSES,
        @PRESORTOPTIONSFILENAME,
        @PRESORTOPTIONS,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        @CURRENTDATE,
        @CURRENTDATE
      );
  end try

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

  return 0;