You may use the two-phase commit protocol in RDML to distribute transactions. To use the two-phase commit protocol with RDML, you must either recompile any existing application programs that were compiled with Oracle Rdb V3.1 or earlier, or you must write new application programs. With RDML, the two-phase commit protocol is not the default. RDML provides the following ways for application programs to use the two-phase commit protocol: o By implicitly calling DECdtm system services calls in either of two ways: - Using the /DISTRIBUTED_TRANSACTION qualifier in the precompiler command line - Using the DISTRIBUTED_TRANSACTION keyword in the START_TRANSACTION statement o By explicitly calling the DECdtm system service calls and using variables to pass the value of the distributed transaction identifier (TID) If your application starts a distributed transaction that includes other read/write database management products that support the two-phase commit protocol, your application must explicitly invoke the DECdtm system service calls. For example, if your application starts a distributed transaction using Oracle Rdb and Oracle CODASYL DBMS, your application must explicitly call SYS$START_TRANS and SYS$END_TRANS. In addition, you must use the full DISTRIBUTED_TRANSACTION clause in the START_TRANSACTION statement. The implementation of RDML with distributed transactions is very similar to using RDBPRE with distributed transactions. See the "Oracle Rdb Guide to Distributed Transactions" for a complete description of using RDBPRE with distributed transactions and the "RDML Reference Manual" and the "Guide to Using RDO, RDBPRE, and RDML" for more information.