USP_SPONSOR_FAF_BENEFIT_ADD
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SPONSORID | uniqueidentifier | IN | |
@BENEFITID | uniqueidentifier | IN | |
@EVENTPRICEID | uniqueidentifier | IN | |
@BENEFITTYPECODE | tinyint | IN | |
@BENEFITOPTIONIDLIST | varchar(4000) | IN | |
@PREFERENCELIST | varchar(4000) | IN | |
@QUANTITY | int | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_SPONSOR_FAF_BENEFIT_ADD
(
@SPONSORID uniqueidentifier,
@BENEFITID uniqueidentifier,
@EVENTPRICEID uniqueidentifier = null,
@BENEFITTYPECODE tinyint = 0,
@BENEFITOPTIONIDLIST varchar(4000) = '',
@PREFERENCELIST varchar(4000) = '',
@QUANTITY int = 1,
@CHANGEAGENTID uniqueidentifier = null
)
with execute as caller
as
begin
set nocount on;
declare @CURRENTDATE datetime
declare @EVENTID uniqueidentifier
declare @BASECURRENCYID uniqueidentifier
declare @BENEFITOPTIONID uniqueidentifier
declare @BENEFITPREFERENCE nvarchar(500)
declare @BENEFITOPTIONS table (ID int identity(1,1), BENEFITOPTIONID uniqueidentifier);
declare @BENEFITPREFERENCES table (ID int identity(1,1), BENEFITPREFERENCE nvarchar(500));
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @i int
declare @TOTAL int
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @CURRENTDATE = getdate();
SELECT @EVENTID = EVENTID from dbo.EVENTSPONSOR where ID = @SPONSORID;
SELECT @BASECURRENCYID = BASECURRENCYID from dbo.EVENT where ID = @EVENTID
if ISNULL(@BENEFITOPTIONIDLIST,'') > ''
INSERT INTO @BENEFITOPTIONS(BENEFITOPTIONID)
SELECT element_value from dbo.UFN_PARSE_STRING(@BENEFITOPTIONIDLIST,',');
if ISNULL(@PREFERENCELIST,'') > ''
INSERT INTO @BENEFITPREFERENCES(BENEFITPREFERENCE)
SELECT element_value from dbo.UFN_PARSE_STRING(@PREFERENCELIST,',');
SELECT @TOTAL = COUNT(*) from @BENEFITOPTIONS;
SET @i = 1;
BEGIN TRAN
begin try
WHILE (@i <= @TOTAL)
BEGIN
SET @BENEFITOPTIONID = null;
SET @BENEFITPREFERENCE = '';
SELECT @BENEFITOPTIONID = BENEFITOPTIONID FROM @BENEFITOPTIONS WHERE ID = @i;
SELECT @BENEFITPREFERENCE = BENEFITPREFERENCE FROM @BENEFITPREFERENCES WHERE ID = @i;
IF @BENEFITOPTIONID IS NOT NULL
EXEC dbo.USP_DATAFORMTEMPLATE_ADD_SPONSORBENEFITOPTION @ID = null, @CHANGEAGENTID = @CHANGEAGENTID, @SPONSORID = @SPONSORID, @BENEFITID = @BENEFITID, @BENEFITOPTIONID = @BENEFITOPTIONID, @BENEFITPREFERENCE = @BENEFITPREFERENCE, @BENEFITTYPECODE = @BENEFITTYPECODE
SET @i = @i + 1;
END
end try
begin catch
exec dbo.USP_RAISE_ERROR
ROLLBACK TRAN
return 1;
end catch
COMMIT TRAN;
return 0;
end