Informix Error -4329
-4329 The variable variable-name is not a record. Only record variables
may be expanded using the .* or THROUGH shorthand.You have used the displayed name with either dot-asterisk (.*) or the word THRU (or THROUGH), which is shorthand notation to specify a list of the components of a record. Unfortunately, the variable is not defined as a record. Make sure that you specified the right variable and that it is defined as a record.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-4329 fires when a variable used with .* or THRU/THROUGH shorthand isn't defined as a
record — per the official guidance, this shorthand only works to expand a record's component
list.
- A non-record variable used with
.*/THRU/THROUGH, per the official guidance — the direct, only cause.
Solutions / Resolution
- Confirm the correct variable was specified, per the official guidance.
- Confirm it's defined as a record, per the official guidance.
Examples
Expanding a non-record variable
DEFINE qty INTEGER
DISPLAY qty.*
-- -4329: 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
- -4311 — "The variable "variable-name" was not defined as a record. It cannot be used in this fashion." A closely related error, essentially the same condition.
- -4161 — "This variable has not been defined as a record or object." A closely related error in the NewEra-specific context, also covering objects.
A variable used with .*/THRU/THROUGH isn't a record — check its declaration.