USP_DATAFORMTEMPLATE_ADD_BATCHINTERACTIONBATCHROW
The save procedure used by the add dataform template "Interaction Batch Row Add Form".
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
| @BATCHID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
| @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_ADD_BATCHINTERACTIONBATCHROW(
@ID uniqueidentifier = null output,
@BATCHID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@SEQUENCE int,
@INTERACTIONID uniqueidentifier = null,
@CONSTITUENTID uniqueidentifier = null,
@CONSTITUENTNAME nvarchar(250) = '',
@CUSTOMIDENTIFIER nvarchar(100) = '',
@INTERACTIONTYPECODEID uniqueidentifier = null,
@OBJECTIVE nvarchar(100),
@FUNDRAISERID uniqueidentifier = null,
@EXPECTEDDATE datetime = null,
@ACTUALDATE datetime = null,
@STATUSCODE tinyint = null,
@COMMENT nvarchar(max) = '',
@EVENTID uniqueidentifier = null,
@PARTICIPANTS xml = null,
@INTERACTIONCATEGORYID uniqueidentifier = null,
@INTERACTIONSUBCATEGORYID uniqueidentifier = null,
@SITES xml = null,
@EXPECTEDSTARTTIME dbo.UDT_HOURMINUTE = null,
@EXPECTEDENDTIME dbo.UDT_HOURMINUTE = null,
@TIMEZONEENTRYID uniqueidentifier = null,
@ACTUALSTARTTIME dbo.UDT_HOURMINUTE = null,
@ACTUALENDTIME dbo.UDT_HOURMINUTE = 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();
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
insert into dbo.BATCHINTERACTION(
[ID],
[BATCHID],
[SEQUENCE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[INTERACTIONID],
[CONSTITUENTID],
[BATCHINTERACTIONLOOKUPID],
[INTERACTIONTYPECODEID],
[OBJECTIVE],
[FUNDRAISERID],
[EXPECTEDDATE],
[ACTUALDATE],
[STATUSCODE],
[COMMENT],
[EVENTID],
[INTERACTIONCATEGORYID],
[INTERACTIONSUBCATEGORYID],
[EXPECTEDSTARTTIME],
[EXPECTEDENDTIME],
[TIMEZONEENTRYID],
[ACTUALSTARTTIME],
[ACTUALENDTIME]
) values (
@ID,
@BATCHID,
@SEQUENCE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@INTERACTIONID,
@CONSTITUENTID,
@CUSTOMIDENTIFIER,
@INTERACTIONTYPECODEID,
@OBJECTIVE,
@FUNDRAISERID,
@EXPECTEDDATE,
@ACTUALDATE,
@STATUSCODE,
@COMMENT,
@EVENTID,
@INTERACTIONCATEGORYID,
@INTERACTIONSUBCATEGORYID,
coalesce(@EXPECTEDSTARTTIME, ''),
coalesce(@EXPECTEDENDTIME, ''),
@TIMEZONEENTRYID,
coalesce(@ACTUALSTARTTIME, ''),
coalesce(@ACTUALENDTIME, '')
);
exec dbo.USP_BATCHINTERACTION_GETPARTICIPANTS_ADDFROMXML @ID, @PARTICIPANTS, @CHANGEAGENTID
exec dbo.USP_BATCHINTERACTION_GETSITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID
end try
begin catch
exec.dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;