USP_DATAFORMTEMPLATE_EDIT_BATCHINTERACTIONBATCHROW_2
The save procedure used by the edit dataform template "Interaction Batch Row 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. |
@SEQUENCE | int | IN | Sequence |
@INTERACTIONID | uniqueidentifier | IN | Interaction |
@CONSTITUENTID | uniqueidentifier | IN | Constituent lookup ID |
@CONSTITUENTNAME | nvarchar(250) | IN | Constituent name |
@CUSTOMIDENTIFIER | nvarchar(100) | IN | Interaction lookup ID |
@INTERACTIONTYPECODEID | uniqueidentifier | IN | Contact method |
@OBJECTIVE | nvarchar(100) | IN | Summary |
@FUNDRAISERID | uniqueidentifier | IN | Owner |
@EXPECTEDDATE | datetime | IN | Expected date |
@ACTUALDATE | datetime | IN | Actual date |
@STATUSCODE | tinyint | IN | Status |
@COMMENT | nvarchar(max) | IN | Comment |
@EVENTID | uniqueidentifier | IN | Event |
@PARTICIPANTS | xml | IN | Participants |
@INTERACTIONCATEGORYID | uniqueidentifier | IN | Category |
@INTERACTIONSUBCATEGORYID | uniqueidentifier | IN | Subcategory |
@SITES | xml | IN | Sites |
@EXPECTEDSTARTTIME | UDT_HOURMINUTE | IN | Expected start time |
@EXPECTEDENDTIME | UDT_HOURMINUTE | IN | Expected end time |
@TIMEZONEENTRYID | uniqueidentifier | IN | Time zone |
@ACTUALSTARTTIME | UDT_HOURMINUTE | IN | Actual start time |
@ACTUALENDTIME | UDT_HOURMINUTE | IN | Actual end time |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_BATCHINTERACTIONBATCHROW_2(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@SEQUENCE int,
@INTERACTIONID uniqueidentifier,
@CONSTITUENTID uniqueidentifier,
@CONSTITUENTNAME nvarchar(250),
@CUSTOMIDENTIFIER nvarchar(100),
@INTERACTIONTYPECODEID uniqueidentifier,
@OBJECTIVE nvarchar(100),
@FUNDRAISERID uniqueidentifier,
@EXPECTEDDATE datetime,
@ACTUALDATE datetime,
@STATUSCODE tinyint,
@COMMENT nvarchar(max),
@EVENTID uniqueidentifier,
@PARTICIPANTS xml,
@INTERACTIONCATEGORYID uniqueidentifier,
@INTERACTIONSUBCATEGORYID uniqueidentifier,
@SITES xml,
@EXPECTEDSTARTTIME dbo.UDT_HOURMINUTE,
@EXPECTEDENDTIME dbo.UDT_HOURMINUTE,
@TIMEZONEENTRYID uniqueidentifier,
@ACTUALSTARTTIME dbo.UDT_HOURMINUTE,
@ACTUALENDTIME dbo.UDT_HOURMINUTE
) as
set nocount on;
declare @CURRENTDATE datetime;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
if @INTERACTIONID is null and @CUSTOMIDENTIFIER is not null
select
@INTERACTIONID = ID
from
dbo.INTERACTION
where
LOOKUPID = @CUSTOMIDENTIFIER
if @CONSTITUENTID is null and @INTERACTIONID is not null
select @CONSTITUENTID = CONSTITUENTID
from dbo.INTERACTION
where ID = @INTERACTIONID
if (nullif(@INTERACTIONCATEGORYID, '00000000-0000-0000-0000-000000000000') is not null)
begin
if (nullif(@INTERACTIONSUBCATEGORYID, '00000000-0000-0000-0000-000000000000') is null)
raiserror('ERR_INTERACTIONSUBCATEGORY_CANNOTBENULLIFCATEGORYISSET', 13, 1);
else if not exists(select top 1 1 from dbo.INTERACTIONSUBCATEGORY where ID = @INTERACTIONSUBCATEGORYID and INTERACTIONCATEGORYID = @INTERACTIONCATEGORYID)
raiserror('ERR_INTERACTIONSUBCATEGORY_INVALIDCATEGORY', 13, 1);
end
if (@STATUSCODE = 2 and @ACTUALDATE is null)
raiserror('ERR_ACTUALDATE_CANNOTBENULLIFCOMPLETED', 13, 1);
begin try
update dbo.BATCHINTERACTION
set [SEQUENCE] = @SEQUENCE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE,
[INTERACTIONID] = @INTERACTIONID,
[CONSTITUENTID] = @CONSTITUENTID,
[BATCHINTERACTIONLOOKUPID] = @CUSTOMIDENTIFIER,
[INTERACTIONTYPECODEID] = @INTERACTIONTYPECODEID,
[OBJECTIVE] = @OBJECTIVE,
[FUNDRAISERID] = @FUNDRAISERID,
[EXPECTEDDATE] = @EXPECTEDDATE,
[ACTUALDATE] = @ACTUALDATE,
[STATUSCODE] = @STATUSCODE,
[COMMENT] = @COMMENT,
[EVENTID] = @EVENTID,
[INTERACTIONCATEGORYID] = @INTERACTIONCATEGORYID,
[INTERACTIONSUBCATEGORYID] = @INTERACTIONSUBCATEGORYID,
[EXPECTEDSTARTTIME] = @EXPECTEDSTARTTIME,
[EXPECTEDENDTIME] = @EXPECTEDENDTIME,
[TIMEZONEENTRYID] = @TIMEZONEENTRYID,
[ACTUALSTARTTIME] = @ACTUALSTARTTIME,
[ACTUALENDTIME] = @ACTUALENDTIME
where
ID = @ID
exec dbo.USP_BATCHINTERACTION_GETPARTICIPANTS_UPDATEFROMXML @ID, @PARTICIPANTS, @CHANGEAGENTID
exec dbo.USP_BATCHINTERACTION_GETSITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID
end try
begin catch
exec.dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;