USP_DATAFORMTEMPLATE_EDITLOAD_MKTCOMMUNICATIONEFFORTKPIS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@TSLONG | bigint | INOUT | |
@DATALOADED | bit | INOUT | |
@KPIS | xml | INOUT | |
@SITEID | uniqueidentifier | INOUT | |
@BASECURRENCYID | uniqueidentifier | INOUT | |
@HASCOMMUNICATIONTEMPLATE | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_MKTCOMMUNICATIONEFFORTKPIS
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@TSLONG bigint = null output,
@DATALOADED bit = null output,
@KPIS xml = null output,
@SITEID uniqueidentifier = null output,
@BASECURRENCYID uniqueidentifier = null output,
@HASCOMMUNICATIONTEMPLATE bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @HASCOMMUNICATIONTEMPLATE = 0;
declare @TEMPLATETYPECODE tinyint;
declare @KPINAMESUFFIX nvarchar(50) = ' for Marketing Effort';
declare @MEMBERSHIPKPINAMESUFFIX nvarchar(50) = ' for Membership Effort';
select
@TSLONG = [TSLONG],
@DATALOADED = 1,
@TEMPLATETYPECODE = (select [TEMPLATETYPECODE] from dbo.[MKTCOMMUNICATIONTEMPLATE] where [MKTSEGMENTATIONID] = @ID),
@SITEID = [SITEID],
@BASECURRENCYID = [BASECURRENCYID]
from
dbo.[MKTSEGMENTATION]
where
[ID] = @ID;
if @DATALOADED = 1
begin
select
@HASCOMMUNICATIONTEMPLATE = cast(
case when
[MKTCOMMUNICATIONTEMPLATE].[ID] is not null
then 1 else 0 end as bit)
from
dbo.[MKTSEGMENTATION]
left join dbo.[MKTCOMMUNICATIONTEMPLATE] on [MKTCOMMUNICATIONTEMPLATE].[MKTSEGMENTATIONID] = [MKTSEGMENTATION].[ID]
where
[MKTSEGMENTATION].[ID] = @ID;
set @KPIS = (
select
[KPICATALOGID],
[LOCKED],
@TEMPLATETYPECODE [TEMPLATETYPECODE]
from (
select
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],
[MKTSEGMENTATIONACTIVATEKPI].[KPICATALOGID],
cast(isnull((select [MKTCOMMUNICATIONTEMPLATEDEFAULTKPI].[LOCKED] from dbo.[MKTCOMMUNICATIONTEMPLATEDEFAULTKPI] inner join dbo.[MKTCOMMUNICATIONTEMPLATE] on [MKTCOMMUNICATIONTEMPLATEDEFAULTKPI].[COMMUNICATIONTEMPLATEID] = [MKTCOMMUNICATIONTEMPLATE].[ID] and [MKTCOMMUNICATIONTEMPLATE].[MKTSEGMENTATIONID] = @ID where [KPICATALOGID] = [KPICATALOG].[ID]),0) as bit) as [LOCKED]
from
dbo.[MKTSEGMENTATIONACTIVATEKPI]
inner join dbo.[KPICATALOG] on [MKTSEGMENTATIONACTIVATEKPI].[KPICATALOGID] = [KPICATALOG].[ID]
inner join dbo.[KPIINSTANCE] on [KPICATALOG].[ID] = [KPIINSTANCE].[KPICATALOGID] and [KPIINSTANCE].[CONTEXTRECORDID] = cast(@ID as nvarchar(100))
where
[MKTSEGMENTATIONACTIVATEKPI].[SEGMENTATIONID] = @ID
) [KPITABLE]
order by [KPITABLE].[NAME]
for xml raw('ITEM'), root('KPIS'), binary base64);
end
return 0;