USP_DOCUMENT_RAISEPRIORITY

Executes the "Document Raise Priority Record Operation" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.

Definition

Copy


                    CREATE procedure dbo.USP_DOCUMENT_RAISEPRIORITY
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier
                    )
                    as
                    begin
                        set nocount on;

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

                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = getdate()

                        declare @SEQUENCEDECREASED integer
                        declare @DOCUMENTTYPE integer

                        select @SEQUENCEDECREASED = SEQUENCE - 1,
                        @DOCUMENTTYPE = TYPECODE
                        from dbo.DOCUMENT
                        where ID = @ID

                        if exists
                        (
                            select 1
                            from dbo.DOCUMENT
                            where TYPECODE = @DOCUMENTTYPE and @SEQUENCEDECREASED = SEQUENCE
                        )
                        begin
                            update 
                                dbo.DOCUMENT
                            set
                                SEQUENCE = @SEQUENCEDECREASED + 1,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where TYPECODE = @DOCUMENTTYPE and SEQUENCE = @SEQUENCEDECREASED

                            update
                                dbo.DOCUMENT
                            set 
                                SEQUENCE = @SEQUENCEDECREASED,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where ID = @ID
                        end

                        return 0;
                    end