USP_DATAFORMTEMPLATE_ADD_DOCUMENT

The save procedure used by the add dataform template "Document Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@REPORTCATALOGID uniqueidentifier IN Report
@TYPECODE tinyint IN Type
@PRINTERLISTID uniqueidentifier IN Printer list
@SVGFILENAME nvarchar(255) IN
@SVGFILE varbinary IN

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DOCUMENT
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(100) = null,
                        @DESCRIPTION nvarchar(255) = null,
                        @REPORTCATALOGID uniqueidentifier = null,
                        @TYPECODE tinyint = null,
                        @PRINTERLISTID uniqueidentifier = null,
                        @SVGFILENAME nvarchar(255) = null,
                        @SVGFILE varbinary(max) = null
                    )
                    as

                    set nocount on;

                    if @ID is null
                        set @ID = newid()

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    declare @SEQUENCE as integer
                    select @SEQUENCE = count(ID) + 1
                    from dbo.DOCUMENT
                    where TYPECODE = @TYPECODE

                    begin try
                            if @TYPECODE is null
                                raiserror('ERR_TYPECODE_MISSING', 13, 1);

                            if @TYPECODE = 0 and (@SVGFILENAME = '' or @SVGFILE is null)
                                raiserror('ERR_SVGFILE_MISSING', 13, 1);

                            if @TYPECODE <> 0 and @REPORTCATALOGID is null
                                raiserror('ERR_REPORTFILE_MISSING', 13, 1);

                        -- handle inserting the data
                        insert into dbo.DOCUMENT (
                            ID,
                            NAME,
                            DESCRIPTION,
                            REPORTCATALOGID,
                            TYPECODE,
                            PRINTERLISTID,
                            SEQUENCE,
                            ISACTIVE,
                            PRINTFORGROUPSALES,
                            ADDEDBYID,
                            CHANGEDBYID,
                            DATEADDED,
                            DATECHANGED
                        )
                        values (
                            @ID,
                            @NAME,
                            @DESCRIPTION,
                            @REPORTCATALOGID,
                            @TYPECODE,
                            @PRINTERLISTID,
                            @SEQUENCE,
                            1,
                            case @TYPECODE
                                when 6 then
                                    1
                                else
                                    0
                            end,
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @CURRENTDATE,
                            @CURRENTDATE
                        )

                        if @TYPECODE = 0
                        begin
                            insert into dbo.DOCUMENTSVGTEMPLATE (
                                ID,
                                FILENAME,
                                TEMPLATE,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED
                            )
                            values (
                                @ID,
                                @SVGFILENAME,
                                convert(nvarchar(max), convert(varchar(max), @SVGFILE, 0)),
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE
                            )
                        end

                    end try

                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                    return 0