Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetStateCount - method of object PmAlarmEvent

Description:
Getting the number of alarms that fit the specified filtering text.
Syntax:
GetStateCount(sFilter As String) As Long
Calling:
n = oAlEv.GetStateCount(sFilter)
Parameters:
sFilter(String) Filtering text that specifies which alarms/events are to be included into the desired output.

Different filtration fields can be used simultaneously, the alarm/event then must comply with all of them (e.g. "desc:FIQ100;priority.ge:5;").

The filtering text xx cannot be empty (e.g. it is not possible to enter "desc:;").

Entries with assigned value are separated by a semicolon, for example "state:3;desc:Test2;records:50;".
 

The folowing types of filtration texts exist (where "field" represents some of the alarm columns):

"field:xx;" means that the corresponding alarm field must be equal to the value of xx.
"field:#eq:xx;" means that the corresponding alarm field must be equal to the text xx. If the corresponding alarm field is to be equal to one of several texts, it is possible to enter multiple texts separated by #or: (OR operator).
"field:#begin:xx;" means that the corresponding alarm field must begin with the text xx. If the corresponding alarm field is to begin with some of several texts, it is possible to enter multiple texts separated by #or: (OR operator).
"field:#in:xx;" means that the corresponding alarm field must contain the textxx. If the corresponding alarm field is to contain some of several texts, it is possible to enter multiple texts separated by #or: (OR opertor).
"field:#le:xx;" means that the corresponding alarm field must be less or equal to xx.
"field:#ge:xx;" means that the corresponding alarm field must be greater or equal to xx.
 
Note! If the field begins with the text s., then this is the setting hidden from the enduser in the alarm/event viewer and it is used to set the definite script filtration independent on end user settings. Both filtration type fields can be used for a single column simultaneously. In order to let the alarm/event pass the filter it must comly to both filtering fields. This can be handy for definite script filtrations (independent on enduser) and also for setting the initial state of user defined filtration (that can be modified by the enduser). For example s.source:#begin:Boiler;source:Boiler1;.
 
"state:xx;" (optional) - Display alarms whose state equals to the state xx. Even several states, separated by comma, can be mentioned. For example "state:3,2,1;".
"hoot:xx;" (optional) - Display alarms by sound notification, where xx:
0 = alarms without sound
1 = alarms with sound
"area:#oper:xx;" (optional) - Show alarms with area observing the defined operation #oper:xx. The part of filter dependent on user setting in the alarm/event viewer. For example "area:BoilerPlant1;" or "area:#eq:BoilerPlant1;" or "area:#eq:BoilerPlant1#or:BoilerPlant2;" or "area:#begin:BoilerPlant;".
"s.area:#oper:xx;" (optional) - Show alarms with area observing the defined operation #oper:xx. The part of filter hidden from the user in the alarm/event viewer. For example "s.area:BoilerPlant1;" or "s.area:#eq:BoilerPlant1;" or "s.area:#eq:BoilerPlant1#or:BoilerPlant2;" or "s.area:#begin:BoilerPlant;".
"source:#oper:xx;" (optional) - Show alarms with source observing the defined operation #oper:xx. The part of filter dependent on user setting in the alarm/event viewer. For example "source:Boiler;" or "source:#eq:Boiler;" or "source:#eq:Boiler1#or:Boiler2;" or "source:#begin:Boiler;".
"s.source:#oper:xx;" (optional) - Show alarms with source observing the defined operation #oper:xx. The part of filter hidden from the user in the alarm/event viewer. For example "s.source:Boiler;" or "s.source:#eq:Boiler;" or "s.source:#eq:Boiler1#or:Boiler2;" or "s.source:#begin:Boiler;".
"desc:#oper:xx;" (optional) - Show alarms with description (desc) observing the defined operation #oper:xx. The part of filter dependent on user setting in the alarm/event viewer. For example "desc:FIQ101;" or "desc:#eq:FIQ101;" or "desc:#eq:FIQ101#or:FIQ102;" or "desc:#begin:FIQ;".
"s.desc:#oper:xx;" (optional) - Show alarms with description (desc) observing the defined operation #oper:xx. The part of filter hidden from the user in the alarm/event viewer. For example "s.desc:FIQ101;" or "s.desc:#eq:FIQ101;" or "s.desc:#eq:FIQ101#or:FIQ102;" or "s.desc:#begin:FIQ;".
"comment:#oper:xx;" (optional) - Show alarms with comment observing the defined operation #oper:xx. The part of filter dependent on user setting in the alarm/event viewer. For example "comment:correction;" or "comment:#eq:correction;" or "comment:#eq:correction#or:test;" or "comment:#begin:correction;".
"s.comment:#oper:xx;" (optional) - Show alarms with comment observing the defined operation #oper:xx. The part of filter hidden from the user in the alarm/event viewer. For example "s.comment:correction;" or "s.comment:#eq:correction;" or "s.comment:#eq:correction#or:test;" or "s.comment:#begin:correction;".
"priority:#oper:xx;" (optional) - Display alarms whose priority complies with the iperation #oper:xx. The part of filter dependent on user setting in the alarm/event viewer. For example "priority:5;" or "priority:#eq:5;" or "priority:#le:5;" or "priority:#ge:5;".
"from:xx;" (optional) - Display the alarms with time of creation (timeon) greater or equal to time "xx". The time is entered as time(YYYY.MM.DD-hh:mm:ss.mmm), e.g. from:time(2016.07.28-14:30:00.000); The time interval allows to narrow down the searched alarm set (the alarms outside the time interval are not tested).
"to:xx;" (optional) - Display the alarms with time of creation (timeon) less or equal to time "xx". The time is entered as time(YYYY.MM.DD-hh:mm:ss.mmm), e.g. from:time(2016.07.28-15:00:00.000); The to time can also be entered by the now keyword, which means the current time (at the moment of calling), e.g. to:now. The time interval allows to narrow down the searched alarm set (the alarms outside the time interval are not tested).
"timerange:xx;" (optional) - Display the alarms with the creation time (timeon) belonging to specified time interval For selecting the time interval by timerange, the value of from or to must be defied, then the timerange allows to compute the missing limit of the time interval. Thus the time interval can be defined by the following pairs: from - to, from - timerange or to - timerange. For example to:now;timerange:30m;. The time interval allows to reduce the portion of alarm items to be searched (the alarm items outside the time interval are not tested).

The time span can be entered as whole number followed by time unit sign (without space). Valid time units are: w = week, d = day, h = hour, m = minute, s = second. For example timerange:12h; or timerange:90m;.

Note:
It is irrelevant for events (relevant only for alarms).
Example1:
Finding out the number of all alarms in the state: active unacknowledged (red).
n = oAlEv.GetStateCount("state:3;")
Example2:
Finding out the number of all alarms in the state active unacknowledged (red). that have the priority 10.
n = oAlEv.GetStateCount("TechAlarm", "state:3;priority:10;")
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice