Cicode Programming Reference > Cicode Function Categories > Alarm Filter Functions > AlarmFilterEditSet

AlarmFilterEditSet

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

Alarm Filter Functions

Published June 2018