USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTATIONPASSIVE
The load procedure used by the edit dataform template "Public Media Marketing Effort Edit Form"
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. |
@MAILINGTYPECODE | tinyint | INOUT | Marketing effort type |
@ACTIVE | bit | INOUT | Active |
@NAME | nvarchar(100) | INOUT | Name |
@DESCRIPTION | nvarchar(255) | INOUT | Description |
@SITEID | uniqueidentifier | INOUT | Site |
@SITEREQUIRED | bit | INOUT | Site required? |
@SITECANBECHANGED | bit | INOUT | Site can be changed? |
@MAILDATE | datetime | INOUT | Date |
@SOURCECODEID | uniqueidentifier | INOUT | Source code |
@CODEVALUEID | uniqueidentifier | INOUT | Code value ID |
@CODE | nvarchar(10) | INOUT | Code |
@ITEMLIST | xml | INOUT | Items |
@ISTESTMAILING | tinyint | INOUT | Is test marketing effort |
@ACTIVATIONKPIS | xml | INOUT | Activation KPIs |
@USEKPISASDEFAULT | bit | INOUT | Use the chosen KPIs as the default for future marketing efforts |
@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. |
@BASECURRENCYID | uniqueidentifier | INOUT | Base currency ID |
@APPEALINFORMATION | xml | INOUT | Appeal information |
@RESPONSES | int | INOUT | Responses |
@CANCHANGEBASECURRENCY | bit | INOUT |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTATIONPASSIVE]
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@DATALOADED bit = 0 output,
@MAILINGTYPECODE tinyint = null output,
@ACTIVE bit = null output,
@NAME nvarchar(100) = null output,
@DESCRIPTION nvarchar(255) = null output,
@SITEID uniqueidentifier = null output,
@SITEREQUIRED bit = null output,
@SITECANBECHANGED bit = null output,
@MAILDATE datetime = null output,
@SOURCECODEID uniqueidentifier = null output,
@CODEVALUEID uniqueidentifier = null output,
@CODE nvarchar(10) = null output,
@ITEMLIST xml = null output,
@ISTESTMAILING tinyint = null output,
@ACTIVATIONKPIS xml = null output, -- obsolete
@USEKPISASDEFAULT bit = null output, -- obsolete
@TSLONG bigint = 0 output,
@BASECURRENCYID uniqueidentifier = null output,
@APPEALINFORMATION xml = null output,
@RESPONSES integer = null output,
@CANCHANGEBASECURRENCY bit = null output
)
as
set nocount on;
declare @ISBBEC bit;
declare @RESPONSECOUNTS table(
[OFFERS] int,
[RESPONDERS] int,
[RESPONSES] int,
[TOTALGIFTAMOUNT] money,
[RESPONSERATE] decimal(20, 5),
[ORGANIZATIONTOTALGIFTAMOUNT] money,
[FIRSTRESPONSEDATE] datetime
);
set @DATALOADED = 0;
set @TSLONG = 0;
set @ISBBEC = (case when dbo.[UFN_INSTALLEDPRODUCTS_PRODUCTIS]('BB9873D7-F1ED-430A-8AB4-F09F47056538') = 0 then 1 else 0 end);
set @CANCHANGEBASECURRENCY = (case when (select count([ID]) from dbo.[MKTSEGMENTATIONSEGMENT] where [SEGMENTATIONID] = @ID) > 0 then 0 else 1 end);
select
@DATALOADED = 1,
@ACTIVE = [MKTSEGMENTATION].[ACTIVE],
@MAILINGTYPECODE = [MKTSEGMENTATION].[MAILINGTYPECODE],
@NAME = [MKTSEGMENTATION].[NAME],
@DESCRIPTION = [MKTSEGMENTATION].[DESCRIPTION],
@SITEID = [MKTSEGMENTATION].[SITEID],
@SITEREQUIRED = dbo.[UFN_SITEREQUIREDFORUSERONFEATURE](@CURRENTAPPUSERID, 'D76EDDB0-5BA6-4CBF-B528-25879060C564', 1),
@MAILDATE = [MKTSEGMENTATION].[MAILDATE],
@SOURCECODEID = [MKTSEGMENTATION].[SOURCECODEID],
@CODEVALUEID = [MKTSEGMENTATION].[PARTDEFINITIONVALUESID],
@CODE = [MKTSEGMENTATION].[CODE],
@ITEMLIST = dbo.[UFN_MKTSOURCECODEPART_GETITEMLIST2_TOITEMLISTXML]([MKTSEGMENTATION].[ID]),
@ISTESTMAILING = case when [MKTSEGMENTATION].[PARENTSEGMENTATIONID] is null then 0 else 1 end,
@TSLONG = [MKTSEGMENTATION].[TSLONG],
@BASECURRENCYID = [MKTSEGMENTATION].[BASECURRENCYID]
from dbo.[MKTSEGMENTATION]
inner join dbo.[MKTSEGMENTATIONACTIVATEPROCESS] on [MKTSEGMENTATIONACTIVATEPROCESS].[SEGMENTATIONID] = [MKTSEGMENTATION].[ID]
where [MKTSEGMENTATION].[ID] = @ID;
if @DATALOADED = 1
begin
set @SITECANBECHANGED = 1; -- obsolete
set @APPEALINFORMATION = (
select
[MKTAPPEALRECORDSOURCE].[ID] as [RECORDSOURCEID],
[QUERYVIEWCATALOG].[DISPLAYNAME] as [RECORDSOURCENAME],
[MKTAPPEALRECORDSOURCE].[SEARCHLISTCATALOGID] as [SEARCHLISTCATALOGID],
[MKTAPPEALRECORDSOURCE].[DESCRIPTIONFIELD] as [SEARCHLISTDESCRIPTIONFIELD],
[MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] as [APPEALSYSTEMID],
(case when @ISBBEC = 1 and [MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] <> '' and dbo.[UFN_MKTRECORDSOURCE_VALIDFORBBEC]([MKTAPPEALRECORDSOURCE].[ID]) = 1 then
(select [NAME] from dbo.[APPEAL] where [ID] = cast([MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] as uniqueidentifier))
else
[MKTSEGMENTATIONACTIVATE].[APPEALID]
end) as [APPEALID],
(case when @ISBBEC = 1 and [MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] <> '' and dbo.[UFN_MKTRECORDSOURCE_VALIDFORBBEC]([MKTAPPEALRECORDSOURCE].[ID]) = 1 then
(select [DESCRIPTION] from dbo.[APPEAL] where [ID] = cast([MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] as uniqueidentifier))
else
[MKTSEGMENTATIONACTIVATE].[APPEALDESCRIPTION]
end) as [APPEALDESCRIPTION]
from dbo.[MKTAPPEALRECORDSOURCE]
inner join [QUERYVIEWCATALOG] on [MKTAPPEALRECORDSOURCE].[ID] = [QUERYVIEWCATALOG].[ID]
left join [MKTSEGMENTATIONACTIVATE] on [MKTSEGMENTATIONACTIVATE].[RECORDSOURCEID] = [MKTAPPEALRECORDSOURCE].[ID] and [MKTSEGMENTATIONACTIVATE].[SEGMENTATIONID] = @ID
where (@ACTIVE = 0 or (@ACTIVE = 1 and [MKTSEGMENTATIONACTIVATE].[APPEALID] <> ''))
and (dbo.[UFN_MKTRECORDSOURCE_VALIDFORPRODUCT]([QUERYVIEWCATALOG].[ID]) = 1)
for xml raw('ITEM'), type, elements, root('APPEALINFORMATION'), binary base64);
declare @KPITABLE as table (
[KPICATALOGID] uniqueidentifier,
[SELECTED] bit,
[NAME] nvarchar(255),
[GOALTYPECODE] tinyint,
[DEFAULT] bit,
[LOCKED] bit,
[TEMPLATETYPECODE] tinyint
);
insert into @KPITABLE
exec dbo.[USP_MKTSEGMENTATIONACTIVATEKPI_GETFIELDS] @ID, 1, @CURRENTAPPUSERID;
set @ACTIVATIONKPIS = (
select
[KPICATALOGID],
[SELECTED],
[NAME],
[GOALTYPECODE],
[DEFAULT]
from @KPITABLE
for xml raw('ITEM'), type, elements, root('ACTIVATIONKPIS'), binary base64);
insert into @RESPONSECOUNTS
exec dbo.[USP_MKTSEGMENTATION_GETRESPONSECOUNTS] @ID, null;
select top 1 @RESPONSES = [RESPONSES] from @RESPONSECOUNTS;
end
return 0;