The application experienced an error because the database management system returned an unacceptable return code.
Note the status code appended to the message. These are the possible status codes:
- BP—Data is unusable because it fails to match permitted values for the field.
- BT—Non-numeric data detected in a numeric field.
- CT—A CREATE statement added a row to the database. An ASSOCIATE statement did not also create all mandatory relationships before exiting the diagram. The Enforce Data Modeling Constraints generation option causes the generator to detect this error.
- DB—An error was encountered in the SQL statements. The SQL code and supporting information follows this message.
- DE—An error was encountered in the IEF-supplied date or time duration modules.
- DF—A record with the current identifier already exists on the database, and the CREATE statement does not include the when duplicate found clause.
- DU—See the VU status code.
- FE—A non-recoverable error was encountered, usually an SQL error or database integrity problem.
- IA—Data retrieved from the database is unusable because it does not match the permitted values for a field after a database read.
- IE—An error was encountered in one of the IEF-supplied functions
- ME—When you choose the Enforce Data Modeling Constraints option for code generation, the generator creates checks to assure no mutually exclusive relationships exist in the database. If the constraint is violated, it sets the ME code and terminates the transaction.
The CA Gen-generated code ensures that no ASSOCIATE action violates a defined mutually exclusive constraint. If any one member of the mutually exclusive set exists, none of the other members can exist. For example, A is related to B and to C in a mutually exclusive set. An action block reads A and attempts to ASSOCIATE it to B.
- MU—Mutually exclusive relationships exist in the database after an ASSOCIATE or a TRANSFER. The Enforce Data Modeling Constraints generation option causes the generator to detect this error.
- NF—The requested data was not found in the database, and the READ statement did not have a WHEN NOT FOUND exception.
- OO—When you choose the Enforce Data Modeling Constraints option, the generator creates checks to enforce one-to-one relationships. If this constraint is violated, it sets the OO code and terminates the transaction. To prevent the foreign keys of several different rows from pointing to the same related row, both ends of the relationship are checked before permitting an ASSOCIATE.
- Q1 - Q6—This series of status codes indicates an internal processing error occurred while performing Referential Integrity Trigger processing. Many conditions can cause this error, including an unfulfilled request for more memory, or so many cascaded deletes that processing could not handle them. Each code has the following meaning:
- Q1 - Nothing found in disassociate queue
- Q2 - Parameter list error
- Q3 - Error allocating memory
- Q4 - Invalid request code or parameter list error
- Q5 - Parameter list error
- Q6 - Parameter list error
One of the most common reasons for many of these errors is that there is a mismatch between the model's Technical Design and the generated RI Trigger code. In these cases, regenerating the RI Trigger code and reinstalling the affected load modules often resolves the problem. When this fails to resolve the problem, contact Technical Support. Additional research may be necessary to identify the exact cause of the internal processing error.
- QD—When you choose the Enforce Data Modeling Constraints option for code generation, the generator creates checks to prevent quiet disassociations. If this constraint is violated, it sets the QD code and terminates the transaction.
This constraint concerns the effect of overlaying the value in a foreign key when an ASSOCIATE action is applied to a one-to-many relationship. If the foreign key is populated without cascade delete logic, the effect is the same as a DISASSOCIATE action. This is called a quiet disassociation because it executes without performing any database integrity checks.
The CA Gen-generated code ensures that before performing an ASSOCIATE action, the attribute on which the foreign key is based is null. If not, the association requested must match the one that already exists. The association exists if the value of the foreign key equals the value of the attribute on which it is based. If the foreign key is not null and not the same value as the requested key, the transaction fails.
- RE—An error was encountered in the processing of a DELETE or DISASSOCIATE statement. Database referential integrity would be compromised if the statement was permitted.
- VU—A view was not populated under one of the following conditions:
- In a READ qualified by a WHERE clause that uses CURRENT OF views, the view that should be CURRENT was not read or has gone out of scope.
- A view for an UPDATE was not populated and locked.
- An action block that uses a persistent view was called without a populated view and the action block attempted to use the view in a READ, UPDATE, ASSOCIATE, DISASSOCIATE or TRANSFER.
- One or more of the views in an ASSOCIATE or TRANSFER statement was not populated.
- LE—An error was encountered in processing BLOB in-memory data either before or after DATABASE access. Return code will be in hexadecimal and describe the failed operation as mentioned below.
- Invalid Handle: 0x00000001
- Invalid Data: 0x00000002
- Not Enough Memory: 0x00000004
-