USP_DATAFORMTEMPLATE_EDIT_MKTCOMMUNICATIONEFFORTKPIS

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@KPIS xml IN

Definition

Copy


create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_MKTCOMMUNICATIONEFFORTKPIS 
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @CURRENTAPPUSERID uniqueidentifier,
  @KPIS xml
)
as

  set nocount on;

  if @CHANGEAGENTID is null  
    exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;

  declare @CURRENTDATE datetime = getdate();

  begin try

    --convert KPIS to element based so they can be processed

    declare @ACTIVATIONKPIS xml = (
        select 
          [KPICATALOGID] 
        from
          (
            select
              T.c.value('(@KPICATALOGID)[1]', 'uniqueidentifier') as [KPICATALOGID]
            from
              @KPIS.nodes('/KPIS/ITEM') T(c)
          ) [KPIS]
        for xml path('ITEM'),type,elements,root('ACTIVATIONKPIS'),BINARY BASE64
      );

    exec dbo.[USP_MKTSEGMENTATIONACTIVATEKPI_SAVEFIELD_FROMXML] 
      @ID,
      @ACTIVATIONKPIS,
      1,
      @CHANGEAGENTID,
      @CURRENTAPPUSERID;

  end try
  begin catch
    exec dbo.[USP_RAISE_ERROR];
    return 1;
  end catch

return 0;