USP_DATAFORMTEMPLATE_EDIT_RESERVATIONSTATUS

The save procedure used by the edit dataform template "Reservation Status Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@STATUSCODE tinyint IN New status
@COMMENTS nvarchar(500) IN Comments

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESERVATIONSTATUS
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @STATUSCODE tinyint,
                        @COMMENTS nvarchar(500)
                    )
                    as
                        set nocount on;

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

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

                        declare @PREVIOUSSTATUSCODE tinyint;
                        select @PREVIOUSSTATUSCODE = STATUSCODE
                        from dbo.SALESORDER
                        where ID = @ID

                        if @PREVIOUSSTATUSCODE = 1
                            raiserror('BBERR_INVALIDSTATUS', 13, 1);

                        begin try
                            if @PREVIOUSSTATUSCODE <> @STATUSCODE
                            begin
                                update dbo.SALESORDER
                                set    STATUSCODE = @STATUSCODE,
                                    DATECHANGED = @CURRENTDATE,
                                    CHANGEDBYID = @CHANGEAGENTID
                                where ID = @ID;

                                exec dbo.[USP_RESERVATIONSTATUSHISTORY_ADD] @ID, @CHANGEAGENTID, @STATUSCODE, @COMMENTS
                            end
                        end try

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

                        return 0;