Quintiq file version 2.0
|
#parent: #root
|
Method OnMDSConstructedCustom #extension
|
{
|
TextBody:
|
[*
|
// Add custom logic here, workaround for migrating scenariomanager.KPITrackerSetting to KpiGlobalParameter after the migration the KPITrackerSetting will be set to InActive
|
opt := DatasetFindOptions::Construct( ScenarioManager::GetDatasetName() );
|
sm := MDSScenarioManager::Find( opt );
|
sm->( scenariomanager )
|
{
|
setting := scenariomanager.KPITrackerSetting_tobedeleted_2022_3();
|
if ( not isnull( setting ) and not setting.IsInactive() )
|
{
|
gp := this.GlobalParameter();
|
|
if ( isnull( gp ) )
|
{
|
gp := KpiGlobalParameter::Create( this );
|
}
|
if ( not gp.RecordEnabled() and gp.RecordStartTime().IsInfinite() )
|
{
|
gp.RecordEnabled( setting.IsAutoRecordKPI() );
|
gp.RecordFrequency( setting.RecordFrequency() );
|
gp.RecordStartTime( setting.StartOfRecording() );
|
|
traverse( this.MDSKpiTracker(), MDSObjectDaemons, daemon,
|
daemon.Name() = "RecordDaemon" )
|
{
|
|
if ( setting.IsAutoRecordKPI() )
|
{
|
daemon.LocalFrequency( gp.RecordFrequency() )
|
}
|
|
daemon.LocalStartTime( gp.RecordStartTime() );
|
}
|
|
|
cleanupdaemon := select( scenariomanager.MDSScenarioManager(), MDSObjectDaemons, d, d.Name() = "CleanUpKPISnapshot" );
|
|
traverse( this.MDSKpiTracker(), MDSObjectDaemons, daemon,
|
daemon.Name() = "CleanUpDaemon" )
|
{
|
|
gp.CleanUpEnabled( true );
|
gp.CleanUpFrequency( cleanupdaemon.LocalFrequency() );
|
gp.CleanUpStartTime( cleanupdaemon.LocalStartTime() );
|
|
daemon.LocalFrequency( cleanupdaemon.LocalFrequency() )
|
daemon.LocalStartTime( cleanupdaemon.LocalStartTime() );
|
}
|
}
|
setting.IsInactive( true );
|
}
|
}
|
*]
|
}
|