USP_MKTCOMMUNICATIONTEMPLATEDEFAULTKPI_GETFIELDS

Parameters

Parameter Parameter Type Mode Description
@COMMUNICATIONTEMPLATEID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.[USP_MKTCOMMUNICATIONTEMPLATEDEFAULTKPI_GETFIELDS]
(
  @COMMUNICATIONTEMPLATEID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier = null
)
as
  set nocount on;

  declare @KPINAMESUFFIX nvarchar(50) = ' for Marketing Effort';
  declare @KPIRECORDTYPE uniqueidentifier;
  declare @MEMBERSHIPKPINAMESUFFIX nvarchar(50);

  --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 @MEMBERSHIPKPINAMESUFFIX = ' for Membership Renewal Effort';

   select
    [MKTCOMMUNICATIONTEMPLATEDEFAULTKPI].[KPICATALOGID],
    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],
    [MKTCOMMUNICATIONTEMPLATEDEFAULTKPI].[LOCKED]
  from dbo.[MKTCOMMUNICATIONTEMPLATEDEFAULTKPI]
  inner join dbo.[KPICATALOG] on [KPICATALOG].[ID] = [MKTCOMMUNICATIONTEMPLATEDEFAULTKPI].[KPICATALOGID]
  where [MKTCOMMUNICATIONTEMPLATEDEFAULTKPI].[COMMUNICATIONTEMPLATEID] = @COMMUNICATIONTEMPLATEID
  and (@CURRENTAPPUSERID is null or dbo.[UFN_SECURITY_APPUSER_GRANTED_KPI](@CURRENTAPPUSERID, [KPICATALOG].[ID]) = 1)
  order by [KPICATALOG].[NAME];

  return 0;