Focal Point
How to keep an alert from sending the same thing?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/6291079672

March 20, 2008, 10:12 AM
Jason K.
How to keep an alert from sending the same thing?
I am new to alerts and I'm having trouble tracking down documentation for the following.

If I set up an alert test for a condition on say, if Sales less than $1 and a report that has a where clause of "sales LT 1", then I set up a reportcast to run every 10 minutes, How could I keep it from just sending all the items over and over again, each 10 minutes?

Our IT director said he heard that there's something called a 'counter' that keeps this from happening, but I didn't find anything about this technology. Perhaps someone can point me to the right place?

Thanks!


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
March 20, 2008, 01:57 PM
susannah
Jason,
do you in fact want to send an email every 10 minutes?
Do you want to just send new instances , if any, every 10 minutes?
or do you want to send an email just once a day, on the first occurence ?




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
March 20, 2008, 02:48 PM
Jason K.
what I want to do is send an email when an event happens, and never again for that event.

As an example...
when an employee puts in a sales amount of $999,999,999, I want to send myself an email only one time.


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
March 21, 2008, 12:57 PM
Duncan
I am in the middle of coding the same thing, but it requires an alert to be sent up to 4 times only when it first happens, then a once-daily early reminder each morning until the alerting situation goes away. So I can't supply the code just yet, but for us the logic goes like this:

1. TABLE FILE ... HOLD... which appends (at least the primary keys for) the records to be alerted and a field i called ALERT_COUNT which is always 1.
2. TABLE FILE runs against the hold file, using a WHERE TOTAL ALERT_COUNT LT 5

Result is that the only lines that make it into the report are lines with 4 or less records.

If there are no qualifying records, reportcaster ensures that there is no report sent.

Hope that helps.

Duncan


Duncan Craven, Westcon Group
WF 7.6.4/Win 2K/IIS 6/Catalina/Servlet/DevStu/BID/Rcaster
March 21, 2008, 01:02 PM
susannah
ah, i see.
Here's what I would do.
Create a 1-digit field in the focus database for every record(at whatever level of granularity is appropriate..a higher segment, eg). When the fex detects an alertable situation, MODIFY the file and UPDATE that field with a 1. Make sure the alert fex excludes all records with that flag field = 1.
Its not a focus db? well, create one..that contains just the record key from the main db and a single flag field. and join it up;

You may already have a DATE_MODIFIED field in your database, and it may be a DATE_TIME field, so you could might be able to UPDATE that field, and have your fex read only for TIMES less than 10 minutes ago.

There are a number of ways, perhaps this has given you an idea.

Happy Easter everyone.
-s




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
March 24, 2008, 10:24 AM
Jason K.
susannah,
your suggestion works very well.

Using DB2 (would work with Oracle as well)
I created a view (or you could use sql passthru) that has a where clause for
Where time_this_record_was_created >= current_timestamp - 10 minutes

run it every 10 minutes from reportcaster and it should work.

Additionally, if you have access to your database to create triggers...that's probably the best solution as it is the most simple and easily maintained.

Another solution, which we are currently using in production, is to have a sql UPDATE post process that marks the records as sent on the database. Unfortunately, there's no real exception handling for this method, so if you send something off to the wrong email address for example, you'll have to go back to the database and remark the records as sent.


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.