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;