Kbase P134992: Can-Find does not find record when temp table is passed by reference
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/16/2008 |
|
Status: Unverified
SYMPTOM(s):
Can-Find does not find a record when a temp table is passed by reference.
FACT(s) (Environment):
Can-Find works when a table is passed by value.
Record being sort is created before the procedure with the can-find is called.
Record has a multi component index and only part of the index is assigned before the procedure is called.
Can-Find works if a release statement is used before the procedure is called.
UNIX
Windows
OpenEdge 10.1x
CAUSE:
A Can-Find will try and find a record by reading the index entry. If the index entry has not been committed then Can-Find will not find the record.
The following activities will all result in a committed index:
- release
- validate
- a find statement that replaces the contents of the record buffer
- A deep copy such as a pass temp-table by value
FIX:
This is expected behavior because the index will get update when the record gets flushed or the pending create completes.