USP_DATAFORMTEMPLATE_EDIT_BENEFIT_4

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@BENEFITCATEGORYCODEID uniqueidentifier IN
@VALUE money IN
@SENDBENEFITCODE tinyint IN
@USEPERCENT bit IN
@VALUEPERCENT numeric(20, 2) IN
@SITES xml IN
@CURRENTAPPUSERID uniqueidentifier IN
@BENEFITVENDORID uniqueidentifier IN
@FULFILLMENTVENDORID uniqueidentifier IN
@BENEFITDESC nvarchar(100) IN
@COST money IN

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_BENEFIT_4
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,                
                        @NAME nvarchar(100),
                        @DESCRIPTION nvarchar(255),
                        @BENEFITCATEGORYCODEID uniqueidentifier,
                        @VALUE money,
                        @SENDBENEFITCODE tinyint,
                        @USEPERCENT bit,
                        @VALUEPERCENT numeric(20, 2),
                        @SITES xml,
                        @CURRENTAPPUSERID uniqueidentifier,
            @BENEFITVENDORID uniqueidentifier,
            @FULFILLMENTVENDORID uniqueidentifier,
            @BENEFITDESC nvarchar(100),
            @COST money
                    )
                as                
                begin                
                    set nocount on;

                    if @SITES is null
                        begin 
                            if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1 
                            begin
                                raiserror('ERR_BENEFITSITE_SITEID',13,1);
                                return 1;
                            end
                        end

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

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

                        exec dbo.USP_BENEFIT_VALIDATEUSEPERCENT @ID, @USEPERCENT;

                        declare @BASECURRENCYID uniqueidentifier;

                        --If the benefit is a percent benefit, don't save the base currency

                        if @USEPERCENT = 0
                            select 
                                @BASECURRENCYID = coalesce(BASECURRENCYID, dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID))
                            from 
                                dbo.BENEFIT
                            where 
                                ID = @ID;

                        update 
                            dbo.BENEFIT
                        set 
                            NAME= @NAME,
                            DESCRIPTION = @DESCRIPTION,
                            BENEFITCATEGORYCODEID = @BENEFITCATEGORYCODEID,
                            VALUE = @VALUE,
                            SENDBENEFITCODE = @SENDBENEFITCODE,
                            BASECURRENCYID = @BASECURRENCYID,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE,
                            USEPERCENT = @USEPERCENT,
                            VALUEPERCENT = @VALUEPERCENT,
              BENEFITVENDORID = @BENEFITVENDORID,
              FULFILLMENTVENDORID = @FULFILLMENTVENDORID,
              BENEFITDESC = @BENEFITDESC,
              COST = @COST
                        where 
                            ID = @ID    

                        exec dbo.USP_BENEFITSITE_GETSITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID;
                    end try

                    begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                    end catch

                    return 0
                end