USP_DATAFORMTEMPLATE_EDIT_RATESCALE_APPLICATIONS

The save procedure used by the edit dataform template "Rate Scale Applications 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.
@APPLICATIONS xml IN Applications

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RATESCALE_APPLICATIONS 
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @APPLICATIONS xml
                )
                as

                    set nocount on;

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    begin try
                        declare @MAXPERCENT decimal(5,2) = 0.0
                        select
                            @MAXPERCENT = isnull(sum(T.c.value('(PERCENT)[1]','decimal(5,2)')),0)
                        from
                            @APPLICATIONS.nodes('/APPLICATIONS/ITEM') T(c)

                        if @MAXPERCENT <> 100.0
                        begin
                            raiserror('BBERR_TOTALPERCENT', 13, 1);
                            return 1;
                        end

                        exec dbo.USP_RATESCALE_GETRATESCALEAPPLICATIONS_UPDATEFROMXML @ID, @APPLICATIONS, @CHANGEAGENTID, @CURRENTDATE;

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

                return 0;