USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTATIONUNIVERSE
The save procedure used by the edit dataform template "Marketing Effort Universe Edit 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. |
@HOUSEHOLDINGTYPECODE | tinyint | IN | Include |
@HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD | bit | IN | Also include qualifying individuals who are not members of any household |
@HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS | bit | IN | Also include qualifying households which do not have any members |
@HOUSEHOLDINGONERECORDPERHOUSEHOLD | bit | IN | Send to one person per household |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTATIONUNIVERSE]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@HOUSEHOLDINGTYPECODE tinyint,
@HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD bit,
@HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS bit,
@HOUSEHOLDINGONERECORDPERHOUSEHOLD bit
)
as
set nocount on;
declare @ACTIVE bit;
declare @OLDHOUSEHOLDINGTYPECODE tinyint;
declare @OLDHOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD bit;
declare @OLDHOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS bit;
declare @OLDHOUSEHOLDINGONERECORDPERHOUSEHOLD bit;
declare @CURRENTDATE datetime;
begin try
select
@ACTIVE = [ACTIVE],
@OLDHOUSEHOLDINGTYPECODE = [HOUSEHOLDINGTYPECODE],
@OLDHOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD = [HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD],
@OLDHOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS = [HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS],
@OLDHOUSEHOLDINGONERECORDPERHOUSEHOLD = [HOUSEHOLDINGONERECORDPERHOUSEHOLD]
from dbo.[MKTSEGMENTATION]
where [ID] = @ID;
if @ACTIVE = 0
begin
--If they changed the householding options, then save the new options, clear the segment cache, and update the segment views...
if @OLDHOUSEHOLDINGTYPECODE <> @HOUSEHOLDINGTYPECODE or
@OLDHOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD <> @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD or
@OLDHOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS <> @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS or
@OLDHOUSEHOLDINGONERECORDPERHOUSEHOLD <> @HOUSEHOLDINGONERECORDPERHOUSEHOLD
begin
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
update dbo.[MKTSEGMENTATION] set
[HOUSEHOLDINGTYPECODE] = @HOUSEHOLDINGTYPECODE,
[HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD] = @HOUSEHOLDINGINCLUDEINDIVIDUALSWITHNOHOUSEHOLD,
[HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS] = @HOUSEHOLDINGINCLUDEHOUSEHOLDSWITHNOMEMBERS,
[HOUSEHOLDINGONERECORDPERHOUSEHOLD] = @HOUSEHOLDINGONERECORDPERHOUSEHOLD,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
--Clear the exclusion cache info table first, so the cache will get rebuilt the next time they want record counts...
exec dbo.[USP_MKTSEGMENTATION_CLEARCACHE] @ID, 1;
end
end
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;