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;