>Erik,
> These are views. I realized by cutting this code out, the ON ERROR routine will still fire. I can use AERROR within ON ERROR.
I don't understand. Views don't have delete triggers. Underlying tables do. So you will get the failure only when you issue a TABLEUPDATE() (or if using Row Buffering, when the pointer moves), and a table's delete trigger fails. So why can't you check the results of TABLEUPDATE.
BTW, You can still check DELETED() in a view.
Erik Moore
Clientelligence