USP_DATAFORMTEMPLATE_ADD_MKTMARKETINGPLAN

The save procedure used by the add dataform template "Marketing Plan Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@SITEID uniqueidentifier IN Site
@CODE nvarchar(10) IN Code
@STARTDATE UDT_FUZZYDATE IN Start date
@ENDDATE UDT_FUZZYDATE IN End date
@GOALS nvarchar(max) IN Goals
@ITEMLIST xml IN Items

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTMARKETINGPLAN]
(
  @ID uniqueidentifier = null output,
  @CURRENTAPPUSERID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @NAME nvarchar(100) = '',
  @SITEID uniqueidentifier = null,
  @CODE nvarchar(10) = '',
  @STARTDATE dbo.[UDT_FUZZYDATE] = null,
  @ENDDATE dbo.[UDT_FUZZYDATE] = null,
  @GOALS nvarchar(max) = '',
  @ITEMLIST xml = null
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  declare @ITEMID uniqueidentifier;
  declare @BASECURRENCYID uniqueidentifier;

  if @ID is null set @ID = newid();

  if @ITEMID is null set @ITEMID = newid();

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

  set @CURRENTDATE = getdate();

  set @BASECURRENCYID = dbo.[UFN_APPUSER_GETBASECURRENCY](@CURRENTAPPUSERID);

  begin try
    -- create the parent record

    insert into dbo.[MKTMARKETINGPLAN] (
      [ID],
      [SITEID],
      [BASECURRENCYID],
      [ISACTIVE],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    )
    values (
      @ID,
      @SITEID,
      @BASECURRENCYID,
      1,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    -- create the top level plan item

    insert into dbo.[MKTMARKETINGPLANITEM] (
      [ID],
      [MARKETINGPLANID],
      [PARENTMARKETINGPLANITEMID],
      [LEVEL],
      [NAME],
      [CODE],
      [GOALS],
      [STARTDATE],
      [ENDDATE],
      [BASECURRENCYID],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    ) values (
      @ITEMID,
      @ID,
      null,
      0,
      @NAME,
      @CODE,
      @GOALS,
      @STARTDATE,
      @ENDDATE,
      @BASECURRENCYID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    -- save the template items

    if @ITEMLIST is not null
      exec dbo.[USP_MKTMARKETINGPLAN_GETTEMPLATEITEMLIST_ADDFROMXML] @ID, @ITEMLIST, @CHANGEAGENTID, @CURRENTDATE;
  end try

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

  return 0;