That is correct. DB2 will raise the overflow condition in the trigger on the first reference to the column with the invalid value. I missed that point on my first response. However, we can still use the trigger/stored proc to locate the row causing the problem. I don't have enough details to know if this is practical. What I'm thinking is that DB2 fires the 'before' trigger before raising the overflow condition. This presents the opportunity to call a stored proc. The stored proc will accept 3 parms. The first parm will pass a key value that will be used to identify rows on the table. You might need more than one parm for the key. The second parm will pass the column name of a numeric column. The third parm will pass the numeric column value. The stored proc will write each field to a log file. The 'before' trigger will call the stored proc passing the key, column name, and column value once for each column suspected of causing the overflow problem. It would be a good idea for the 'before' trigger to call the stored proc initially with nulls for the column name and value parms just to get the key written to the log file. The 'before' trigger will call the stored proc successfully for each column with a valid numeric value and will fail when the first occurrence of a bad value is encountered. At this point, DB2 will raise the overflow condition and roll back the transaction. However, the log file will show the key, column name, and column values up, but not including, the point of failure. This could potentially generate a huge number of rows, but if other attempts to locate the offending row fail, it could serve as a last resort.