Oracle EBS 并发请求自动提交事务处理Concurrent Program Autocommit
1. A concurrent PL/SQL program without a commit or rollback will COMMIT any work done if the RETCODE parameter is 0 (Normal) or 1 (Warning). This effectively is an autocommit.
2. A concurrent PL/SQL program without a commit or rollback will ROLLBACK any work done if the RETCODE parameter is 2 (Error) or if an exception has been raised and not caught within the program.
3. It seems that TO_NUMBER(RETCODE) is done, as any invalid number is treated as a 0. So if you get the parameters the wrong way round (with the ERRBUF parameter) you could be unwittingly causing a commit even if you returned a value of 2 because the value would be in the wrong parameter. Also, any values greater than or equal to 2 are classed as an error.
The lack of an explicit COMMIT or ROLLBACK in the code may seem like bad practice, but it does allow for development and testing without committing any work done during the