Informix Error -4424
-4424 The variable variable-name has not been defined as a record.
The variable shown has been used with an asterisk, or with the THRU or THROUGH keywords. However, it has not been defined as a record. Check the spelling of the name. If it is as you intended, locate the definition of the variable and find out why it was not defined as a record. Only 4GL returns this error.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-4424 fires when a variable used with .*/THRU/THROUGH isn't defined as a record — per
the official guidance, only 4GL returns this error (as opposed to NewEra's equivalent
message).
- A variable used with
.*/THRU/THROUGHthat isn't declared as a record, per the official guidance — the direct, only cause.
Solutions / Resolution
- Check that the correct variable name was used, per the official guidance.
- Locate the variable's definition and find out why it wasn't defined as a record, per the official guidance.
Examples
Expanding a non-record variable
DEFINE qty INTEGER
DISPLAY qty.*
-- -4424: qty is not defined as a record
Corrected
DEFINE rec RECORD
qty INTEGER,
price DECIMAL
END RECORD
DISPLAY rec.*
Diagnostic Checks
- Check the declaration of any variable used with
.*/THRU/THROUGH, and confirm it's genuinely a record.
Related Errors / Related Topics
- -4161 — "This variable has not been defined as a record or object." A closely related error in the NewEra-specific context, also covering objects.
- -4311 — "The variable "variable-name" was not defined as a record. It cannot be used in this fashion." A closely related error covering the same condition.
A variable used with .*/THRU/THROUGH isn't a record — check its declaration.