Informix Error -9004: The column name is not in the current table, or the user variable name has not been defined.
Cause and resolution
The column name is not in the current table, or the user variable name has not been defined.
The name that is shown cannot be related to either a column in a database table or a defined variable. Check its spelling. If you meant it to be a variable, add it in the DEFINE section. If you meant to name a column in the database, check to see if the table was altered or its columns were renamed.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-9004 fires when a name used in the report specification can't be related to either a column in a database table or a defined variable — per the official guidance.
- A misspelled column or variable name, per the official guidance — the first named cause.
- A variable that was never added to the DEFINE section, per the official guidance — the second named cause.
- A table that was altered or had columns renamed after the report was written, per the official guidance — the third named cause.
Solutions / Resolution
- Check the name's spelling, per the official guidance.
- If it was meant to be a variable, add it in the DEFINE section, per the official guidance.
- If it was meant to be a column, check whether the table was altered or the column was renamed, per the official guidance.
Examples
An undefined name
PRINT custome_name -- -9004: misspelled, no such column or variable
Corrected
PRINT customer_name
Diagnostic Checks
- Check the name's spelling against the table's actual columns and the report's DEFINE section, and correct or add it as needed.
Related Errors / Related Topics
- -9025 — "The column name is not in the current table. Any column used as an ORDER BY column must be in the current table." The same class of unresolved-name error, specific to ORDER BY.
A name in the report couldn't be resolved to a column or a defined variable — check spelling and the DEFINE section.