Consultor Eletrônico



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.