USP_DATAFORMTEMPLATE_ADD_INCENTIVE_LEVEL
The save procedure used by the add dataform template "FAFIncentiveLevel Add Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@EVENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@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_ADD_INCENTIVE_LEVEL
(
@ID uniqueidentifier = null output,
@EVENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(1000) = null,
@TYPECODE tinyint = 1,
@MAXIMUMAMOUNT money = 0,
@MAXIMUMRETENTION decimal(6,2)= 0,
@MAXIMUMNUMBER int = 0,
@BENEFITS xml = null
)
as
set nocount on;
if @ID is null
set @ID = newid()
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 inserting the data
insert into dbo.FAFINCENTIVELEVEL
(ID, EVENTID, NAME, DESCRIPTION, TYPECODE, MAXIMUMAMOUNT, MAXIMUMRETENTION, MAXIMUMNUMBER, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED )
values
(@ID, @EVENTID, @NAME, @DESCRIPTION, @TYPECODE, @MAXIMUMAMOUNT, @MAXIMUMRETENTION/100, @MAXIMUMNUMBER, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
exec dbo.USP_REGISTRATIONSPONSORSHIP_GETBENEFITS_ADDFROMXML @ID, 'incentivelevel', @BENEFITS, @CHANGEAGENTID, @CURRENTDATE;
update dbo.EVENTFAFCONFIG
set
INCENTIVELEVELISSET = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where EVENTFAFCONFIG.EVENTID = @EVENTID
exec dbo.USP_FAFDATACACHE_CLEAR @EVENTID=@EVENTID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0