Quintiq file version 2.0
|
#parent: #root
|
Method ConvertNvtToShadowSnapshotSetData (
|
NamedValueTree nvt
|
) as shadow[KpiSnapshotSetData] id:Method_Kpi_GlobalState_ConvertNvtToShadowSnapshotSetData
|
{
|
#keys: '[136402.0.1319129634]'
|
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
|
}
|