USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTATION_2
The save procedure used by the edit dataform template "Marketing Effort Edit Form 2".
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. |
@CODE | nvarchar(10) | IN | Code |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@SOURCECODEID | uniqueidentifier | IN | Source code |
@ITEMLIST | xml | IN | Items |
@CHANNELCODE | tinyint | IN | Channel |
@MAILDATE | datetime | IN | Mail date |
@HOUSEHOLDINGTYPECODE | tinyint | IN | Householding |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTATION_2]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CODE nvarchar(10),
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@SOURCECODEID uniqueidentifier,
@ITEMLIST xml,
@CHANNELCODE tinyint,
@MAILDATE datetime,
@HOUSEHOLDINGTYPECODE tinyint
)
as
set nocount on;
declare @CURRENTDATE datetime;
declare @OLDHOUSEHOLDINGTYPECODE tinyint;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
select
@OLDHOUSEHOLDINGTYPECODE = [HOUSEHOLDINGTYPECODE]
from dbo.[MKTSEGMENTATION]
where [ID] = @ID;
/* Update the mailing fields */
update dbo.[MKTSEGMENTATION] set
[CODE] = @CODE,
[NAME] = @NAME,
[DESCRIPTION] = @DESCRIPTION,
[SOURCECODEID] = @SOURCECODEID,
[MAILDATE] = @MAILDATE,
[HOUSEHOLDINGTYPECODE] = @HOUSEHOLDINGTYPECODE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
/* Save the sourcecode parts */
exec dbo.[USP_MKTSOURCECODEPART_GETITEMLIST_UPDATEFROMXML] @ID, @ITEMLIST, @CHANGEAGENTID, @CURRENTDATE;
/* If they changed the householding options, then clear the cache tables so the cache will get rebuilt the next time they want record counts. */
if @HOUSEHOLDINGTYPECODE <> @OLDHOUSEHOLDINGTYPECODE
exec dbo.[USP_MKTSEGMENTATION_CLEARCACHE] @ID, 1;
--update the name on the plan item the mailings is from
update
dbo.[MKTMARKETINGPLANITEM]
set
[MKTMARKETINGPLANITEM].[NAME] = @NAME,
[MKTMARKETINGPLANITEM].[CHANGEDBYID] = @CHANGEAGENTID,
[MKTMARKETINGPLANITEM].[DATECHANGED] = @CURRENTDATE
from
[MKTSEGMENTATION]
where
[MKTSEGMENTATION].[ID] = @ID and
[MKTMARKETINGPLANITEM].[ID] = [MKTSEGMENTATION].[MARKETINGPLANITEMID];
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;