Historically, SQL connections enabled by database providers operate in autocommit mode, meaning no transactional support is provided. However, SQL applications typically need transactional support, whether managed internally by an SQL standalone application or externally by transaction managers that provide 2PC.
In earlier releases of Visual COBOL the OpenESQL SQL AUTOCOMMIT compiler directive option was originally designed to accommodate internal transaction management in standalone SQL applications, and subsequently modified to also accommodate the various methods of external transaction management provided by external transaction managers.
Starting with Visual COBOL version 4.0, OpenESQL provides better transaction management using the TRANSACTION SQL compiler directive option, replacing the AUTOCOMMIT directive. The TRANSACTION directive enables more precise control over transaction behavior as compared to AUTOCOMMIT. See the TRANSACTION and AUTOCOMMIT reference topics for details.