USP_DATAFORMTEMPLATE_ADD_EXCHANGECALENDARITEMBATCHCOMMIT

The save procedure used by the add dataform template "Exchange Calendar Item Batch Row Commit 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.
@PROCESS bit IN Process
@RECORDTYPECODE int IN Record type
@INTERACTIONID uniqueidentifier IN Interaction ID
@STEWARDSHIPSTEPID uniqueidentifier IN Stewardship step ID
@CONSTITUENTID uniqueidentifier IN Constituent
@OWNERID uniqueidentifier IN User
@EXPECTEDDATE datetime IN Expected date
@OBJECTIVE nvarchar(256) IN Objective
@VALIDATEONLY bit IN Validate only
@EXPECTEDSTARTTIME UDT_HOURMINUTE IN Expected start time
@EXPECTEDENDTIME UDT_HOURMINUTE IN Expected end time
@TIMEZONEENTRYID uniqueidentifier IN Time zone

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_EXCHANGECALENDARITEMBATCHCOMMIT
(
  @ID uniqueidentifier output,
  @CHANGEAGENTID uniqueidentifier,
  @PROCESS bit = null,    
  @RECORDTYPECODE integer = null,
  @INTERACTIONID uniqueidentifier = null
  @STEWARDSHIPSTEPID uniqueidentifier = null,
  @CONSTITUENTID uniqueidentifier = null,
  @OWNERID uniqueidentifier = null,                
  @EXPECTEDDATE datetime = null,
  @OBJECTIVE nvarchar(256) = null
  @VALIDATEONLY bit = 0,
  @EXPECTEDSTARTTIME dbo.UDT_HOURMINUTE = null,
  @EXPECTEDENDTIME dbo.UDT_HOURMINUTE = null,
  @TIMEZONEENTRYID uniqueidentifier = null
)
as
  set nocount on;

  declare @CHANGEDATE datetime;
  set @CHANGEDATE = getdate();           

  --TommyVe 2012-03-07 Bug 192095, Bug 192102. The date and times from the batch row are now
  -- expressed in the time zone from batch row. Doing conversions here is unnecessary.

  set @EXPECTEDDATE = dbo.UFN_DATE_GETEARLIESTTIME(@EXPECTEDDATE);

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

  set @ID = coalesce(@INTERACTIONID, @STEWARDSHIPSTEPID);

  if @PROCESS <> 0
  begin
    begin try

      if @RECORDTYPECODE < 2
        UPDATE dbo.INTERACTION 
        SET
          EXPECTEDDATE = @EXPECTEDDATE,
          OBJECTIVE = @OBJECTIVE,
          CHANGEDBYID = @CHANGEAGENTID,
          DATECHANGED = @CHANGEDATE,
          EXPECTEDSTARTTIME = coalesce(@EXPECTEDSTARTTIME, ''),
          EXPECTEDENDTIME = coalesce(@EXPECTEDENDTIME, ''),
          TIMEZONEENTRYID = @TIMEZONEENTRYID,
          ISALLDAYEVENT = case when @EXPECTEDSTARTTIME is null or len(@EXPECTEDSTARTTIME) = 0 then 1 else 0 end
        WHERE
          ID = @INTERACTIONID;

      else if @RECORDTYPECODE = 2                            
        UPDATE dbo.STEWARDSHIPPLANSTEP
        SET
          TARGETDATE = @EXPECTEDDATE,
          OBJECTIVE = @OBJECTIVE,
          CHANGEDBYID = @CHANGEAGENTID,
          DATECHANGED = @CHANGEDATE,
          TARGETSTARTTIME = coalesce(@EXPECTEDSTARTTIME, ''),
          TARGETENDTIME = coalesce(@EXPECTEDENDTIME, ''),
          TIMEZONEENTRYID = @TIMEZONEENTRYID,
          ISALLDAYEVENT = case when @EXPECTEDSTARTTIME is null or len(@EXPECTEDSTARTTIME) = 0 then 1 else 0 end
        WHERE
          ID = @STEWARDSHIPSTEPID;                                    

    end try
    begin catch 
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch
  end
  return 0;