Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method ConvertNvtToShadowSnapshotSetData ( 
 | 
  NamedValueTree nvt 
 | 
) as shadow[KpiSnapshotSetData] id:Method_GlobalStateKpiTracker_ConvertNvtToShadowSnapshotSetData 
 | 
{ 
 | 
  #keys: '[136398.1.783148550]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Converts the query-result NamedValueTree to a shadow-KpiSnapshotSetData enclosure. 
 | 
    set := KpiTracker.KpiSnapshotSetData( relshadow ); 
 | 
     
 | 
    // Define handles. 
 | 
    setDataHandle  := nvt.GetHandle( "KpiSnapshotSetData" ); 
 | 
    snapshotHandle := nvt.GetHandle( "KpiSnapshotData" ); 
 | 
    kpivalueHandle := nvt.GetHandle( "KpiValueData" ); 
 | 
    labelHandle    := nvt.GetHandle( "KpiLabelData" ); 
 | 
    serverDtHandle := nvt.GetHandle( "ServerDateTime" ); 
 | 
    planDtHandle   := nvt.GetHandle( "PlanDateTime" ); 
 | 
    nameHandle     := nvt.GetHandle( 'Name' ); 
 | 
    valueHandle    := nvt.GetHandle( 'Value' ); 
 | 
    retentionHandle:= nvt.GetHandle( 'RetentionPolicyIdentification' ); 
 | 
    sourceDatasetMDSIDHandle := nvt.GetHandle( 'SourceDatasetMDSID' ); 
 | 
     
 | 
    // Get to the real root (the setData). 
 | 
    root           := nvt.Root(); 
 | 
    setData        := root.Child( setDataHandle ); 
 | 
     
 | 
    // Each child of setData is a SnapshotData. 
 | 
    traverse( setData.Children( snapshotHandle ), Elements, snapshotNvt ) 
 | 
    { 
 | 
      snapshot := set.SnapshotData( relnew ); 
 | 
      snapshot.ServerDateTime ( snapshotNvt.Child( serverDtHandle ).GetValueAsDateTime() ); 
 | 
      snapshot.PlanDateTime   ( snapshotNvt.Child( planDtHandle ).GetValueAsDateTime() ); 
 | 
      snapshot.RetentionPolicyIdentification( snapshotNvt.Child( retentionHandle ).GetValueAsString() ); 
 | 
      snapshot.SourceDatasetMDSID( snapshotNvt.Child( sourceDatasetMDSIDHandle ).GetValueAsKey() ); 
 | 
     
 | 
      // Labels 
 | 
      labels := construct( Strings ); 
 | 
      labeldata := selectsortedset( snapshotNvt.Children( labelHandle ), Elements, label, true, label.Child( nameHandle ).GetValueAsString() ); 
 | 
      traverse( labeldata, Elements, labelNvt ) 
 | 
      { 
 | 
        label := snapshot.Label( relnew ); 
 | 
        label.Name( labelNvt.Child( nameHandle ).GetValueAsString() ); 
 | 
        label.Value( labelNvt.Child( valueHandle ).GetValueAsString() ); 
 | 
        labels.Add( label.Name() + ": " + label.Value() ); 
 | 
      } 
 | 
       
 | 
      // Kpi values 
 | 
      traverse( snapshotNvt.Children( kpivalueHandle ), Elements, valueNvt ) 
 | 
      { 
 | 
        val := snapshot.Value( relnew ); 
 | 
        val.Name( valueNvt.Child( nameHandle ).GetValueAsString() ); 
 | 
        val.Value( valueNvt.Child( valueHandle ).GetValueAsReal() ); 
 | 
        val.UI_SnapshotLabels( labels.ToString( ";" ) ); 
 | 
      } 
 | 
     
 | 
    } 
 | 
     
 | 
    return &set; 
 | 
  *] 
 | 
  ReturnsOwning: true 
 | 
} 
 |