1
%RegisteredObject
62160,39172.002386
0
%String
Context:%String
1
1
%Status
StartLabel:%String
0)
{
Set ParentLabel = LabelsQueue.GetAt(1)
Set ParentTimingUnit = Index.GetAt(ParentLabel)
Do LabelsQueue.RemoveAt(1)
Set ResultSet = ##class(%ResultSet).%New("zTryout.CSC.Timing.Writer:GeefKnopen")
Do ResultSet.Execute(..Context, ParentLabel)
While (ResultSet.Next())
{
Do LabelsQueue.Insert(ResultSet.Data("Label"))
Set TimingUnit = ##class(zTryout.CSC.TimingCopy.TimingUnit).%New()
Set TimingUnit.Label = ResultSet.Data("Label")
Set TimingUnit.ParentLabel = ResultSet.Data("ParentLabel")
Set TimingUnit.Aantal = ResultSet.Data("Aantal")
Set TimingUnit.Minimum = ResultSet.Data("Minimum")
Set TimingUnit.Average = ResultSet.Data("Average")
Set TimingUnit.Maximum = ResultSet.Data("Maximum")
Do Index.SetAt(TimingUnit, TimingUnit.Label)
Do ParentTimingUnit.Children.Insert(TimingUnit)
}
}
Do ..Verwerk(Index.GetAt(StartLabel))
]]>
Knoop:zTryout.CSC.TimingCopy.TimingUnit,Niveau:%Integer=0
0)
{
w ", Aant: "_Knoop.Aantal_", Avg: "_$Piece(Knoop.Average,".")_"."_$Extract($Piece(Knoop.Average,".",2),1,2)
w !,Indentatie_"Min: "_Knoop.Minimum_", Max: "_Knoop.Maximum
}
Set Iterator = ##class(TECH.ListIterator).%New(Knoop.Children)
While (Iterator.HasNext())
{
Do ..Verwerk(Iterator.Next(),(Niveau+1))
}
]]>
%SQLQuery
Context:%String,ParentLabel:%String
SELECT Label, ParentLabel, count(1) as Aantal, min(Duurtijd) as Minimum, avg(Duurtijd) as Average, max(Duurtijd) as Maximum
FROM TECH_Timing.Timer
WHERE Context = :Context AND ParentLabel = :ParentLabel
GROUP BY ParentLabel, Label