| 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(); | 
|   *] | 
| } |