USP_MKTSEGMENTATIONACTIVE_SAVE
Saves the activated marketing effort calculations.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONID | uniqueidentifier | IN | |
@QUANTITY | int | IN | |
@RESPONDERS | int | IN | |
@RESPONSES | int | IN | |
@VARIABLECOST | money | IN | |
@TOTALCOST | money | IN | |
@COSTPERDOLLARRAISED | money | IN | |
@TOTALGIFTAMOUNT | money | IN | |
@AVERAGEGIFTAMOUNT | money | IN | |
@RESPONSERATE | decimal(19, 4) | IN | |
@ROIAMOUNT | money | IN | |
@ROIPERCENT | decimal(19, 4) | IN | |
@EXPECTEDCOSTPERDOLLARRAISED | money | IN | |
@EXPECTEDRESPONDERS | int | IN | |
@EXPECTEDTOTALGIFTAMOUNT | money | IN | |
@EXPECTEDAVERAGEGIFTAMOUNT | money | IN | |
@EXPECTEDRESPONSERATE | decimal(19, 4) | IN | |
@EXPECTEDROIAMOUNT | money | IN | |
@EXPECTEDROIPERCENT | decimal(19, 4) | IN | |
@INDIRECTRESPONDERS | int | IN | |
@INDIRECTRESPONSES | int | IN | |
@INDIRECTTOTALGIFTAMOUNT | money | IN | |
@INDIRECTAVERAGEGIFTAMOUNT | money | IN | |
@UNRESOLVEDRESPONDERS | int | IN | |
@UNRESOLVEDRESPONSES | int | IN | |
@UNRESOLVEDTOTALGIFTAMOUNT | money | IN | |
@UNRESOLVEDAVERAGEGIFTAMOUNT | money | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@ORGANIZATIONVARIABLECOST | money | IN | |
@ORGANIZATIONTOTALCOST | money | IN | |
@ORGANIZATIONCOSTPERDOLLARRAISED | money | IN | |
@ORGANIZATIONTOTALGIFTAMOUNT | money | IN | |
@ORGANIZATIONAVERAGEGIFTAMOUNT | money | IN | |
@ORGANIZATIONROIAMOUNT | money | IN | |
@ORGANIZATIONEXPECTEDCOSTPERDOLLARRAISED | money | IN | |
@ORGANIZATIONEXPECTEDTOTALGIFTAMOUNT | money | IN | |
@ORGANIZATIONEXPECTEDAVERAGEGIFTAMOUNT | money | IN | |
@ORGANIZATIONEXPECTEDROIAMOUNT | money | IN | |
@ORGANIZATIONINDIRECTTOTALGIFTAMOUNT | money | IN | |
@ORGANIZATIONINDIRECTAVERAGEGIFTAMOUNT | money | IN | |
@ORGANIZATIONUNRESOLVEDTOTALGIFTAMOUNT | money | IN | |
@ORGANIZATIONUNRESOLVEDAVERAGEGIFTAMOUNT | money | IN | |
@COSTTOACQUIRE | money | IN | |
@COSTPERTHOUSAND | decimal(22, 4) | IN | |
@NETPERTHOUSAND | decimal(22, 4) | IN | |
@GROSSPERTHOUSAND | decimal(22, 4) | IN | |
@ORGANIZATIONCOSTTOACQUIRE | money | IN | |
@ORGANIZATIONCOSTPERTHOUSAND | decimal(22, 4) | IN | |
@ORGANIZATIONNETPERTHOUSAND | decimal(22, 4) | IN | |
@ORGANIZATIONGROSSPERTHOUSAND | decimal(22, 4) | IN | |
@FIRSTRESPONSEDATE | date | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTSEGMENTATIONACTIVE_SAVE]
(
@SEGMENTATIONID uniqueidentifier,
@QUANTITY int,
@RESPONDERS int,
@RESPONSES int,
@VARIABLECOST money,
@TOTALCOST money,
@COSTPERDOLLARRAISED money,
@TOTALGIFTAMOUNT money,
@AVERAGEGIFTAMOUNT money,
@RESPONSERATE decimal(19,4),
@ROIAMOUNT money,
@ROIPERCENT decimal(19,4),
@EXPECTEDCOSTPERDOLLARRAISED money,
@EXPECTEDRESPONDERS int,
@EXPECTEDTOTALGIFTAMOUNT money,
@EXPECTEDAVERAGEGIFTAMOUNT money,
@EXPECTEDRESPONSERATE decimal(19,4),
@EXPECTEDROIAMOUNT money,
@EXPECTEDROIPERCENT decimal(19,4),
@INDIRECTRESPONDERS int,
@INDIRECTRESPONSES int,
@INDIRECTTOTALGIFTAMOUNT money,
@INDIRECTAVERAGEGIFTAMOUNT money,
@UNRESOLVEDRESPONDERS int,
@UNRESOLVEDRESPONSES int,
@UNRESOLVEDTOTALGIFTAMOUNT money,
@UNRESOLVEDAVERAGEGIFTAMOUNT money,
@CHANGEAGENTID uniqueidentifier = null,
@ORGANIZATIONVARIABLECOST money = null,
@ORGANIZATIONTOTALCOST money = null,
@ORGANIZATIONCOSTPERDOLLARRAISED money = null,
@ORGANIZATIONTOTALGIFTAMOUNT money = null,
@ORGANIZATIONAVERAGEGIFTAMOUNT money = null,
@ORGANIZATIONROIAMOUNT money = null,
@ORGANIZATIONEXPECTEDCOSTPERDOLLARRAISED money = null,
@ORGANIZATIONEXPECTEDTOTALGIFTAMOUNT money = null,
@ORGANIZATIONEXPECTEDAVERAGEGIFTAMOUNT money = null,
@ORGANIZATIONEXPECTEDROIAMOUNT money = null,
@ORGANIZATIONINDIRECTTOTALGIFTAMOUNT money = null,
@ORGANIZATIONINDIRECTAVERAGEGIFTAMOUNT money = null,
@ORGANIZATIONUNRESOLVEDTOTALGIFTAMOUNT money = null,
@ORGANIZATIONUNRESOLVEDAVERAGEGIFTAMOUNT money = null,
@COSTTOACQUIRE money = null,
@COSTPERTHOUSAND decimal(22,4) = null,
@NETPERTHOUSAND decimal(22,4) = null,
@GROSSPERTHOUSAND decimal(22,4) = null,
@ORGANIZATIONCOSTTOACQUIRE money = null,
@ORGANIZATIONCOSTPERTHOUSAND decimal(22,4) = null,
@ORGANIZATIONNETPERTHOUSAND decimal(22,4) = null,
@ORGANIZATIONGROSSPERTHOUSAND decimal(22,4) = null,
@FIRSTRESPONSEDATE date = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = GetDate();
if exists(select 1 from dbo.[MKTSEGMENTATIONACTIVE] where [ID] = @SEGMENTATIONID)
/* Update the existing row of mailing cache */
update dbo.[MKTSEGMENTATIONACTIVE] set
[QUANTITY] = @QUANTITY,
[RESPONDERS] = @RESPONDERS,
[RESPONSES] = @RESPONSES,
[VARIABLECOST] = @VARIABLECOST,
[TOTALCOST] = @TOTALCOST,
[COSTPERDOLLARRAISED] = @COSTPERDOLLARRAISED,
[TOTALGIFTAMOUNT] = @TOTALGIFTAMOUNT,
[AVERAGEGIFTAMOUNT] = @AVERAGEGIFTAMOUNT,
[RESPONSERATE] = @RESPONSERATE,
[ROIAMOUNT] = @ROIAMOUNT,
[ROIPERCENT] = @ROIPERCENT,
[EXPECTEDCOSTPERDOLLARRAISED] = @EXPECTEDCOSTPERDOLLARRAISED,
[EXPECTEDRESPONDERS] = @EXPECTEDRESPONDERS,
[EXPECTEDTOTALGIFTAMOUNT] = @EXPECTEDTOTALGIFTAMOUNT,
[EXPECTEDAVERAGEGIFTAMOUNT] = @EXPECTEDAVERAGEGIFTAMOUNT,
[EXPECTEDRESPONSERATE] = @EXPECTEDRESPONSERATE,
[EXPECTEDROIAMOUNT] = @EXPECTEDROIAMOUNT,
[EXPECTEDROIPERCENT] = @EXPECTEDROIPERCENT,
[INDIRECTRESPONDERS] = @INDIRECTRESPONDERS,
[INDIRECTRESPONSES] = @INDIRECTRESPONSES,
[INDIRECTTOTALGIFTAMOUNT] = @INDIRECTTOTALGIFTAMOUNT,
[INDIRECTAVERAGEGIFTAMOUNT] = @INDIRECTAVERAGEGIFTAMOUNT,
[UNRESOLVEDRESPONDERS] = @UNRESOLVEDRESPONDERS,
[UNRESOLVEDRESPONSES] = @UNRESOLVEDRESPONSES,
[UNRESOLVEDTOTALGIFTAMOUNT] = @UNRESOLVEDTOTALGIFTAMOUNT,
[UNRESOLVEDAVERAGEGIFTAMOUNT] = @UNRESOLVEDAVERAGEGIFTAMOUNT,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE,
[ORGANIZATIONVARIABLECOST] = isnull(@ORGANIZATIONVARIABLECOST, @VARIABLECOST),
[ORGANIZATIONTOTALCOST] = isnull(@ORGANIZATIONTOTALCOST, @TOTALCOST),
[ORGANIZATIONCOSTPERDOLLARRAISED] = isnull(@ORGANIZATIONCOSTPERDOLLARRAISED, @COSTPERDOLLARRAISED),
[ORGANIZATIONTOTALGIFTAMOUNT] = isnull(@ORGANIZATIONTOTALGIFTAMOUNT, @TOTALGIFTAMOUNT),
[ORGANIZATIONAVERAGEGIFTAMOUNT] = isnull(@ORGANIZATIONAVERAGEGIFTAMOUNT, @AVERAGEGIFTAMOUNT),
[ORGANIZATIONROIAMOUNT] = isnull(@ORGANIZATIONROIAMOUNT, @ROIAMOUNT),
[ORGANIZATIONEXPECTEDCOSTPERDOLLARRAISED] = isnull(@ORGANIZATIONEXPECTEDCOSTPERDOLLARRAISED, @EXPECTEDCOSTPERDOLLARRAISED),
[ORGANIZATIONEXPECTEDTOTALGIFTAMOUNT] = isnull(@ORGANIZATIONEXPECTEDTOTALGIFTAMOUNT, @EXPECTEDTOTALGIFTAMOUNT),
[ORGANIZATIONEXPECTEDAVERAGEGIFTAMOUNT] = isnull(@ORGANIZATIONEXPECTEDAVERAGEGIFTAMOUNT, @EXPECTEDAVERAGEGIFTAMOUNT),
[ORGANIZATIONEXPECTEDROIAMOUNT] = isnull(@ORGANIZATIONEXPECTEDROIAMOUNT, @EXPECTEDROIAMOUNT),
[ORGANIZATIONINDIRECTTOTALGIFTAMOUNT] = isnull(@ORGANIZATIONINDIRECTTOTALGIFTAMOUNT, @INDIRECTTOTALGIFTAMOUNT),
[ORGANIZATIONINDIRECTAVERAGEGIFTAMOUNT] = isnull(@ORGANIZATIONINDIRECTAVERAGEGIFTAMOUNT, @INDIRECTAVERAGEGIFTAMOUNT),
[ORGANIZATIONUNRESOLVEDTOTALGIFTAMOUNT] = isnull(@ORGANIZATIONUNRESOLVEDTOTALGIFTAMOUNT, @UNRESOLVEDTOTALGIFTAMOUNT),
[ORGANIZATIONUNRESOLVEDAVERAGEGIFTAMOUNT] = isnull(@ORGANIZATIONUNRESOLVEDAVERAGEGIFTAMOUNT, @UNRESOLVEDAVERAGEGIFTAMOUNT),
[COSTTOACQUIRE] = isnull(@COSTTOACQUIRE, 0),
[COSTPERTHOUSAND] = isnull(@COSTPERTHOUSAND, 0),
[NETPERTHOUSAND] = isnull(@NETPERTHOUSAND, 0),
[GROSSPERTHOUSAND] = isnull(@GROSSPERTHOUSAND, 0),
[ORGANIZATIONCOSTTOACQUIRE] = coalesce(@ORGANIZATIONCOSTTOACQUIRE, @COSTTOACQUIRE, 0),
[ORGANIZATIONCOSTPERTHOUSAND] = coalesce(@ORGANIZATIONCOSTPERTHOUSAND, @COSTPERTHOUSAND, 0),
[ORGANIZATIONNETPERTHOUSAND] = coalesce(@ORGANIZATIONNETPERTHOUSAND, @NETPERTHOUSAND, 0),
[ORGANIZATIONGROSSPERTHOUSAND] = coalesce(@ORGANIZATIONGROSSPERTHOUSAND, @GROSSPERTHOUSAND, 0),
[FIRSTRESPONSEDATE] = @FIRSTRESPONSEDATE
where [ID] = @SEGMENTATIONID;
else
begin
declare @BASECURRENCYID uniqueidentifier;
select @BASECURRENCYID = [BASECURRENCYID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID;
/* Insert a new row for the mailing cache */
insert into dbo.[MKTSEGMENTATIONACTIVE] (
[ID],
[QUANTITY],
[RESPONDERS],
[RESPONSES],
[VARIABLECOST],
[TOTALCOST],
[COSTPERDOLLARRAISED],
[TOTALGIFTAMOUNT],
[AVERAGEGIFTAMOUNT],
[RESPONSERATE],
[ROIAMOUNT],
[ROIPERCENT],
[EXPECTEDCOSTPERDOLLARRAISED],
[EXPECTEDRESPONDERS],
[EXPECTEDTOTALGIFTAMOUNT],
[EXPECTEDAVERAGEGIFTAMOUNT],
[EXPECTEDRESPONSERATE],
[EXPECTEDROIAMOUNT],
[EXPECTEDROIPERCENT],
[INDIRECTRESPONDERS],
[INDIRECTRESPONSES],
[INDIRECTTOTALGIFTAMOUNT],
[INDIRECTAVERAGEGIFTAMOUNT],
[UNRESOLVEDRESPONDERS],
[UNRESOLVEDRESPONSES],
[UNRESOLVEDTOTALGIFTAMOUNT],
[UNRESOLVEDAVERAGEGIFTAMOUNT],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED],
[ORGANIZATIONVARIABLECOST],
[ORGANIZATIONTOTALCOST],
[ORGANIZATIONCOSTPERDOLLARRAISED],
[ORGANIZATIONTOTALGIFTAMOUNT],
[ORGANIZATIONAVERAGEGIFTAMOUNT],
[ORGANIZATIONROIAMOUNT],
[ORGANIZATIONEXPECTEDCOSTPERDOLLARRAISED],
[ORGANIZATIONEXPECTEDTOTALGIFTAMOUNT],
[ORGANIZATIONEXPECTEDAVERAGEGIFTAMOUNT],
[ORGANIZATIONEXPECTEDROIAMOUNT],
[ORGANIZATIONINDIRECTTOTALGIFTAMOUNT],
[ORGANIZATIONINDIRECTAVERAGEGIFTAMOUNT],
[ORGANIZATIONUNRESOLVEDTOTALGIFTAMOUNT],
[ORGANIZATIONUNRESOLVEDAVERAGEGIFTAMOUNT],
[BASECURRENCYID],
[COSTTOACQUIRE],
[COSTPERTHOUSAND],
[NETPERTHOUSAND],
[GROSSPERTHOUSAND],
[ORGANIZATIONCOSTTOACQUIRE],
[ORGANIZATIONCOSTPERTHOUSAND],
[ORGANIZATIONNETPERTHOUSAND],
[ORGANIZATIONGROSSPERTHOUSAND],
[FIRSTRESPONSEDATE]
) values (
@SEGMENTATIONID,
@QUANTITY,
@RESPONDERS,
@RESPONSES,
@VARIABLECOST,
@TOTALCOST,
@COSTPERDOLLARRAISED,
@TOTALGIFTAMOUNT,
@AVERAGEGIFTAMOUNT,
@RESPONSERATE,
@ROIAMOUNT,
@ROIPERCENT,
@EXPECTEDCOSTPERDOLLARRAISED,
@EXPECTEDRESPONDERS,
@EXPECTEDTOTALGIFTAMOUNT,
@EXPECTEDAVERAGEGIFTAMOUNT,
@EXPECTEDRESPONSERATE,
@EXPECTEDROIAMOUNT,
@EXPECTEDROIPERCENT,
@INDIRECTRESPONDERS,
@INDIRECTRESPONSES,
@INDIRECTTOTALGIFTAMOUNT,
@INDIRECTAVERAGEGIFTAMOUNT,
@UNRESOLVEDRESPONDERS,
@UNRESOLVEDRESPONSES,
@UNRESOLVEDTOTALGIFTAMOUNT,
@UNRESOLVEDAVERAGEGIFTAMOUNT,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
isnull(@ORGANIZATIONVARIABLECOST, @VARIABLECOST),
isnull(@ORGANIZATIONTOTALCOST, @TOTALCOST),
isnull(@ORGANIZATIONCOSTPERDOLLARRAISED, @COSTPERDOLLARRAISED),
isnull(@ORGANIZATIONTOTALGIFTAMOUNT, @TOTALGIFTAMOUNT),
isnull(@ORGANIZATIONAVERAGEGIFTAMOUNT, @AVERAGEGIFTAMOUNT),
isnull(@ORGANIZATIONROIAMOUNT, @ROIAMOUNT),
isnull(@ORGANIZATIONEXPECTEDCOSTPERDOLLARRAISED, @EXPECTEDCOSTPERDOLLARRAISED),
isnull(@ORGANIZATIONEXPECTEDTOTALGIFTAMOUNT, @EXPECTEDTOTALGIFTAMOUNT),
isnull(@ORGANIZATIONEXPECTEDAVERAGEGIFTAMOUNT, @EXPECTEDAVERAGEGIFTAMOUNT),
isnull(@ORGANIZATIONEXPECTEDROIAMOUNT, @EXPECTEDROIAMOUNT),
isnull(@ORGANIZATIONINDIRECTTOTALGIFTAMOUNT, @INDIRECTTOTALGIFTAMOUNT),
isnull(@ORGANIZATIONINDIRECTAVERAGEGIFTAMOUNT, @INDIRECTAVERAGEGIFTAMOUNT),
isnull(@ORGANIZATIONUNRESOLVEDTOTALGIFTAMOUNT, @UNRESOLVEDTOTALGIFTAMOUNT),
isnull(@ORGANIZATIONUNRESOLVEDAVERAGEGIFTAMOUNT, @UNRESOLVEDAVERAGEGIFTAMOUNT),
@BASECURRENCYID,
isnull(@COSTTOACQUIRE, 0),
isnull(@COSTPERTHOUSAND, 0),
isnull(@NETPERTHOUSAND, 0),
isnull(@GROSSPERTHOUSAND, 0),
coalesce(@ORGANIZATIONCOSTTOACQUIRE, @COSTTOACQUIRE, 0),
coalesce(@ORGANIZATIONCOSTPERTHOUSAND, @COSTPERTHOUSAND, 0),
coalesce(@ORGANIZATIONNETPERTHOUSAND, @NETPERTHOUSAND, 0),
coalesce(@ORGANIZATIONGROSSPERTHOUSAND, @GROSSPERTHOUSAND, 0),
@FIRSTRESPONSEDATE
);
end
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;