Kbase P166442: Crash when using BUFFER-VALUE to get the value of an array extent without specifying the extent
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  20/05/2010 |
|
Status: Unverified
SYMPTOM(s):
Crash when using BUFFER-VALUE to get the value of an array extent without specifying the extent
SYSTEM ERROR: fmeval: bad data type for function <function>. (66)
SYSTEM ERROR: fmeval: bad data type for function 15. (66)
** Array subscript <value> is out of range. (26)
** Array subscript 0 is out of range. (26)
Code to reproduce the problem:
DEFINE TEMP-TABLE test
FIELD logfield AS LOGICAL EXTENT 3.
CREATE test.
IF TEMP-TABLE test:DEFAULT-BUFFER-HANDLE:BUFFER-FIELD("logfield"):BUFFER-VALUE() = NO THEN
DISPLAY "no".
ELSE
DISPLAY "yes".
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.2x
OpenEdge Category: Language (4GL/ABL)
CAUSE:
Bug# OE00197766
CAUSE:
The BUFFER-VALUE attribute of a BUFFER-FIELD allows the usage of parenthesis when dealing with array fields to specify which element you are addressing. When left blank this should return an error anyway, but it shouldn't crash.
FIX:
Indicate which array element you are referencing in the parenthesis of the BUFFER-VALUE attribute:
e.g. :BUFFER-FIELD("logfield"):BUFFER-VALUE(1)