spAddUpdate_EmailJob

Parameters

Parameter Parameter Type Mode Description
@PKID int INOUT
@UserID int IN
@EmailID int IN
@EmailTemplateID int IN
@ContentHTML ntext IN
@ContentTEXT ntext IN
@FromAddress nvarchar(255) IN
@FromDisplayName nvarchar(255) IN
@Subject nvarchar(4000) IN
@Priority int IN
@ReplyAddress nvarchar(255) IN
@ReturnReceipt bit IN
@ReturnReceiptAddress nvarchar(255) IN
@ForwardDSN bit IN
@ForwardDSNAddress nvarchar(255) IN
@XMLDatasetAddressees ntext IN
@XMLDatasetMergeData ntext IN
@Name nvarchar(50) IN
@WSSMTPJobIdentifier uniqueidentifier IN
@WSDateLastAccessed datetime IN
@NumberRequested int IN
@NumberAbsentAddress int IN
@NumberOptedOut int IN
@NumberInvalidAccount int IN
@SendAfterDate datetime IN
@ClientIP nchar IN
@ConditionalParentJobID int IN
@MERGEDATASETSCHEMA xml IN
@AlternateSubject nvarchar(255) IN
@MERGESUBJECTSETSCHEMA xml IN

Definition

Copy


      CREATE PROCEDURE [dbo].[spAddUpdate_EmailJob]
            (
            @PKID int output,
            @UserID    int,
            @EmailID int,
            @EmailTemplateID int,
            @ContentHTML ntext,
            @ContentTEXT ntext,
            @FromAddress nvarchar(255),
            @FromDisplayName nvarchar(255),
            @Subject nvarchar(4000),
            @Priority int,
            @ReplyAddress nvarchar(255),
            @ReturnReceipt bit,
            @ReturnReceiptAddress nvarchar(255),
            @ForwardDSN bit,
            @ForwardDSNAddress nvarchar(255),
            @XMLDatasetAddressees ntext,
            @XMLDatasetMergeData ntext,
            @Name nvarchar(50),
            @WSSMTPJobIdentifier uniqueidentifier,
            @WSDateLastAccessed datetime,
            @NumberRequested integer,
            @NumberAbsentAddress integer,
            @NumberOptedOut integer,
            @NumberInvalidAccount integer,
            @SendAfterDate datetime,
            @ClientIP nchar(39),
            @ConditionalParentJobID int,
            @MERGEDATASETSCHEMA xml,
              @AlternateSubject nvarchar(255) = null,
      @MERGESUBJECTSETSCHEMA xml = null
            )
            AS
            set nocount on

            DECLARE @GUID uniqueidentifier

            BEGIN TRANSACTION
            IF (@PKID<=0) BEGIN
                INSERT INTO EmailJob
                (
                EmailID,
                EmailTemplateID,
                ContentHTML,
                ContentTEXT,
                FromAddress,
                FromDisplayName,
                Subject,
                Priority,
                ReplyAddress,
                ReturnReceipt,
                ReturnReceiptAddress,
                ForwardDSN,
                ForwardDSNAddress,
                XMLDatasetAddressees,
                XMLDatasetMergeData,
                [Name],
                OwnerID,
                WSSMTPJobIdentifier,
                WSDateLastAccessed,
                NumberRequested,
                NumberAbsentAddress,
                NumberOptedOut,
                NumberInvalidAccount,
                SendAfterDate,
                ClientIP,
                ConditionalParentJobID,
                MERGEDATASETSCHEMA,
                [Status],
                 AlternateSubject,
        MERGESUBJECTSETSCHEMA
                )
                VALUES
                (
                @EmailID,
                @EmailTemplateID,
                @ContentHTML,
                @ContentTEXT,
                @FromAddress,
                @FromDisplayName,
                @Subject,
                @Priority,
                @ReplyAddress,
                @ReturnReceipt,
                @ReturnReceiptAddress,
                @ForwardDSN,
                @ForwardDSNAddress,
                @XMLDatasetAddressees,
                @XMLDatasetMergeData,
                @Name,
                @UserID,
                @WSSMTPJobIdentifier,
                @WSDateLastAccessed,
                @NumberRequested,
                @NumberAbsentAddress,
                @NumberOptedOut,
                @NumberInvalidAccount,
                @SendAfterDate,
                @ClientIP,
                @ConditionalParentJobID,
                @MERGEDATASETSCHEMA,
                0,
        @AlternateSubject,
        @MERGESUBJECTSETSCHEMA
                )
                SELECT @PKID = @@Identity
                SELECT @GUID = [GUID] from [EmailJob] WHERE [ID] = @PKID
                EXEC spAuditThis @UserID, 1, @GUID, 15

                --All of the conditional jobs should be current, not just the last one

                IF @ConditionalParentJobID Is Null
                BEGIN
                    UPDATE EmailJob
                    SET [Current] = 0
                    WHERE EmailID = @EmailID
                    AND ID <> @PKID
                    INSERT INTO EMailJobStatus(EmailID, EMailJobID, Status) VALUES(@EmailID, @PKID, 'Created')
                END
            END ELSE BEGIN
                UPDATE EmailJob SET
                EmailID = @EmailID,
                EmailTemplateID = @EmailTemplateID,
                ContentHTML = @ContentHTML,
                ContentTEXT = @ContentTEXT,
                FromAddress=@FromAddress,
                FromDisplayName=@FromDisplayName ,
                Subject=@Subject ,
                Priority=@Priority ,
                ReplyAddress=@ReplyAddress ,
                ReturnReceipt=@ReturnReceipt ,
                ReturnReceiptAddress=@ReturnReceiptAddress ,
                ForwardDSN=@ForwardDSN ,
                ForwardDSNAddress=@ForwardDSNAddress ,
                XMLDatasetAddressees = @XMLDatasetAddressees,
                XMLDatasetMergeData = @XMLDatasetMergeData,
                [Name] = @Name,
                OwnerID = @UserID,
                WSSMTPJobIdentifier = @WSSMTPJobIdentifier,
                WSDateLastAccessed = @WSDateLastAccessed,
                NumberRequested = @NumberRequested,
                NumberAbsentAddress = @NumberAbsentAddress,
                NumberOptedOut = @NumberOptedOut,
                SendAfterDate = @SendAfterDate,
                NumberInvalidAccount = @NumberInvalidAccount,
                ConditionalParentJobID = @ConditionalParentJobID,
                MERGEDATASETSCHEMA = @MERGEDATASETSCHEMA,
                AlternateSubject=@AlternateSubject,
                MERGESUBJECTSETSCHEMA=@MERGESUBJECTSETSCHEMA
                WHERE ID=@PKID
                SELECT @GUID = [GUID] from [EmailJob] WHERE [ID] = @PKID
                EXEC spAuditThis @UserID, 2, @GUID, 15
            END
            COMMIT TRANSACTION