For errors on components or subjobs, I would use the onComponentError and onSubJobError links on the components to a tOracleRollBack component. For tMap inner join errors, I would link the inner join rejects to a file, and then check at the end of the job the size of that file. If it is > 0, I would roll back, if not, I would commit. Can you post a more specific scenario?
Does it mean OnComponentError should be attached for each component in context. The errors I am talking can be runtime errors like type conversion, file not found, NullPointer and likewise and it can happen on any component. Consider a complex job with several components, having OnComponentError on each of those would be not viable. I am looking for some global way of detecting any exceptions/errors and perform a rollback.