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;