Kbase P111664: Session crashes on compiling a BUFFER-COPY statement with an ASSIGN clause and a function in the lef
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  18/03/2009 |
|
Status: Verified
SYMPTOM(s):
Session crashes on compiling a BUFFER-COPY statement with an ASSIGN clause and a function in the left-hand side of the assignment
Crash occurs if an attempt is made to check syntax, compile or run code that uses the OVERLAY, ENTRY or similar statement in the ASSIGN option of the BUFFER-COPY statement.
For example:
DEFINE TEMP-TABLE t_Test NO-UNDO
FIELD veld-1 AS LOGICAL
FIELD veld-2 AS CHARACTER.
DEFINE BUFFER b-t_Test FOR t_Test.
CREATE t_Test.
ASSIGN
t_Test.veld-1 = TRUE
t_Test.veld-2 = 'This is text,And this too'.
BUFFER-COPY t_Test TO b-t_Test
ASSIGN
/* b-t_Test.veld-2 = t_Test.veld-2*/
OVERLAY( b-t_Test.veld-2,1,8 ) = "12345678".
DISPLAY b-t_Test.veld-1
b-t_Test.veld-2 FORMAT "X(30)".
FACT(s) (Environment):
Progress 9.1D
All Supported Operating Systems
CAUSE:
Bug# OE00084436
FIX:
Upgrade to Progress 9.1E or later.
Upgrade to OpenEdge 10.0A or later.
Workaround:
Seperate the function statement from the BUFFER-COPY statement ASSIGN clause.
For example:
DEFINE TEMP-TABLE t_Test NO-UNDO
FIELD veld-1 AS LOGICAL
FIELD veld-2 AS CHARACTER.
DEFINE BUFFER b-t_Test FOR t_Test.
CREATE t_Test.
ASSIGN
t_Test.veld-1 = TRUE
t_Test.veld-2 = 'This is text,And this too'.
BUFFER-COPY t_Test TO b-t_Test.
ASSIGN
/* b-t_Test.veld-2 = t_Test.veld-2*/
OVERLAY( b-t_Test.veld-2,1,8 ) = "12345678".
DISPLAY b-t_Test.veld-1
b-t_Test.veld-2 FORMAT "X(30)".