USP_RESERVATION_CANCEL_UPDATE

Executes the "Reservation: Cancel" 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_RESERVATION_CANCEL_UPDATE
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier
                    ) 
                    as begin

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

                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = getdate()
                        begin try
                            declare @STATUSCODE tinyint;

                            select @STATUSCODE = SALESORDER.STATUSCODE
                            from dbo.SALESORDER
                            inner join dbo.RESERVATION on SALESORDER.ID = RESERVATION.ID
                            where RESERVATION.ID = @ID

                            if @STATUSCODE in (1, 5)
                                raiserror('BBERR_INVALIDSTATUS', 13, 1);

                            update dbo.SALESORDER set
                                STATUSCODE = 5,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE    
                            where ID = @ID;

                            exec dbo.[USP_RESERVATION_CANCELRESOURCES] @ID, @CHANGEAGENTID, @CURRENTDATE;

                            exec dbo.[USP_RESERVATIONSTATUSHISTORY_ADD] @ID, @CHANGEAGENTID, 5
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                        return 0;

                    end