USP_DATAFORMTEMPLATE_EDIT_INCENTIVELEVEL

The save procedure used by the edit dataform template "FAFIncentiveLevel 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.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(1000) IN Description
@TYPECODE tinyint IN Type
@MAXIMUMAMOUNT money IN Minimum to qualify for incentive
@MAXIMUMRETENTION decimal(6, 2) IN Minimum to qualify for incentive
@MAXIMUMNUMBER int IN Minimum to qualify for incentive
@BENEFITS xml IN Benefits

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_INCENTIVELEVEL (
     @ID uniqueidentifier,
     @CHANGEAGENTID uniqueidentifier = null,
     @NAME nvarchar(100),    
   @DESCRIPTION nvarchar(1000),  
   @TYPECODE tinyint,
     @MAXIMUMAMOUNT money ,     
   @MAXIMUMRETENTION decimal(6,2),
   @MAXIMUMNUMBER int ,
   @BENEFITS xml 
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

  IF @TYPECODE = 1 AND @MAXIMUMAMOUNT <= 0
BEGIN
  raiserror('MAXIMUMAMOUNTNOTVALID',13,2);
  return 1
END

IF @TYPECODE IN (2,4,5) AND @MAXIMUMNUMBER <= 0
BEGIN
  raiserror('MAXIMUMNUMBERNOTVALID',13,2);
  return 1
END

IF @TYPECODE = 3 AND (@MAXIMUMRETENTION/100 <= 0 OR @MAXIMUMRETENTION/100 > 1)
BEGIN
  raiserror('MAXIMUMRETENTIONNOTVALID',13,2);
  return 1
END

    begin try
        -- handle updating the data
        update dbo.FAFINCENTIVELEVEL set
            NAME = @NAME,
            DESCRIPTION = @DESCRIPTION,            
      MAXIMUMAMOUNT =  @MAXIMUMAMOUNT ,     
      MAXIMUMRETENTION = @MAXIMUMRETENTION/100,
      MAXIMUMNUMBER = @MAXIMUMNUMBER ,  
      TYPECODE =  @TYPECODE ,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
          where ID = @ID

    exec dbo.USP_REGISTRATIONSPONSORSHIP_GETBENEFITS_ADDFROMXML @ID, 'incentivelevel', @BENEFITS, @CHANGEAGENTID, @CURRENTDATE;

    declare @EVENTID as uniqueidentifier
    select @EVENTID = EVENTID from dbo.FAFINCENTIVELEVEL (nolock) where ID = @ID
    exec dbo.USP_FAFDATACACHE_CLEAR @EVENTID=@EVENTID

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

return 0;