The think the problem is that the 'ExceptionABC' (named by you) is a RuntimeException and so, according with the
EJB spec, the container rolls back the transaction.
Use instead a checked exception.
And also, make sure that the transaction is not marked as setRolbackOnly() in the ejb's source code, make it setRolbackOnly only when your business logic requires it.