Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method Update ( 
 | 
  Boolean isautorecordkpi, 
 | 
  Duration recordfrequency, 
 | 
  DateTime startofrecording, 
 | 
  Duration retentionduration 
 | 
) 
 | 
{ 
 | 
  Description: 'Update KPITracker setting' 
 | 
  TextBody: 
 | 
  [* 
 | 
    this.IsAutoRecordKPI( isautorecordkpi ); 
 | 
    this.RecordFrequency( recordfrequency ); 
 | 
    this.StartOfRecording( startofrecording ); 
 | 
    this.RetentionDuration( retentionduration ); 
 | 
     
 | 
    daemonstarttime := DateTime::MaxDateTime(); 
 | 
    if ( isautorecordkpi ) 
 | 
    { 
 | 
      daemonstarttime := startofrecording; 
 | 
    } 
 | 
     
 | 
    // update daemon setting 
 | 
    daemon := select( this.ScenarioManager().MDSScenarioManager(), 
 | 
                      MDSObjectDaemons, daemon, daemon.Name() = ScenarioManager::ScenarioKPISnapshotDaemonName() ); 
 | 
    if ( not isnull( daemon ) ) 
 | 
    { 
 | 
      daemon.LocalFrequency( recordfrequency ); 
 | 
      daemon.LocalStartTime( daemonstarttime ); 
 | 
    } 
 | 
     
 | 
    this.ScenarioManager().CreateRetentionPeriodPolicy(); 
 | 
  *] 
 | 
} 
 |