Applies To:
  • CitectSCADA v7.0, v7.1
  • Vijeo Citect v7.0, v7.1
  • PowerLogic SCADA 

Cicode is used to open a filtered browse session using AlmSummaryOpen() and then running the AlmSummaryDeleteAll() function after this to delete the records. This cicode function will delete all alarms in the summary alarm list rather than the filtered browse list.

Example: Deletes 1 category of alarms
        sFiltre = "CATEGORY=" + IntToStr(iCat);
        iHnd = AlmSummaryOpen(sFiltre, "", "");
        IF (iHnd <> -1) THEN
                AlmSummaryDeleteAll(iHnd );
The code above will erroneously delete all summary records.

The help says: "The AlmSummaryDeleteAll function deletes all of the records from the data browse source."

Doesn't the online help infer that this will delete alarms from the filtered list rather than the complete summary alarm list?

To workaround this issue, call AlmSummaryDelete() in a loop so only alarms returned from a browse list can be deleted.

This has now been fixed in version 7.10 Service Pack 3.

 AlmSummaryOpen, AlmSummaryDeleteAll, cicode, summary alarm