Consultor Eletrônico



Kbase P3524: Errors 137 and 23 with Progress 9.1C and EMPTY TEMP-TABLE
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/10/2008
Status: Verified

FACT(s) (Environment):

Progress 9.1C

SYMPTOM(s):

SYSTEM ERROR: Record continuation not found, fragment recid <recid>. (137)

SYSTEM ERROR: bfdiscon: rmrep failed. (23)

Both errors generated by the same client.

Application uses the EMPTY TEMP-TABLE statement.

CAUSE:

BUG# 20011211-009

CAUSE:

This is a known issue - the system errors are caused by an EMPTY-TEMP-TABLE statement in case there are two or more record buffers associated with the temp-table (the buffer may be explicit, as in the example, or implicit).

For example:

DEFINE TEMP-TABLE ttForTest NO-UNDO
FIELD ttField AS CHARACTER.
DEFINE BUFFER bufTest FOR ttForTest.

CREATE ttForTest.
ASSIGN ttForTest.ttField = "VALUE1":U.

CREATE bufTest .
ASSIGN bufTest.ttField = "VALUE2":U.

EMPTY TEMP-TABLE ttForTest. /* <-- This generates the System Errors. */The system errors do NOT indicate data corruption.

FIX:

A workaround is making sure that all buffers (explicit or implicit) are RELEASE'd before the EMPTY TEMP-TABLE statement.
RELEASE ttForTest.
RELEASE bufTest.
EMPTY TEMP-TABLE ttForTest. /* <-- Now it works. */Alternatively, you can upgrade to the latest patch for 9.1C, or later version of Progress / OpenEdge.