USP_DATAFORMTEMPLATE_EDIT_MKTCOMMUNICATIONEFFORTADDRESSPROCESSING
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@USEADDRESSPROCESSING | bit | IN | |
@ADDRESSPROCESSINGOPTIONID | uniqueidentifier | IN | |
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE | tinyint | IN | |
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE | datetime | IN | |
@NAMEFORMATPARAMETERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTCOMMUNICATIONEFFORTADDRESSPROCESSING]
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@USEADDRESSPROCESSING bit,
@ADDRESSPROCESSINGOPTIONID uniqueidentifier,
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint,
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime,
@NAMEFORMATPARAMETERID uniqueidentifier
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getdate();
declare @ADDRESSPROCESSINGLOCKED bit = 0;
begin try
/* Get template locked settings */
if exists(select top 1 1 from dbo.[MKTCOMMUNICATIONTEMPLATE] where [MKTSEGMENTATIONID] = @ID)
begin
select
@ADDRESSPROCESSINGLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[ADDRESSPROCESSINGLOCKED]
from dbo.[MKTCOMMUNICATIONTEMPLATE]
inner join dbo.[MKTCOMMUNICATIONTEMPLATEDEFAULT] on [MKTCOMMUNICATIONTEMPLATEDEFAULT].[COMMUNICATIONTEMPLATEID] = [MKTCOMMUNICATIONTEMPLATE].[ID]
where [MKTCOMMUNICATIONTEMPLATE].[MKTSEGMENTATIONID] = @ID;
end
/* Update address processing settings */
update [MKTSEGMENTATION]
set
[USEADDRESSPROCESSING] = case when @ADDRESSPROCESSINGLOCKED = 1 then [USEADDRESSPROCESSING] else @USEADDRESSPROCESSING end,
[ADDRESSPROCESSINGOPTIONID] = case when @ADDRESSPROCESSINGLOCKED = 1 then [ADDRESSPROCESSINGOPTIONID] else @ADDRESSPROCESSINGOPTIONID end,
[ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE] = case when @ADDRESSPROCESSINGLOCKED = 1 then [ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE] else @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE end,
[ADDRESSPROCESSINGOPTIONSEASONALASOFDATE] = case when @ADDRESSPROCESSINGLOCKED = 1 then [ADDRESSPROCESSINGOPTIONSEASONALASOFDATE] else @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE end,
[NAMEFORMATPARAMETERID] = case when @ADDRESSPROCESSINGLOCKED = 1 then [NAMEFORMATPARAMETERID] else @NAMEFORMATPARAMETERID end,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;