USP_DATAFORMTEMPLATE_EDIT_RESERVATIONRATESCALE
The save procedure used by the edit dataform template "Reservation Rate Scale 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. | 
| @RATESCALEID | uniqueidentifier | IN | Flat rate scale | 
Definition
 Copy 
                                    
                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESERVATIONRATESCALE
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @RATESCALEID uniqueidentifier
                )
                as
                    set nocount on;
                    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
                        where SALESORDER.ID = @ID
                        if @STATUSCODE in (1, 5)
                            raiserror('BBERR_INVALIDSTATUS', 13, 1);                    
                        declare @OLDRATESCALEID uniqueidentifier = null
                        select
                            @OLDRATESCALEID = RATESCALEID
                        from dbo.RESERVATIONRATESCALE
                        where ID = @ID
                        if @OLDRATESCALEID <> @RATESCALEID
                        begin
                            exec dbo.USP_RESERVATION_UPDATERATESCALE @ID, @RATESCALEID, @CHANGEAGENTID, @CURRENTDATE;
                            exec dbo.USP_RESERVATION_UPDATEFLATRATE @ID, @CHANGEAGENTID, @CURRENTDATE;                
                        end                        
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch
                return 0;