Thanks Adria,
But the EXIT_HANDLER does not seem to be working out what exactly the violation is. The :SQL_ERROR and :SQL_ERROR_MESSAGE are not very informative. If the procedure contained many INSERT statements, each involving many columns that could be producing the violation, the EXIT_HANDLER would not be able to determine the problem.
When a 461 Foreign Key Constraint Violation occurs, is there no error information anywhere to indicate exactly what table and column is being violated?
David