USP_DATAFORMTEMPLATE_EDIT_DIRECTMARKETINGEFFORTBATCHROW
Original stored procedure for saving a direct marketing effort batch row.
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. |
@SEQUENCE | int | IN | Sequence |
@SEGMENTATIONID | uniqueidentifier | IN | Marketing effort |
@SEGMENTATIONCODEVALUEID | uniqueidentifier | IN | Marketing effort code description |
@SEGMENTATIONCODE | nvarchar(10) | IN | Marketing effort code |
@SOURCECODE | nvarchar(50) | IN | Source code |
@RECORDSOURCEID | uniqueidentifier | IN | Record source |
@LISTID | uniqueidentifier | IN | List |
@LISTNAME | nvarchar(100) | IN | List name |
@LISTDESCRIPTION | nvarchar(255) | IN | List description |
@LISTCODEVALUEID | uniqueidentifier | IN | List code description |
@LISTCODE | nvarchar(10) | IN | List code |
@LISTCATEGORYCODEID | uniqueidentifier | IN | List category |
@LISTVENDORID | uniqueidentifier | IN | List vendor |
@SEGMENTID | uniqueidentifier | IN | Segment |
@SEGMENTNAME | nvarchar(100) | IN | Segment name |
@SEGMENTDESCRIPTION | nvarchar(255) | IN | Segment description |
@SEGMENTCODEVALUEID | uniqueidentifier | IN | Segment code description |
@SEGMENTCODE | nvarchar(10) | IN | Segment code |
@SEGMENTCATEGORYCODEID | uniqueidentifier | IN | Segment category |
@SEGMENTTYPECODE | tinyint | IN | Segment type |
@SEGMENTEXPECTEDGIFTAMOUNT | money | IN | Segment expected gift amount |
@SEGMENTEXPECTEDRESPONSERATE | decimal(5, 2) | IN | Segment expected response rate |
@SEGMENTRENTALQUANTITY | int | IN | Segment rental quantity |
@SEGMENTEXCHANGEQUANTITY | int | IN | Segment exchange quantity |
@SEGMENTRENTALCOST | money | IN | Segment rental cost |
@SEGMENTRENTALCOSTBASISCODE | tinyint | IN | Segment rental cost basis |
@SEGMENTEXCHANGECOST | money | IN | Segment exchange cost |
@SEGMENTEXCHANGECOSTBASISCODE | tinyint | IN | Segment exchange cost basis |
@SEGMENTUSAGECODE | tinyint | IN | Segment usage |
@TESTSEGMENTID | uniqueidentifier | IN | Test segment |
@TESTSEGMENTNAME | nvarchar(100) | IN | Test segment name |
@TESTSEGMENTDESCRIPTION | nvarchar(255) | IN | Test segment description |
@TESTSEGMENTCODEVALUEID | uniqueidentifier | IN | Test segment code description |
@TESTSEGMENTCODE | nvarchar(10) | IN | Test segment code |
@TESTSEGMENTEXPECTEDGIFTAMOUNT | money | IN | Test segment expected gift amount |
@TESTSEGMENTEXPECTEDRESPONSERATE | decimal(5, 2) | IN | Test segment expected response rate |
@TESTSEGMENTQUANTITY | int | IN | Test segment quantity |
@PACKAGEID | uniqueidentifier | IN | Package |
@PACKAGENAME | nvarchar(100) | IN | Package name |
@PACKAGEDESCRIPTION | nvarchar(255) | IN | Package description |
@PACKAGECODEVALUEID | uniqueidentifier | IN | Package code description |
@PACKAGECODE | nvarchar(10) | IN | Package code |
@PACKAGECHANNELCODEVALUEID | uniqueidentifier | IN | Package channel code description |
@PACKAGECHANNELCODE | nvarchar(10) | IN | Package channel code |
@PACKAGECATEGORYCODEID | uniqueidentifier | IN | Package category |
@PACKAGETYPECODE | tinyint | IN | Package type |
@PACKAGECOST | money | IN | Package cost |
@PACKAGECOSTDISTRIBUTIONMETHODCODE | tinyint | IN | Package cost distribution method |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_DIRECTMARKETINGEFFORTBATCHROW]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@SEQUENCE int,
@SEGMENTATIONID uniqueidentifier,
@SEGMENTATIONCODEVALUEID uniqueidentifier,
@SEGMENTATIONCODE nvarchar(10),
@SOURCECODE nvarchar(50),
@RECORDSOURCEID uniqueidentifier,
@LISTID uniqueidentifier,
@LISTNAME nvarchar(100),
@LISTDESCRIPTION nvarchar(255),
@LISTCODEVALUEID uniqueidentifier,
@LISTCODE nvarchar(10),
@LISTCATEGORYCODEID uniqueidentifier,
@LISTVENDORID uniqueidentifier,
@SEGMENTID uniqueidentifier,
@SEGMENTNAME nvarchar(100),
@SEGMENTDESCRIPTION nvarchar(255),
@SEGMENTCODEVALUEID uniqueidentifier,
@SEGMENTCODE nvarchar(10),
@SEGMENTCATEGORYCODEID uniqueidentifier,
@SEGMENTTYPECODE tinyint,
@SEGMENTEXPECTEDGIFTAMOUNT money,
@SEGMENTEXPECTEDRESPONSERATE decimal(5,2),
@SEGMENTRENTALQUANTITY int,
@SEGMENTEXCHANGEQUANTITY int,
@SEGMENTRENTALCOST money,
@SEGMENTRENTALCOSTBASISCODE tinyint,
@SEGMENTEXCHANGECOST money,
@SEGMENTEXCHANGECOSTBASISCODE tinyint,
@SEGMENTUSAGECODE tinyint,
@TESTSEGMENTID uniqueidentifier,
@TESTSEGMENTNAME nvarchar(100),
@TESTSEGMENTDESCRIPTION nvarchar(255),
@TESTSEGMENTCODEVALUEID uniqueidentifier,
@TESTSEGMENTCODE nvarchar(10),
@TESTSEGMENTEXPECTEDGIFTAMOUNT money,
@TESTSEGMENTEXPECTEDRESPONSERATE decimal(5,2),
@TESTSEGMENTQUANTITY int,
@PACKAGEID uniqueidentifier,
@PACKAGENAME nvarchar(100),
@PACKAGEDESCRIPTION nvarchar(255),
@PACKAGECODEVALUEID uniqueidentifier,
@PACKAGECODE nvarchar(10),
@PACKAGECHANNELCODEVALUEID uniqueidentifier,
@PACKAGECHANNELCODE nvarchar(10),
@PACKAGECATEGORYCODEID uniqueidentifier,
@PACKAGETYPECODE tinyint,
@PACKAGECOST money,
@PACKAGECOSTDISTRIBUTIONMETHODCODE tinyint
)
as
set nocount on;
declare @BATCHID uniqueidentifier;
declare @BATCHSEGMENTID uniqueidentifier;
declare @BATCHPACKAGEID uniqueidentifier;
declare @BATCHLISTID uniqueidentifier;
declare @BATCHTESTSEGMENTID uniqueidentifier;
declare @OLDBATCHSEGMENTID uniqueidentifier;
declare @OLDBATCHPACKAGEID uniqueidentifier;
declare @OLDBATCHLISTID uniqueidentifier;
declare @OLDBATCHTESTSEGMENTID uniqueidentifier;
declare @SAVELISTRECORD bit = 1;
declare @SAVETESTSEGMENTRECORD bit = 1;
declare @CURRENTDATE datetime;
begin try
select
@BATCHID = [BATCHID],
@OLDBATCHSEGMENTID = [BATCHDIRECTMARKETINGEFFORTSEGMENTID],
@OLDBATCHPACKAGEID = [BATCHDIRECTMARKETINGEFFORTPACKAGEID],
@OLDBATCHLISTID = [BATCHDIRECTMARKETINGEFFORTLISTID],
@OLDBATCHTESTSEGMENTID = [BATCHDIRECTMARKETINGEFFORTTESTSEGMENTID]
from dbo.[BATCHDIRECTMARKETINGEFFORT]
where [ID] = @ID;
--Since the ID fields play double duty in the UI, we need to make sure we reset the fields correctly if they are new records...
if @OLDBATCHLISTID is not null and @LISTID = @OLDBATCHLISTID
set @LISTID = null;
if @OLDBATCHSEGMENTID is not null and @SEGMENTID = @OLDBATCHSEGMENTID
set @SEGMENTID = null;
if @OLDBATCHTESTSEGMENTID is not null and @TESTSEGMENTID = @OLDBATCHTESTSEGMENTID
set @TESTSEGMENTID = null;
if @OLDBATCHPACKAGEID is not null and @PACKAGEID = @OLDBATCHPACKAGEID
set @PACKAGEID = null;
/***************************************/
/* Validate the data before we save it */
/***************************************/
exec dbo.[USP_DIRECTMARKETINGEFFORTBATCH_VALIDATEROW]
@BATCHID = @BATCHID,
@VALIDATEFORCOMMIT = 0,
@BATCHSEGMENTID = @BATCHSEGMENTID output,
@BATCHPACKAGEID = @BATCHPACKAGEID output,
@BATCHLISTID = @BATCHLISTID output,
@BATCHTESTSEGMENTID = @BATCHTESTSEGMENTID output,
@SAVELISTRECORD = @SAVELISTRECORD output,
@SAVETESTSEGMENTRECORD = @SAVETESTSEGMENTRECORD output,
@SEGMENTATIONID = @SEGMENTATIONID output,
@SEGMENTATIONCODEVALUEID = @SEGMENTATIONCODEVALUEID output,
@SEGMENTATIONCODE = @SEGMENTATIONCODE output,
@SOURCECODE = @SOURCECODE output,
@RECORDSOURCEID = @RECORDSOURCEID output,
@LISTID = @LISTID output,
@LISTNAME = @LISTNAME output,
@LISTDESCRIPTION = @LISTDESCRIPTION output,
@LISTCODEVALUEID = @LISTCODEVALUEID output,
@LISTCODE = @LISTCODE output,
@LISTCATEGORYCODEID = @LISTCATEGORYCODEID output,
@LISTVENDORID = @LISTVENDORID output,
@SEGMENTID = @SEGMENTID output,
@SEGMENTNAME = @SEGMENTNAME output,
@SEGMENTDESCRIPTION = @SEGMENTDESCRIPTION output,
@SEGMENTCODEVALUEID = @SEGMENTCODEVALUEID output,
@SEGMENTCODE = @SEGMENTCODE output,
@SEGMENTCATEGORYCODEID = @SEGMENTCATEGORYCODEID output,
@SEGMENTTYPECODE = @SEGMENTTYPECODE output,
@SEGMENTEXPECTEDGIFTAMOUNT = @SEGMENTEXPECTEDGIFTAMOUNT output,
@SEGMENTEXPECTEDRESPONSERATE = @SEGMENTEXPECTEDRESPONSERATE output,
@SEGMENTRENTALQUANTITY = @SEGMENTRENTALQUANTITY output,
@SEGMENTEXCHANGEQUANTITY = @SEGMENTEXCHANGEQUANTITY output,
@SEGMENTRENTALCOST = @SEGMENTRENTALCOST output,
@SEGMENTRENTALCOSTBASISCODE = @SEGMENTRENTALCOSTBASISCODE output,
@SEGMENTEXCHANGECOST = @SEGMENTEXCHANGECOST output,
@SEGMENTEXCHANGECOSTBASISCODE = @SEGMENTEXCHANGECOSTBASISCODE output,
@SEGMENTUSAGECODE = @SEGMENTUSAGECODE output,
@TESTSEGMENTID = @TESTSEGMENTID output,
@TESTSEGMENTNAME = @TESTSEGMENTNAME output,
@TESTSEGMENTDESCRIPTION = @TESTSEGMENTDESCRIPTION output,
@TESTSEGMENTCODEVALUEID = @TESTSEGMENTCODEVALUEID output,
@TESTSEGMENTCODE = @TESTSEGMENTCODE output,
@TESTSEGMENTEXPECTEDGIFTAMOUNT = @TESTSEGMENTEXPECTEDGIFTAMOUNT output,
@TESTSEGMENTEXPECTEDRESPONSERATE = @TESTSEGMENTEXPECTEDRESPONSERATE output,
@TESTSEGMENTQUANTITY = @TESTSEGMENTQUANTITY output,
@PACKAGEID = @PACKAGEID output,
@PACKAGENAME = @PACKAGENAME output,
@PACKAGEDESCRIPTION = @PACKAGEDESCRIPTION output,
@PACKAGECODEVALUEID = @PACKAGECODEVALUEID output,
@PACKAGECODE = @PACKAGECODE output,
@PACKAGECHANNELCODEVALUEID = @PACKAGECHANNELCODEVALUEID output,
@PACKAGECHANNELCODE = @PACKAGECHANNELCODE output,
@PACKAGECATEGORYCODEID = @PACKAGECATEGORYCODEID output,
@PACKAGETYPECODE = @PACKAGETYPECODE output,
@PACKAGECOST = @PACKAGECOST output,
@PACKAGECOSTDISTRIBUTIONMETHODCODE = @PACKAGECOSTDISTRIBUTIONMETHODCODE output;
/*******************************************************/
/* Update the batch row data in the appropriate tables */
/*******************************************************/
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
--Update the segment record (only if we need to), or insert a new segment record (only if we need to)...
if @OLDBATCHSEGMENTID is not null and (@BATCHSEGMENTID is null or @BATCHSEGMENTID <> @OLDBATCHSEGMENTID)
begin
--The user either deleted the record or replaced it with a different record that exists in the batch.
--So, we need to delete the old row, but only if it is not being used by another row in the batch.
if not exists(select * from dbo.[BATCHDIRECTMARKETINGEFFORT] where [BATCHID] = @BATCHID and [BATCHDIRECTMARKETINGEFFORTSEGMENTID] = @OLDBATCHSEGMENTID and [ID] <> @ID)
exec dbo.[USP_BATCHDIRECTMARKETINGEFFORTSEGMENT_DELETEBYID_WITHCHANGEAGENTID] @OLDBATCHSEGMENTID, @CHANGEAGENTID;
end
--Update the segment record...
if @BATCHSEGMENTID is not null
update dbo.[BATCHDIRECTMARKETINGEFFORTSEGMENT] set
[MKTSEGMENTID] = @SEGMENTID,
[NAME] = @SEGMENTNAME,
[DESCRIPTION] = @SEGMENTDESCRIPTION,
[CODE] = @SEGMENTCODE,
[CODEPARTDEFINITIONVALUESID] = @SEGMENTCODEVALUEID,
[MKTSEGMENTCATEGORYCODEID] = @SEGMENTCATEGORYCODEID,
[SEGMENTTYPECODE] = @SEGMENTTYPECODE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @BATCHSEGMENTID;
else
begin
--Insert a new segment record for the batch...
set @BATCHSEGMENTID = newid();
insert into dbo.[BATCHDIRECTMARKETINGEFFORTSEGMENT] (
[ID],
[MKTSEGMENTID],
[NAME],
[DESCRIPTION],
[CODE],
[CODEPARTDEFINITIONVALUESID],
[MKTSEGMENTCATEGORYCODEID],
[SEGMENTTYPECODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
@BATCHSEGMENTID,
@SEGMENTID,
@SEGMENTNAME,
@SEGMENTDESCRIPTION,
@SEGMENTCODE,
@SEGMENTCODEVALUEID,
@SEGMENTCATEGORYCODEID,
@SEGMENTTYPECODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
--Update the package record (only if we need to), or insert a new package record (only if we need to)...
if @OLDBATCHPACKAGEID is not null and (@BATCHPACKAGEID is null or @BATCHpackageID <> @OLDBATCHPACKAGEID)
begin
--The user either deleted the record or replaced it with a different record that exists in the batch.
--So, we need to delete the old row, but only if it is not being used by another row in the batch.
if not exists(select * from dbo.[BATCHDIRECTMARKETINGEFFORT] where [BATCHID] = @BATCHID and [BATCHDIRECTMARKETINGEFFORTPACKAGEID] = @OLDBATCHPACKAGEID and [ID] <> @ID)
exec dbo.[USP_BATCHDIRECTMARKETINGEFFORTPACKAGE_DELETEBYID_WITHCHANGEAGENTID] @OLDBATCHPACKAGEID, @CHANGEAGENTID;
end
if @BATCHPACKAGEID is not null
--Update the package record...
update dbo.[BATCHDIRECTMARKETINGEFFORTPACKAGE] set
[MKTPACKAGEID] = @PACKAGEID,
[NAME] = @PACKAGENAME,
[DESCRIPTION] = @PACKAGEDESCRIPTION,
[CODE] = @PACKAGECODE,
[CODEPARTDEFINITIONVALUESID] = @PACKAGECODEVALUEID,
[CHANNELCODE] = @PACKAGECHANNELCODE,
[CHANNELCODEPARTDEFINITIONVALUESID] = @PACKAGECHANNELCODEVALUEID,
[MKTPACKAGECATEGORYCODEID] = @PACKAGECATEGORYCODEID,
[PACKAGETYPECODE] = @PACKAGETYPECODE,
[COST] = @PACKAGECOST,
[COSTDISTRIBUTIONMETHODCODE] = @PACKAGECOSTDISTRIBUTIONMETHODCODE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @BATCHPACKAGEID;
else
begin
--Insert a new package record for the batch...
set @BATCHPACKAGEID = newid();
insert into dbo.[BATCHDIRECTMARKETINGEFFORTPACKAGE] (
[ID],
[MKTPACKAGEID],
[NAME],
[DESCRIPTION],
[CODE],
[CODEPARTDEFINITIONVALUESID],
[CHANNELCODE],
[CHANNELCODEPARTDEFINITIONVALUESID],
[MKTPACKAGECATEGORYCODEID],
[PACKAGETYPECODE],
[COST],
[COSTDISTRIBUTIONMETHODCODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
@BATCHPACKAGEID,
@PACKAGEID,
@PACKAGENAME,
@PACKAGEDESCRIPTION,
@PACKAGECODE,
@PACKAGECODEVALUEID,
@PACKAGECHANNELCODE,
@PACKAGECHANNELCODEVALUEID,
@PACKAGECATEGORYCODEID,
@PACKAGETYPECODE,
@PACKAGECOST,
@PACKAGECOSTDISTRIBUTIONMETHODCODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
--Update the list record (only if we need to), or insert a new list record (only if we need to)...
if @OLDBATCHLISTID is not null and (@BATCHLISTID is null or @BATCHLISTID <> @OLDBATCHLISTID)
begin
--The user either deleted the record or replaced it with a different record that exists in the batch.
--So, we need to delete the old row, but only if it is not being used by another row in the batch.
if not exists(select * from dbo.[BATCHDIRECTMARKETINGEFFORT] where [BATCHID] = @BATCHID and [BATCHDIRECTMARKETINGEFFORTLISTID] = @OLDBATCHLISTID and [ID] <> @ID)
exec dbo.[USP_BATCHDIRECTMARKETINGEFFORTLIST_DELETEBYID_WITHCHANGEAGENTID] @OLDBATCHLISTID, @CHANGEAGENTID;
end
if @SAVELISTRECORD = 1
begin
if @BATCHLISTID is not null
--Update the list record...
update dbo.[BATCHDIRECTMARKETINGEFFORTLIST] set
[MKTLISTID] = @LISTID,
[NAME] = @LISTNAME,
[DESCRIPTION] = @LISTDESCRIPTION,
[CODE] = @LISTCODE,
[CODEPARTDEFINITIONVALUESID] = @LISTCODEVALUEID,
[MKTLISTCATEGORYCODEID] = @LISTCATEGORYCODEID,
[VENDORID] = @LISTVENDORID,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @BATCHLISTID;
else if @LISTID is not null or @LISTNAME <> ''
begin
--Insert a new list record for the batch...
set @BATCHLISTID = newid();
insert into dbo.[BATCHDIRECTMARKETINGEFFORTLIST] (
[ID],
[MKTLISTID],
[NAME],
[DESCRIPTION],
[CODE],
[CODEPARTDEFINITIONVALUESID],
[MKTLISTCATEGORYCODEID],
[VENDORID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
@BATCHLISTID,
@LISTID,
@LISTNAME,
@LISTDESCRIPTION,
@LISTCODE,
@LISTCODEVALUEID,
@LISTCATEGORYCODEID,
@LISTVENDORID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
end
--Update the test segment record (only if we need to), or insert a new test segment record (only if we need to)...
if @OLDBATCHTESTSEGMENTID is not null and (@BATCHTESTSEGMENTID is null or @BATCHTESTSEGMENTID <> @OLDBATCHTESTSEGMENTID)
begin
--The user either deleted the record or replaced it with a different record that exists in the batch.
--So, we need to delete the old row, but only if it is not being used by another row in the batch.
if not exists(select * from dbo.[BATCHDIRECTMARKETINGEFFORT] where [BATCHID] = @BATCHID and [BATCHDIRECTMARKETINGEFFORTTESTSEGMENTID] = @OLDBATCHTESTSEGMENTID and [ID] <> @ID)
exec dbo.[USP_BATCHDIRECTMARKETINGEFFORTTESTSEGMENT_DELETEBYID_WITHCHANGEAGENTID] @OLDBATCHTESTSEGMENTID, @CHANGEAGENTID;
end
if @SAVETESTSEGMENTRECORD = 1
begin
if @BATCHTESTSEGMENTID is not null
update dbo.[BATCHDIRECTMARKETINGEFFORTTESTSEGMENT] set
[MKTSEGMENTATIONTESTSEGMENTID] = @TESTSEGMENTID,
[NAME] = @TESTSEGMENTNAME,
[DESCRIPTION] = @TESTSEGMENTDESCRIPTION,
[CODE] = @TESTSEGMENTCODE,
[CODEPARTDEFINITIONVALUESID] = @TESTSEGMENTCODEVALUEID,
[EXPECTEDGIFTAMOUNT] = @TESTSEGMENTEXPECTEDGIFTAMOUNT,
[EXPECTEDRESPONSERATE] = @TESTSEGMENTEXPECTEDRESPONSERATE,
[QUANTITY] = @TESTSEGMENTQUANTITY,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @BATCHTESTSEGMENTID;
else if @TESTSEGMENTID is not null or @TESTSEGMENTNAME <> ''
begin
--Insert a new test segment record for the batch...
set @BATCHTESTSEGMENTID = newid();
insert into dbo.[BATCHDIRECTMARKETINGEFFORTTESTSEGMENT] (
[ID],
[MKTSEGMENTATIONTESTSEGMENTID],
[NAME],
[DESCRIPTION],
[CODE],
[CODEPARTDEFINITIONVALUESID],
[EXPECTEDGIFTAMOUNT],
[EXPECTEDRESPONSERATE],
[QUANTITY],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
@BATCHTESTSEGMENTID,
@TESTSEGMENTID,
@TESTSEGMENTNAME,
@TESTSEGMENTDESCRIPTION,
@TESTSEGMENTCODE,
@TESTSEGMENTCODEVALUEID,
@TESTSEGMENTEXPECTEDGIFTAMOUNT,
@TESTSEGMENTEXPECTEDRESPONSERATE,
@TESTSEGMENTQUANTITY,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
end
--Update the main batch row...
update dbo.[BATCHDIRECTMARKETINGEFFORT] set
[SEQUENCE] = @SEQUENCE,
[SEGMENTATIONID] = @SEGMENTATIONID,
[SEGMENTATIONCODE] = @SEGMENTATIONCODE,
[SEGMENTATIONCODEPARTDEFINITIONVALUESID] = @SEGMENTATIONCODEVALUEID,
[SOURCECODE] = @SOURCECODE,
[RECORDSOURCEID] = @RECORDSOURCEID,
[BATCHDIRECTMARKETINGEFFORTSEGMENTID] = @BATCHSEGMENTID,
[BATCHDIRECTMARKETINGEFFORTPACKAGEID] = @BATCHPACKAGEID,
[BATCHDIRECTMARKETINGEFFORTLISTID] = @BATCHLISTID,
[BATCHDIRECTMARKETINGEFFORTTESTSEGMENTID] = @BATCHTESTSEGMENTID,
[SEGMENTTESTCODE] = (case when @SAVETESTSEGMENTRECORD = 1 then '' else @TESTSEGMENTCODE end),
[SEGMENTTESTCODEPARTDEFINITIONVALUESID] = (case when @SAVETESTSEGMENTRECORD = 1 then null else @TESTSEGMENTCODEVALUEID end),
[SEGMENTEXPECTEDGIFTAMOUNT] = @SEGMENTEXPECTEDGIFTAMOUNT,
[SEGMENTEXPECTEDRESPONSERATE] = @SEGMENTEXPECTEDRESPONSERATE,
[SEGMENTRENTALQUANTITY] = @SEGMENTRENTALQUANTITY,
[SEGMENTEXCHANGEQUANTITY] = @SEGMENTEXCHANGEQUANTITY,
[SEGMENTRENTALCOST] = @SEGMENTRENTALCOST,
[SEGMENTRENTALCOSTBASISCODE] = @SEGMENTRENTALCOSTBASISCODE,
[SEGMENTEXCHANGECOST] = @SEGMENTEXCHANGECOST,
[SEGMENTEXCHANGECOSTBASISCODE] = @SEGMENTEXCHANGECOSTBASISCODE,
[SEGMENTUSAGECODE] = @SEGMENTUSAGECODE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;