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.