USP_DATAFORMTEMPLATE_EDIT_MKTMARKETINGPLANTEMPLATE

The save procedure used by the edit dataform template "Marketing Plan Template 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(50) IN Name
@ISDEFAULT bit IN Use this template as the default for new marketing plans
@ITEMLIST xml IN Items

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTMARKETINGPLANTEMPLATE]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier,
  @NAME nvarchar(50),
  @ISDEFAULT bit,
  @ITEMLIST xml
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  set @CURRENTDATE = GetDate();

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

  begin try
    -- get the current default template

    if @ISDEFAULT <> 0
    begin
      declare @DEFAULTID uniqueidentifier;
      select top 1 @defaultid=ID from dbo.[MKTMARKETINGPLANTEMPLATE] where [ISDEFAULT]<>0;

      if not @DEFAULTID is null
        if @DEFAULTID<>@ID
          update dbo.[MKTMARKETINGPLANTEMPLATE] set [ISDEFAULT]=0,[CHANGEDBYID]=@CHANGEAGENTID where [ID]=@DEFAULTID;
    end;

    update
      dbo.[MKTMARKETINGPLANTEMPLATE]
    set
      NAME= @NAME,
      ISDEFAULT = @ISDEFAULT,
      CHANGEDBYID = @CHANGEAGENTID,
      DATECHANGED = @CURRENTDATE
    where
      ID = @ID;

    if @ITEMLIST is not null
      exec dbo.USP_MKTMARKETINGPLANTEMPLATE_GETITEMLIST_UPDATEFROMXML @id, @ITEMLIST, @CHANGEAGENTID, @CURRENTDATE;
  end try

  begin catch
    exec dbo.USP_RAISE_ERROR
    return 1;
  end catch

  return 0;