Kbase P161989: Deleting temp-table records with a FOR EACH loop generates system error 1422.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  23/03/2010 |
|
Status: Unverified
SYMPTOM(s):
SYSTEM ERROR: Index in for recid could not be deleted. (1422)
SYSTEM ERROR: Index <index in temp-table> for recid <recid> could not be deleted. (1422)
NEGATED SYMPTOM(s):
Error does not occur if EMPTY TEMP-TABLE <temp-tablle name> is used to delete temp-table's contents
FACT(s) (Environment):
All Supported Operating Systems
Two temp-tables are used in procedure. Second temp-table's definition (temp-tableB) uses LIKE temp-tableA... phrase to copy temp-tableA's definitions.
Records of second temp-table (temp-tableB) are deleted with a FOR EACH....
FOR EACH temp-tableB:
DELETE temp-tableB.
END.
Progress 9.x
OpenEdge 10.x
FIX:
Possible workarounds:
A) Use EMPTY TEMP-TABLE <temp-table name>. instead of a FOR EACH... to delete the contents of the temp-table.
B) Explicity define the temp-table's schema objects without referencing other temp-table's using the LIKE phrase.