Consultor Eletrônico



Kbase P127265: Error 444 when using a LONGCHAR EXTENT variable with more than 3506 extents
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/29/2007
Status: Unverified

FACT(s) (Environment):

OpenEdge 10.1A
OpenEdge 10.1B
All Supported Operating Systems

SYMPTOM(s):

Error 444 when using a LONGCHAR EXTENT variable

Attempt to expand record beyond the maximum allowed size. (444)

The error only happens when using more than 3506 extents

CAUSE:

Internally, the OpenEdge client stores the variable contents in a record, which is limited to 32K. It then initializes the elements on the extent and when exceeding the 32K limit, the error occurs. This can also happen with other data types, such as MEMPTR, or more than one large extent variable in the same program.
For most data types, the OpenEdge client stores just the indicator for the unknown value, if that's the initial value. However, for MEMPTR and LONGCHAR variables, it has to store the address to a local structure, which will always use 8 bytes, in all platforms. This will cause the 32K limit to be reached even faster, thus allowing less number of extents.

FIX:

Split the ABL code into multiple sessions or use a lower number of extents.