Informix Error -2024: There is already a record name specified. If the record name is the same as a table name in the form, a default record of the same name has been created.
Cause and resolution
There is already a record name specified. If the record name is the same as a table name in the form, a default record of the same name has been created.
Check that the record-name of every screen record and screen array is unique in the form specification. A screen record is automatically defined for each table that is used in the ATTRIBUTES section to define a field. If you define a record with the name of a table, it is seen as a duplicate.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-2024 fires when a form specification has a duplicate screen record name — per the official
guidance, the compiler automatically creates a default screen record for each table referenced
in the ATTRIBUTES section, so manually defining a record with that same table's name creates a
naming conflict.
- A manually defined screen record sharing a name with a table referenced in
ATTRIBUTES, per the official guidance — the direct, named cause; the automatic default record for that table collides with the manual one.
Solutions / Resolution
- Ensure all screen records and screen arrays have unique names throughout the form definition, per the official guidance — rename the manually-defined record to avoid the collision with the table's automatic default record.
Examples
A record name colliding with a table name
SCREEN RECORD orders (
order_id = orders.order_id,
status = orders.status
)
-- -2024: "orders" collides with the automatic default record for the orders table
Corrected
SCREEN RECORD s_orders (
order_id = orders.order_id,
status = orders.status
)
Diagnostic Checks
- Check every manually-defined screen record/array name against the table names referenced
in
ATTRIBUTES, for a collision.
Related Errors / Related Topics
No closely related error codes are cross-referenced for -2024 in this set yet.
A manually-defined screen record name collided with a table's automatic default record name — rename the manual record.