USP_DATAFORMTEMPLATE_EDIT_RESERVATIONRATESCALEAPPLICATION

The save procedure used by the edit dataform template "Reservation Rate Scale Application 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.
@AMOUNT money IN Amount

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RESERVATIONRATESCALEAPPLICATION
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @AMOUNT money
                )
                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
                        inner join dbo.RESERVATIONRATESCALE on RESERVATIONRATESCALE.ID = SALESORDER.ID
                        inner join dbo.RESERVATIONRATESCALEAPPLICATION on RESERVATIONRATESCALEAPPLICATION.RESERVATIONRATESCALEID = RESERVATIONRATESCALE.ID
                        where RESERVATIONRATESCALEAPPLICATION.ID = @ID

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

                        update dbo.RESERVATIONRATESCALEAPPLICATION set
                            AMOUNT = @AMOUNT,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where ID = @ID

                        declare @RESERVATIONRATESCALEID uniqueidentifier
                        select 
                            @RESERVATIONRATESCALEID = RESERVATIONRATESCALEID 
                        from dbo.RESERVATIONRATESCALEAPPLICATION 
                        where ID = @ID

                        exec dbo.USP_RESERVATION_DISTRIBUTEAPPLICATIONS @RESERVATIONRATESCALEID, @CHANGEAGENTID;

                        exec dbo.USP_RESERVATION_DISTRIBUTEFEEAPPLICATIONS @RESERVATIONRATESCALEID, @CHANGEAGENTID, @CURRENTDATE;
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                return 0;