USP_DATAFORMTEMPLATE_EDIT_MKTCOMMUNICATIONEFFORTSOURCECODE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@SOURCECODEID | uniqueidentifier | IN | |
@ITEMLIST | xml | IN | |
@CODE | nvarchar(10) | IN | |
@CODEVALUEID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MKTCOMMUNICATIONEFFORTSOURCECODE
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@SOURCECODEID uniqueidentifier,
@ITEMLIST xml,
@CODE nvarchar(10),
@CODEVALUEID uniqueidentifier
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
declare @ACTIVE bit;
declare @OLDSOURCECODEID uniqueidentifier;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
begin try
-- handle updating the data
select
@ACTIVE = [MKTSEGMENTATION].[ACTIVE],
@OLDSOURCECODEID = [MKTSEGMENTATION].[SOURCECODEID]
from
dbo.[MKTSEGMENTATION]
where
[MKTSEGMENTATION].[ID] = @ID;
if @ACTIVE = 0
exec dbo.[USP_MKTSEGMENTATION_CHECKACTIVATION] @ID;
update
dbo.[MKTSEGMENTATION]
set
[CODE] = @CODE,
[PARTDEFINITIONVALUESID] = @CODEVALUEID,
[SOURCECODEID] = @SOURCECODEID,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where
[ID] = @ID;
exec dbo.[USP_MKTSOURCECODEPART_GETITEMLIST2_UPDATEFROMXML] @ID, @ITEMLIST, @CHANGEAGENTID, @CURRENTDATE;
-- update any segment codes in this mailing with their base segment codes
if isnull(cast(@OLDSOURCECODEID as varchar(36)),'') <> isnull(cast(@SOURCECODEID as varchar(36)),'')
update dbo.[MKTSEGMENTATIONSEGMENT] set
[CODE] = (case when @SOURCECODEID is null then '' else [MKTSEGMENT].[CODE] end),
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
from dbo.[MKTSEGMENTATIONSEGMENT]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = @ID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;