KBI 310249 ODBC Error: Numeric Value Out Of Range In AAC_ENGINE_LOG

Version

Argent Extended Technology – All Versions

Date

26 Jul 2011

Summary

Customers may notice that some Condition Corrected Alerts are not being sent

In the AAC_ENGINE_LOG, they may see errors as follows:

ODBC Error: Numeric value out of range

(FILE: AAC_ProcessAlert.cpp LINE:992)

Technical Background

The AAC_OCCUR table holds all occurrences of a particular Alert

This table is used for the “Fire Alert After Rule Is Broken X Times” feature

The OCCURRENCE field in this table is the counter that holds how many times the Rule has been broken for

Under normal circumstances, the OCCURRENCE counter is reset to zero based on the “Reset Counters” configuration

E.g. Reset After Event Is Posted, Reset After Event Is Answered, Reset After The Actual Condition Is Corrected

However, some customers may leave an Alert unanswered for a long period of time, and if the Alert is frequent enough, it could cause the OCCURRENCE counter to hit a maximum number

By default, the OCCURRENCE field is of type “smallint”

A “smallint” supports numbers from a range of -32767 to 32767

You can confirm if OCCURRENCE has reached the maximum limit by running this query:

SELECT MAX(OCCURRENCE)

FROM AAC_OCCUR

Resolution

The issue can be resolved by either manually resetting the rows where the OCCURRENCE is 32767 to zero

OR

If such a large number of occurrences is desired, you can change the data type of the OCCURRENCE column from a “smallint” to an “int” (and “int” supports numbers up to 2 billion)