Transaction Error Codes

A transaction management error is one that follows a START TRANSACTION, COMMIT, ROLLBACK or call to C$RECOVER, or one that occurs during some other file operation within a transaction (resulting in an error 9E). Error codes associated with these are stored in the TRANSACTION-STATUS register. This topic lists and describes the primary and secondary transaction error codes.

Primary Error Codes

Following is a list of the primary error codes for the transaction management system.

01    This is returned from a ROLLBACK statement or call to C$RECOVER when an error occurs in an external routine.
02 An attempt to open the log file failed because the maximum number of files per process would be exceeded. This is returned from a START TRANSACTION or call to C$RECOVER.
03 An attempt to open the log file failed because some element of the specified directory path is non-existent. This is returned from a START TRANSACTION statement or call to C$RECOVER.
04 An attempt to open the log file failed because the user has insufficient access privileges for the file. This is returned from a START TRANSACTION statement or call to C$RECOVER.
05 This indicates an operating system error that is not otherwise covered by one of the standard error conditions. You can determine the exact nature of this error by examining the value of the secondary error code.
06 This indicates that the log file is corrupted. The error is returned when the program encounters an unexpected end of file, or when an invalid transaction type code is found during recovery.
07 An attempt to open the log file failed because the file is locked (MS-DOS only). This is returned from a START TRANSACTION statement or a call to C$RECOVER.
08 This indicates that the system ran out of dynamic memory.
09 This indicates that a write failed because the disk is full.
10 This is returned from a START TRANSACTION statement or call to C$RECOVER when no log file was specified in the LOG-DIR configuration variable.
11 This is returned from a ROLLBACK or COMMIT statement when an unexpected end of file is reached while the rollback log file is being read.
12 A START TRANSACTION, ROLLBACK or COMMIT failed because the last transaction in the log file is incomplete.
13 This error is returned in the TRANSACTION-STATUS register from a WRITE, REWRITE, CLOSE, or DELETE if the file was not opened within a transaction. Note that, if the FILE-CONTROL paragraph for the file contains the WITH ROLLBACK phrase, all OPENs are automatically performed within a transaction.
14 This is a file-system specific error that is not one of the standard errors, and not an error returned by the operating system. The secondary and tertiary error codes indicate the exact meaning, which is file-system dependent.
16 This error is returned when the runtime is executing a START TRANSACTION while another transaction is already active.
99 This warning indicates that the requested transaction operation is not supported by a host file system. The transaction operation is still attempted for other file systems.

Secondary Error Codes for Error 01

The following is a list of the secondary error codes for transaction error 01.

  Secondary Error Corresponding file-status error
01    operating system error (see tertiary code for system-specific error code) 30
02 illegal parameter 39/01
03 attempt to open more files than system allows 94/10
04 open mode does not allow operation 48/01 or 49/01
05 requested record is locked 99
06 index file is corrupt 98/xx
07 duplicate key where duplicates not allowed 22
08 requested record not found 23
10 disk became full while adding a new record 24
11 file locked against requested open mode 93
12 record size mismatch during rewrite 44
14 out of dynamic memory 9A
15 requested file does not exist 35
16 inadequate access permissions to file 37/07
17 requested operation not supported 9B
18 out of lock-table entries 9C
19 file-system specific error 9D