USP_MKTSEGMENTATIONACTIVATEKPI_GETDEFAULTS
Returns a list of default marketing effort KPIs to be created upon activation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MAILINGTYPECODE | tinyint | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.[USP_MKTSEGMENTATIONACTIVATEKPI_GETDEFAULTS]
(
@MAILINGTYPECODE tinyint,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
declare @KPIRECORDTYPE uniqueidentifier;
declare @KPINAMESUFFIX nvarchar(50);
declare @MEMBERSHIPKPINAMESUFFIX nvarchar(50);
declare @DEFAULTS table([KPICATALOGID] uniqueidentifier primary key);
--Get the KPI record type and set the name suffix to remove from the names, so the names don't look cluttered in the activate UI...
set @KPIRECORDTYPE = dbo.[UFN_RECORDTYPE_GETIDBYNAME]('Marketing Effort');
set @KPINAMESUFFIX = ' for Marketing Effort';
set @MEMBERSHIPKPINAMESUFFIX = ' for Membership Effort';
insert into @DEFAULTS
select [KPICATALOGID]
from dbo.[MKTSEGMENTATIONACTIVATEDEFAULTKPI]
where [MAILINGTYPECODE] = @MAILINGTYPECODE;
select
[KPICATALOG].[ID],
cast(case when exists(select top 1 1 from @DEFAULTS as [D] where [D].[KPICATALOGID] = [KPICATALOG].[ID])
then 1
else 0
end as bit) as [SELECTED],
case when [KPICATALOG].[NAME] like '%' + @KPINAMESUFFIX
then left([KPICATALOG].[NAME], len([KPICATALOG].[NAME]) - len(@KPINAMESUFFIX))
when [KPICATALOG].[NAME] like '%' + @MEMBERSHIPKPINAMESUFFIX
then left([KPICATALOG].[NAME], len([KPICATALOG].[NAME]) - len(@MEMBERSHIPKPINAMESUFFIX))
else [KPICATALOG].[NAME]
end as [NAME],
[KPICATALOG].[GOALTYPECODE],
cast (case when exists(select 1 from @DEFAULTS as [D] where [D].[KPICATALOGID] = [KPICATALOG].[ID])
then 1
else 0
end as bit) as [DEFAULT]
from dbo.[KPICATALOG]
where
[KPICATALOG].[CONTEXTRECORDTYPEID] = @KPIRECORDTYPE
and (@CURRENTAPPUSERID is null or dbo.[UFN_SECURITY_APPUSER_GRANTED_KPI](@CURRENTAPPUSERID, [KPICATALOG].[ID]) = 1)
and
(
[SPECXML].value(
'declare namespace bbafx="bb_appfx_kpi";
declare namespace c="bb_appfx_commontypes";
(bbafx:KpiSpec/c:MetaTags/@MarketingMembershipMailingKPI)[1]',
'char(1)') is null
or
[SPECXML].value(
'declare namespace bbafx="bb_appfx_kpi";
declare namespace c="bb_appfx_commontypes";
(bbafx:KpiSpec/c:MetaTags/@MarketingMembershipMailingKPI)[1]',
'char(1)') = (case when @MAILINGTYPECODE = 2 then '1' else '0' end)
)
order by [KPICATALOG].[NAME];
return 0;