Kbase P164131: Error 11382 when using the STRING-VALUE method with CLOB.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  19/04/2010 |
|
Status: Unverified
SYMPTOM(s):
Error 11382 when using the STRING-VALUE method with CLOB.
STRING-VALUE with a CLOB results in error 11382, but BUFFER-VALUE appears to work.
Using code similar to the following results in error 11382 for the STRING-VALUE method, but not the BUFFER-VALUE method..
DEFINE TEMP-TABLE ttClob NO-UNDO
FIELD fClob AS CLOB.
DEFINE VARIABLE hBuf AS HANDLE NO-UNDO.
DEFINE VARIABLE hField AS HANDLE NO-UNDO.
hBuf = BUFFER ttClob:HANDLE.
hField = hBuf:BUFFER-FIELD(1).
hBuf:BUFFER-CREATE().
MESSAGE hField:STRING-VALUE
VIEW-AS ALERT-BOX INFORMATION.
MESSAGE STRING(hField:BUFFER-VALUE)
VIEW-AS ALERT-BOX INFORMATION.
INPUT/OUTPUT operations are not allowed with RAW, ROWID, MEMPTR, BLOB, CLOB or LONGCHAR type variables. (11382)
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.x
CAUSE:
This is expected behavior. The string-value and buffer-value methods are different. The real difference is that the string-value method applies formatting as if the field is about to be displayed and the buffer-value method doesn't. The formatting is what produces the error.
The error 11382 is the same message that would be displayed if the application tried to display the CLOB.
The text of the message isn't very helpful, and could explain the real problem better. Bug# OE00197054 has been logged with Development to make the error message more explanatory.