Kbase P81763: System Errors 450 and 3191 referencing TEMP-TABLE records
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  26/05/2004 |
|
Status: Unverified
SYMPTOM(s):
SYSTEM ERROR: Cannot read field <field-num> from record, not enough fields. (450)
SYSTEM ERROR: Failed to extract field <field-num> from <file-name> record (table <table-num>) with recid <RECID>. (3191)
Executing code that:
1. Defines a TEMP-TABLE.
2. Defines a QUERY with the FIELDS option against the TEMP-TABLE.
3. Defines an Updatable BROWSE associated with the above QUERY.
4. Attempts to access the 'whole' record using DISPLAY ttName or DELETE ttName after the user updates some fields in the BROWSE.
CAUSE:
Using the FIELDS option of a QUERY against a TEMP-TABLE is not supported and makes no sense since there is no network involved, and FIELDS option is intended to reduce network traffic.
FIX:
Do not use the FIELDS option in the DEFINE QUERY statement when that QUERY is for a TEMP-TABLE.
The FIELDS option is totally NOT recommended for Progress databases either -- it is only useful for dataservers where you know what fields you need EXACTLY.
A sample procedure that would generate these two errors in the circumstances described here is listed in the note section of this solution.