The AlarmFilterEditSet function takes a session handle and a filter expression as parameters. It replaces the current filter session content by the provided expression without any validation. This does not apply to all filters on the list (see AlarmFilterEditCommit).
Syntax
INT AlarmFilterEditSet(INT hSession, STRING FilterCriteria )
Session:
Session handle for the historical list previously returned by the function AlarmFilterEditOpen().
FilterCriteria:
Filter expression as a string. For example:"(Tag=A) OR (TAG=B)"
See the topic Implementing Alarm Filters Using Cicode in the main Citect SCADA help for more information about filter syntax.
Note: If a requested filter is too complex (for example, it contains too many conditions or too many nested brackets), the filter is cleared (no filter is used). The hardware alarm "Too many alarms in filters" is generated on the client components, and a tracelog error message is logged.
Return Value
0 (zero) if the alarm filter session exists, otherwise an error code is returned.
Example
iHndl = AlarmFilterEditOpen(iAN); iRet = AlarmFilterEditSet(iHndl,"Tag=Dig*;Category=1;Area=1;"); iRet = AlarmFilterEditAppend(iHndl, "Priority<20"); sRet = AlarmFilterEditFirst(iHndl); // Tag=Dig*; sRet = AlarmFilterEditNext(iHndl); // Category=1; sRet = AlarmFilterEditLast(iHndl); // Priority<20; sRet = AlarmFilterEditPrev(iHndl); // Area=1; iRet = AlarmFilterEditClose(iHndl);
Related Functions
AlarmFilterEditOpen, AlarmFilterEditClose, AlarmFilterEditAppend,
See Also
Published June 2018