USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTATION_3
The load procedure used by the edit dataform template "Marketing Effort Edit Form 3"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@ACTIVE | bit | INOUT | Active |
@CODE | nvarchar(10) | INOUT | Code |
@NAME | nvarchar(100) | INOUT | Name |
@DESCRIPTION | nvarchar(255) | INOUT | Description |
@SITEID | uniqueidentifier | INOUT | Site |
@SOURCECODEID | uniqueidentifier | INOUT | Source code |
@ITEMLIST | xml | INOUT | Items |
@ISTESTMAILING | tinyint | INOUT | Is test marketing effort |
@MAILDATE | datetime | INOUT | Mail date |
@PLANPATH | nvarchar(max) | INOUT | Plan |
@HOUSEHOLDINGTYPECODE | tinyint | INOUT | Householding |
@ENABLEHOUSEHOLDING | bit | INOUT | Enable householding? |
@SITEREQUIRED | bit | INOUT | Site required? |
@SITECANBECHANGED | bit | INOUT | Site can be changed? |
@MAILINGTYPECODE | tinyint | INOUT | Marketing effort type |
@ISBBEC | bit | INOUT | Is BBEC? |
@OWNERID | uniqueidentifier | INOUT | Owner ID |
@EXCLUSIONDATETYPECODE | tinyint | INOUT | Consider exclusions as of |
@EXCLUSIONASOFDATE | datetime | INOUT | Consider exclusions as of |
@EXCLUDEDECEASED | bit | INOUT | Exclude deceased constituents |
@EXCLUDEINACTIVE | bit | INOUT | Exclude inactive constituents |
@EXCLUSIONS | xml | INOUT | Exclusions |
@USEADDRESSPROCESSING | bit | INOUT | Use address processing? |
@ADDRESSPROCESSINGOPTIONID | uniqueidentifier | INOUT | Address processing options |
@NAMEFORMATPARAMETERID | uniqueidentifier | INOUT | Name format options |
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE | tinyint | INOUT | Consider seasonal addresses as of |
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE | datetime | INOUT | Consider seasonal addresses as of |
@CANUPDATEEXCLUDEDECEASED | bit | INOUT | Can update exclude deceased constituents? |
@CANUPDATEEXCLUDEINACTIVE | bit | INOUT | Can update exclude inactive constituents? |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTATION_3]
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@DATALOADED bit = 0 output,
@ACTIVE bit = null output,
@CODE nvarchar(10) = null output,
@NAME nvarchar(100) = null output,
@DESCRIPTION nvarchar(255) = null output,
@SITEID uniqueidentifier = null output,
@SOURCECODEID uniqueidentifier = null output,
@ITEMLIST xml = null output,
@ISTESTMAILING tinyint = null output,
@MAILDATE datetime = null output,
@PLANPATH nvarchar(max) = null output,
@HOUSEHOLDINGTYPECODE tinyint = null output,
@ENABLEHOUSEHOLDING bit = null output,
@SITEREQUIRED bit = null output,
@SITECANBECHANGED bit = null output,
@MAILINGTYPECODE tinyint = null output,
@ISBBEC bit = null output,
@OWNERID uniqueidentifier = null output,
@EXCLUSIONDATETYPECODE tinyint = null output,
@EXCLUSIONASOFDATE datetime = null output,
@EXCLUDEDECEASED bit = null output,
@EXCLUDEINACTIVE bit = null output,
@EXCLUSIONS xml = null output,
@USEADDRESSPROCESSING bit = null output,
@ADDRESSPROCESSINGOPTIONID uniqueidentifier = null output,
@NAMEFORMATPARAMETERID uniqueidentifier = null output,
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint = null output,
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime = null output,
@CANUPDATEEXCLUDEDECEASED bit = null output,
@CANUPDATEEXCLUDEINACTIVE bit = null output,
@TSLONG bigint = 0 output
)
as
set nocount on;
declare @MARKETINGPLANITEMID uniqueidentifier;
set @DATALOADED = 0;
set @TSLONG = 0;
if (select [ACTIVE] from dbo.[MKTSEGMENTATION] where [ID] = @ID) = 0
begin
--Check if the mailing is currently being activated...
declare @R int;
exec @R = dbo.[USP_MKTSEGMENTATION_CHECKACTIVATION] @ID;
if @R <> 0
return 1;
end
select
@ENABLEHOUSEHOLDING = (case when sum(case when isnull([MKTRECORDSOURCEFIELDMAPPINGS].[HOUSEHOLDIDFIELD],'') = '' then 0 else 1 end) = 0 then 0 else 1 end)
from dbo.[MKTRECORDSOURCE]
left join dbo.[MKTRECORDSOURCEFIELDMAPPINGS] on [MKTRECORDSOURCEFIELDMAPPINGS].[ID] = [MKTRECORDSOURCE].[ID]
where dbo.[UFN_MKTRECORDSOURCE_VALIDFORPRODUCT]([MKTRECORDSOURCE].[ID]) = 1;
select
@DATALOADED = 1,
@ACTIVE = [MKTSEGMENTATION].[ACTIVE],
@CODE = [MKTSEGMENTATION].[CODE],
@NAME = [MKTSEGMENTATION].[NAME],
@DESCRIPTION = [MKTSEGMENTATION].[DESCRIPTION],
@SITEID = [MKTSEGMENTATION].[SITEID],
@SOURCECODEID = [MKTSEGMENTATION].[SOURCECODEID],
@ITEMLIST = dbo.[UFN_MKTSOURCECODEPART_GETITEMLIST_TOITEMLISTXML]([MKTSEGMENTATION].[ID]),
@ISTESTMAILING = case when [MKTSEGMENTATION].[PARENTSEGMENTATIONID] is null then 0 else 1 end,
@MAILDATE = [MKTSEGMENTATION].[MAILDATE],
@PLANPATH = dbo.[UFN_MKTMARKETINGPLANITEM_PATH]([MKTSEGMENTATION].[MARKETINGPLANITEMID], 1),
@ENABLEHOUSEHOLDING = (case when [MKTSEGMENTATION].[MAILINGTYPECODE] = 1 then 0 else @ENABLEHOUSEHOLDING end),
@HOUSEHOLDINGTYPECODE = [MKTSEGMENTATION].[HOUSEHOLDINGTYPECODE],
@MARKETINGPLANITEMID = [MKTSEGMENTATION].[MARKETINGPLANITEMID],
@MAILINGTYPECODE = [MKTSEGMENTATION].[MAILINGTYPECODE],
@OWNERID = dbo.[UFN_BUSINESSPROCESSINSTANCE_GETOWNER]('22C3D75C-A956-4BFC-A5FD-4B866BAEF509', [MKTSEGMENTATIONACTIVATEPROCESS].[ID]),
@EXCLUSIONDATETYPECODE = isnull([BUSINESSPROCESSCOMMPREF].[DATETYPECODE], 0),
@EXCLUSIONASOFDATE = [BUSINESSPROCESSCOMMPREF].[ASOFDATE],
@EXCLUDEDECEASED = isnull([BUSINESSPROCESSCOMMPREF].[EXCLUDEDECEASED], 0),
@EXCLUDEINACTIVE = isnull([BUSINESSPROCESSCOMMPREF].[EXCLUDEINACTIVE], 0),
@EXCLUSIONS = dbo.[UFN_MKTSEGMENTATION_GETREQUIREDANDSELECTEDSOLICITCODEEXCLUSIONS_TOITEMLISTXML]([MKTSEGMENTATIONACTIVATEPROCESS].[ID]),
@USEADDRESSPROCESSING = [MKTSEGMENTATION].[USEADDRESSPROCESSING],
@ADDRESSPROCESSINGOPTIONID = [MKTSEGMENTATION].[ADDRESSPROCESSINGOPTIONID],
@NAMEFORMATPARAMETERID = [MKTSEGMENTATION].[NAMEFORMATPARAMETERID],
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE = [MKTSEGMENTATION].[ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE],
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE = [MKTSEGMENTATION].[ADDRESSPROCESSINGOPTIONSEASONALASOFDATE],
@TSLONG = [MKTSEGMENTATION].[TSLONG]
from dbo.[MKTSEGMENTATION]
inner join dbo.[MKTSEGMENTATIONACTIVATEPROCESS] on [MKTSEGMENTATIONACTIVATEPROCESS].[SEGMENTATIONID] = [MKTSEGMENTATION].[ID]
left outer join dbo.[BUSINESSPROCESSCOMMPREF] on [BUSINESSPROCESSCOMMPREF].[BUSINESSPROCESSPARAMETERSETID] = [MKTSEGMENTATIONACTIVATEPROCESS].[ID]
where [MKTSEGMENTATION].[ID] = @ID;
set @SITEREQUIRED = dbo.[UFN_SITEREQUIREDFORUSERONFEATURE](@CURRENTAPPUSERID, 'f31b3d0e-eabd-4d04-954e-479dda79fadd', 1);
set @SITECANBECHANGED = 1; -- obsolete
set @ISBBEC = (case when dbo.[UFN_INSTALLEDPRODUCTS_PRODUCTIS]('BB9873D7-F1ED-430A-8AB4-F09F47056538') = 0 then 1 else 0 end);
set @CANUPDATEEXCLUDEDECEASED = 1;
set @CANUPDATEEXCLUDEINACTIVE = 1;
if dbo.[UFN_APPUSER_ISSYSADMIN](@CURRENTAPPUSERID) = 0
begin
set @CANUPDATEEXCLUDEDECEASED = dbo.UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE(@CURRENTAPPUSERID, '2EEC593D-06B1-49E0-9031-A4076B07081C');
set @CANUPDATEEXCLUDEINACTIVE = dbo.UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE(@CURRENTAPPUSERID, 'C0E02A6F-DF46-460C-ACA2-CC31C9C11BFC');
end;
return 0;