Entering and Exiting
If you enter the executable part of an autonomous routine, the major transaction suspends. When you exit the routine, the major transaction resumes. To exit generally, you must explicitly commit or roll back all the autonomous transactions. If the routine (or any routine called by it) has pending transactions, and an exception is raised, the pending transactions are then rolled back.