Consultor Eletrônico



Kbase P97176: Errors 9190 and 4391when copying data from one MEMPTR into another MEMPTR variable
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/16/2008
Status: Verified

FACT(s) (Environment):

Progress 9.1x
OpenEdge 10.0x

SYMPTOM(s):

Cannot copy more than 32K from one MEMPTR variable into another MEMPTR variable

Using PUT-BYTES and GET-BYTES functions, get the following errors:

Attempt to exceed maximum size of a RAW variable. (9190)

Unable to evaluate expression with UNKNOWN value in argument. (4391)


CAUSE:

Because the return value of GET-BYTES is passed immediately into the PUT-BYTES function, it is unable to determine if it should return RAW or MEMPTR.
Therefore, it will default to RAW, which is subject to the 32K limit.

FIX:

Use an intermediate MEMPTR variable to ensure GET-BYTES returns the correct datatype.

In OpenEdge 10, it's also possible to treat the MEMPTRs as large objects, and use the COPY-LOB statement to copy data from one MEMPTR to the other.