USP_DATAFORMTEMPLATE_ADD_MKTMARKETINGPLANITEMTASKWITHCONTEXT

The save procedure used by the add dataform template "Marketing Plan Item Task From Tab Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@MARKETINGPLANITEMID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@SUBJECT nvarchar(100) IN Subject
@NOTES nvarchar(max) IN Notes
@OWNER nvarchar(100) IN Owner
@DUEDATE UDT_FUZZYDATE IN Due date
@DATECOMPLETED datetime IN Completed
@MARKETINGPLANTASKSTATUSCODE tinyint IN Status
@OWNERID uniqueidentifier IN Owner
@MARKETINGPLANITEMIDFORTASK uniqueidentifier IN Marketing plan item ID
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTMARKETINGPLANITEMTASKWITHCONTEXT]
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,    
  @MARKETINGPLANITEMID uniqueidentifier,
  @SUBJECT nvarchar(100) = '',
  @NOTES nvarchar(max) = '',
  @OWNER nvarchar(100) = '',
  @DUEDATE dbo.[UDT_FUZZYDATE] = null,
  @DATECOMPLETED datetime = null,
  @MARKETINGPLANTASKSTATUSCODE tinyint = 0,
  @OWNERID uniqueidentifier = null,
  @MARKETINGPLANITEMIDFORTASK uniqueidentifier = null,
  @CURRENTAPPUSERID uniqueidentifier = null
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

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

  set @CURRENTDATE = getdate();

  begin try
    -- create the plan item

    insert into dbo.[MKTMARKETINGPLANITEMTASK] (
      [ID],
      [MARKETINGPLANITEMID],
      [SUBJECT],
      [NOTES],
      [OWNER],
      [OWNERID],
      [MARKETINGPLANTASKSTATUSCODE],
      [DUEDATE],
      [DATECOMPLETED],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    ) values (
      @ID,
      coalesce(@MARKETINGPLANITEMIDFORTASK, @MARKETINGPLANITEMID), -- coalesce for backwards compatibility

      @SUBJECT,
      @NOTES,
      @OWNER,
      @OWNERID,
      @MARKETINGPLANTASKSTATUSCODE,
      @DUEDATE,
      @DATECOMPLETED,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    if exists(select object_id from sys.objects where type = 'U' and name = 'ALERTTYPE')
      if (@OWNERID is not null)
        begin
          declare @OWNERAPPUSERID uniqueidentifier;

          select @OWNERAPPUSERID = [ID] from dbo.[APPUSER] where [CONSTITUENTID] = @OWNERID;

          if @OWNERAPPUSERID is not null
            exec dbo.[USP_ALERTTYPE_SENDTOAPPUSER] 'C3C45931-0140-427B-948C-15AF7B39D20E', @OWNERAPPUSERID, @ID, @MARKETINGPLANITEMID;
        end
  end try

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

  return 0;