USP_OLAPETL_UPDATE_ETLREFRESH_KPI
Updates the OLAP data source ETL refresh time KPI for the given data source.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@OLAPDATASOURCEID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_OLAPETL_UPDATE_ETLREFRESH_KPI
@OLAPDATASOURCEID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier=null
as
set nocount on;
declare @CTXID nvarchar(36);
set @CTXID=CAST(@OLAPDATASOURCEID AS NVARCHAR(36));
declare @KPIID uniqueidentifier;
declare @NUMITEMS int;
SELECT TOP 1 @KPIID=ID,@NUMITEMS=NUMBEROFITEMSTOSTORE from dbo.KPIINSTANCE WHERE CONTEXTRECORDID=@CTXID;
--if not KPI exists nothing to do.
IF @KPIID IS NULL
return 0;
--Grab value using existing KPI procedure
declare @CURRENTDATE datetime;
set @CURRENTDATE=getdate();
declare @KPIVALUE int;
exec dbo.USP_OLAP_DATASOURCE_ETLREFRESHTIME_KPIVALUE @KPIVALUE output,@CURRENTDATE,@OLAPDATASOURCEID;
if @KPIVALUE is null return 0;
--Manually save the kpi value.
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @R int;
--This is the same routine that the KPI business process uses.
exec @R=dbo.USP_KPIINSTANCEHISTORY_ADD
@VALUE = @KPIVALUE,
@KPIINSTANCEID = @KPIID,
@ASOFDATE = @CURRENTDATE,
@NUMBEROFITEMSTOSTORE = @NUMITEMS,
@CHANGEAGENTID = @CHANGEAGENTID;
return @R;