USP_DATAFORMTEMPLATE_ADD_STEPLETTER

The save procedure used by the add dataform template "Step Letter Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@LETTERNAME nvarchar(100) IN Letter name
@INTERACTIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CONSTITUENTID uniqueidentifier IN
@ADDRESSEENAMEFORMATID uniqueidentifier IN Addressee
@ADDRESSID uniqueidentifier IN Address
@SALUTATIONNAMEFORMATID uniqueidentifier IN Salutation
@LETTERFILE varbinary IN Letter
@LETTERFILENAME nvarchar(255) IN Letter
@MAILDATE datetime IN Mail date
@LETTERTEMPLATEID uniqueidentifier IN Letter template
@UPLOADFILE bit IN

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_STEPLETTER
                (
                    @ID uniqueidentifier = null output,
                    @CURRENTAPPUSERID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,    
                    @LETTERNAME nvarchar(100) = null,
                    @INTERACTIONID uniqueidentifier,
                    @CONSTITUENTID uniqueidentifier = null,
                    @ADDRESSEENAMEFORMATID uniqueidentifier = null,
                    @ADDRESSID uniqueidentifier = null,
                    @SALUTATIONNAMEFORMATID uniqueidentifier = null,
                    @LETTERFILE varbinary(max) = null,
                    @LETTERFILENAME nvarchar(255) = null,
                    @MAILDATE datetime = null,
                    @LETTERTEMPLATEID uniqueidentifier = null,
                    @UPLOADFILE bit = null
                )
                as
                    set nocount on;

                    declare @CURRENTDATE datetime;
                    set @CURRENTDATE = getdate();

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

                    if @UPLOADFILE = 0
                    begin
                        -- If the file isn't mergeable then just copy the file from the template library

                        select @LETTERFILE = LETTERFILE,
                            @LETTERFILENAME = LETTERFILENAME
                        from dbo.LETTERTEMPLATE
                        where ID = @LETTERTEMPLATEID;

                        declare @EXTENSION nvarchar(255);
                        declare @SPLITON nvarchar(1);

                        set @EXTENSION = @LETTERFILENAME;
                        set @SPLITON = '.';

                        while(charindex(@SPLITON, @EXTENSION) > 0)
                        begin
                            set @EXTENSION = substring(@EXTENSION, charindex(@SPLITON, @EXTENSION) + 1, len(@EXTENSION));
                        end

                        set @LETTERFILENAME = @LETTERNAME + @SPLITON + @EXTENSION;
                    end

                    begin try
                        if @ID is null
                            set @ID = newID();

                        insert into dbo.INTERACTIONATTACHMENT
                        ( 
                            ID,
                            DATEENTERED,
                            TITLE,
                            [FILENAME],
                            [FILE],
                            INTERACTIONID,
                            ENTEREDBYAPPUSERID,
                            ADDEDBYID,
                            CHANGEDBYID,
                            DATEADDED,
                            DATECHANGED
                        )
                        values
                        (
                            @ID,
                            @MAILDATE,
                            @LETTERNAME,
                            @LETTERFILENAME,
                            @LETTERFILE,
                            @INTERACTIONID,
                            @CURRENTAPPUSERID,
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @CURRENTDATE,
                            @CURRENTDATE
                        );

                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch

                    return 0;