USP_GENERALPURPOSEEMAIL_ADDTOQUEUE
Adds a general purpose email request to the queue.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@QUEUEID | uniqueidentifier | INOUT | |
@UNIQUEIDFIELDNAME | nvarchar(128) | IN | |
@EMAILADDRESSFIELDNAME | nvarchar(128) | IN | |
@EMAILDISPLAYNAMEFIELDNAME | nvarchar(128) | IN | |
@MERGETOKEN | nvarchar(3) | IN | |
@STATUSID | uniqueidentifier | INOUT | |
@MERGESQLVIEWID | uniqueidentifier | IN | |
@MERGEDATASET | xml | IN | |
@EMAILHEADER | xml | IN | |
@CONTENTTEXT | nvarchar(max) | IN | |
@CONTENTHTML | nvarchar(max) | IN | |
@THREADID | uniqueidentifier | IN | |
@SOURCEID | int | IN | |
@RETRYNUMBER | int | IN | |
@MAXRETRYNUMBER | int | IN | |
@PROCESSAFTERDATE | datetime | IN | |
@PRIORITY | int | IN | |
@CATEGORY | int | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CONSUMERSTARTDATE | datetime | IN | |
@CONSUMERENDDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_GENERALPURPOSEEMAIL_ADDTOQUEUE
(
@QUEUEID uniqueidentifier = null output,
@UNIQUEIDFIELDNAME nvarchar(128) = null,
@EMAILADDRESSFIELDNAME nvarchar(128) = null,
@EMAILDISPLAYNAMEFIELDNAME nvarchar(128) = null,
@MERGETOKEN nvarchar(3) = null,
@STATUSID uniqueidentifier = null output,
@MERGESQLVIEWID uniqueidentifier,
@MERGEDATASET xml,
@EMAILHEADER xml,
@CONTENTTEXT nvarchar(max),
@CONTENTHTML nvarchar(max),
@THREADID uniqueidentifier,
@SOURCEID integer,
@RETRYNUMBER int = 0,
@MAXRETRYNUMBER int = 3,
@PROCESSAFTERDATE datetime,
@PRIORITY int = 5,
@CATEGORY int,
@CHANGEAGENTID uniqueidentifier = null,
@CONSUMERSTARTDATE datetime,
@CONSUMERENDDATE datetime
)
as
set nocount on;
begin
if @QUEUEID is null
set @QUEUEID = newid();
if @STATUSID is null
set @STATUSID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin tran INSERTEMAILJOB
begin try
insert into dbo.EMAILQUEUEGENERALPURPOSE
(
ID,
MERGESQLVIEWID,
MERGEDATASET,
EMAILHEADER,
CONTENTTEXT,
CONTENTHTML,
THREADID,
SOURCE,
RETRYNUMBER,
MAXRETRYNUMBER,
PROCESSAFTERDATE,
CATEGORY,
DATEADDEDTOQUEUE,
EXTERNALJOBIDENTITY
)
values
(
@QUEUEID,
@MERGESQLVIEWID,
@MERGEDATASET,
@EMAILHEADER,
@CONTENTTEXT,
@CONTENTHTML,
@THREADID,
@SOURCEID,
@RETRYNUMBER,
@MAXRETRYNUMBER,
@PROCESSAFTERDATE,
@CATEGORY,
getdate(),
'00000000-0000-0000-0000-000000000000'
);
end try
begin catch
if @@trancount > 0
rollback tran INSERTEMAILJOB
exec dbo.USP_RAISE_ERROR
return 1
end catch
begin try
insert into dbo.EMAILSTATUSGENERALPURPOSE
(
ID,
EMAILQUEUEGENERALPURPOSEID,
STATUS,
EMAILHEADER,
RETRYNUMBER,
EXTERNALJOBIDENTITY,
UNIQUEIDFIELDNAME,
EMAILADDRESSFIELDNAME,
EMAILDISPLAYNAMEFIELDNAME,
MERGETOKEN,
PRIORITY,
ADDEDBYID,
CHANGEDBYID,
CONSUMERSTARTDATE,
CONSUMERENDDATE,
PROCESSAFTERDATE
)
values
(
@STATUSID,
@QUEUEID,
15,
@EMAILHEADER,
0,
'00000000-0000-0000-0000-000000000000',
@UNIQUEIDFIELDNAME,
@EMAILADDRESSFIELDNAME,
@EMAILDISPLAYNAMEFIELDNAME,
@MERGETOKEN,
@PRIORITY,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CONSUMERSTARTDATE,
@CONSUMERENDDATE,
@PROCESSAFTERDATE
);
end try
begin catch
if @@trancount > 0
rollback tran INSERTEMAILJOB
exec dbo.USP_RAISE_ERROR
return 2
end catch
if @@trancount > 0
commit tran INSERTEMAILJOB
return 0;
end