USP_DATAFORMTEMPLATE_EDIT_MKTLETTERCODE_2

The save procedure used by the edit dataform template "Letter Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@WORDFILE varbinary IN File
@WORDTEMPLATEFILENAME nvarchar(255) IN Word template
@DISPLAYEDFILENAME nvarchar(255) IN Word template
@MKTEXPORTDEFINITIONID uniqueidentifier IN Export definition (obsolete)
@FILECHANGED bit IN File changed?
@INCLUDESRECEIPT bit IN Letter includes receipt
@EXPORTDEFINITIONID uniqueidentifier IN Export definition
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITES xml IN Sites

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTLETTERCODE_2]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @NAME nvarchar(100),
  @DESCRIPTION nvarchar(255),
  @WORDFILE varbinary(max),
  @WORDTEMPLATEFILENAME nvarchar(255),
  @DISPLAYEDFILENAME nvarchar(255),
  @MKTEXPORTDEFINITIONID uniqueidentifier, -- obsolete

  @FILECHANGED bit,
  @INCLUDESRECEIPT bit,
  @EXPORTDEFINITIONID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @SITES xml
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

  begin try

    if @SITES is null and @CURRENTAPPUSERID is not null and dbo.[UFN_SITEREQUIREDFORUSERONFEATURE](@CURRENTAPPUSERID, '38CB0B7B-6679-4B9A-BD30-A50CF1217ED6', 1) = 1 
      begin
        raiserror('BBERR_LETTERCODESITE_SITEID', 13, 1);
        return 1;
      end

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

    set @CURRENTDATE = getdate();

    if @FILECHANGED = 1
      update dbo.[LETTERCODE] set
        [NAME] = @NAME,
        [DESCRIPTION] = @DESCRIPTION,
        [WORDTEMPLATEFILENAME] = @WORDTEMPLATEFILENAME,
        [WORDFILE] = @WORDFILE,
        [EXPORTDEFINITIONID] = @EXPORTDEFINITIONID,
        [INCLUDESRECEIPT] = @INCLUDESRECEIPT,
        [CHANGEDBYID] = @CHANGEAGENTID,
        [DATECHANGED] = @CURRENTDATE
      where [ID] = @ID;
    else
      update dbo.[LETTERCODE] set
        [NAME] = @NAME,
        [DESCRIPTION] = @DESCRIPTION,
        [EXPORTDEFINITIONID] = @EXPORTDEFINITIONID,
        [INCLUDESRECEIPT] = @INCLUDESRECEIPT,
        [CHANGEDBYID] = @CHANGEAGENTID,
        [DATECHANGED] = @CURRENTDATE
      where [ID] = @ID;

    exec dbo.[USP_LETTERCODE_GETSITES_UPDATEFROMXML] @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
  end try

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

  return 0;