USP_EXCHANGECALENDARITEMBATCH_ADDBATCHROW

Adds a new batch row to the exchange calendar item batch table.

Parameters

Parameter Parameter Type Mode Description
@BATCHID uniqueidentifier IN
@INTERACTIONID uniqueidentifier IN
@CONSTITUENTID uniqueidentifier IN
@OWNERID uniqueidentifier IN
@EXPECTEDDATE datetime IN
@OBJECTIVE nvarchar(256) IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


            CREATE procedure [dbo].[USP_EXCHANGECALENDARITEMBATCH_ADDBATCHROW]
            (
                @BATCHID uniqueidentifier = null,
                @INTERACTIONID uniqueidentifier = null,
                @CONSTITUENTID uniqueidentifier = null,
                @OWNERID uniqueidentifier = null,
                @EXPECTEDDATE datetime = null,
                @OBJECTIVE nvarchar(256) = null,
                @CHANGEAGENTID uniqueidentifier = null
            )
            as        
                declare @CHANGEDATE datetime;
                set @CHANGEDATE = getdate();

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

                declare @ID uniqueidentifier;
                set @ID = newid();

                declare @SEQUENCE int
                set @SEQUENCE = coalesce((select max(SEQUENCE) from dbo.EXCHANGECALENDARITEMBATCH where BATCHID = @BATCHID),0) + 1;

                update 
                    dbo.EXCHANGECALENDARITEMBATCH
                set
                    PROCESS = 0
                where
                    EXCHANGECALENDARITEMBATCH.INTERACTIONID = @INTERACTIONID and
                    EXCHANGECALENDARITEMBATCH.OWNERID = @OWNERID and
                    EXCHANGECALENDARITEMBATCH.BATCHID = @BATCHID;

                insert into dbo.EXCHANGECALENDARITEMBATCH
                    (ID, BATCHID, INTERACTIONID, CONSTITUENTID, OWNERID, SEQUENCE, EXPECTEDDATE, OBJECTIVE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                values
                    (@ID, @BATCHID, @INTERACTIONID, @CONSTITUENTID, @OWNERID, @SEQUENCE, @EXPECTEDDATE, case when len(@OBJECTIVE) > 0 then replace(@OBJECTIVE, dbo.ufn_constituent_buildname(@CONSTITUENTID) + ': ', '') else '<no subject>' end, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE)