USP_MKTSOURCEANALYSISRULEFIELDS_REMOVEFIELDS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEANALYSISRULEID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@VALIDFIELDS | xml | IN |
Definition
Copy
create procedure dbo.[USP_MKTSOURCEANALYSISRULEFIELDS_REMOVEFIELDS]
(
@SOURCEANALYSISRULEID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@VALIDFIELDS xml
)
as
set nocount on;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
--Cache current context information
declare @CONTEXTCACHE varbinary(128);
set @CONTEXTCACHE = CONTEXT_INFO();
--Set CONTEXT_INFO to @CHANGEAGENTID
if @CHANGEAGENTID is not null
set CONTEXT_INFO @CHANGEAGENTID;
--Remove any source analysis rules that were deleted in the UI
delete from dbo.[MKTSOURCEANALYSISRULEFIELDS]
where [MKTSOURCEANALYSISRULEFIELDS].[SOURCEANALYSISRULEID] = @SOURCEANALYSISRULEID
and not exists (select 1
from @VALIDFIELDS.nodes('//FIELDLIST/ITEM') as [VALIDFIELDS](Item)
where [VALIDFIELDS].Item.value('ID[1]', 'uniqueidentifier') = [MKTSOURCEANALYSISRULEFIELDS].[ID]);
--Reset CONTEXT_INFO to previous value
if not @CONTEXTCACHE is null
set CONTEXT_INFO @CONTEXTCACHE;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;