About Defect OE00223841

Posted by Valeriy Bashkatov on 14-May-2014 02:42

Hello,

One of our clients is currently testing OE11  for migrate from OE 10.2B.

They are faced with the problem in the current ABL-code, namely with a defect OE00223841
http://knowledgebase.progress.com/articles/Article/000034030

When passing a parameter that looks like the following:
IF (1 = 2) THEN 1 ELSE ""
the following error is thrown:
** Incompatible data types in expression or assignment. (223)

The article says that:

Resolution
  None at this time

In OE11.3.2 it still is not resolved and a compilation error occurs, for example, in such an expression

….
      RUN str-shtr-pol-ed.p (in-class, in-parent, (IF LASTKEY = KEYCODE("INS") THEN 0 ELSE RECID(code)), level).
….
 
str-shtr-pol-ed.p:
 
DEFINE INPUT PARAMETER vclass    AS CHAR    NO-UNDO.
DEFINE INPUT PARAMETER in-parent AS CHAR    NO-UNDO.
DEFINE INPUT PARAMETER in-rec-id AS RECID   NO-UNDO.
DEFINE INPUT PARAMETER level     AS INT64 NO-UNDO.
….

In 10.2B no problem.

Does anyone know when this will be resolved and what version of OpenEdge this will be fixed?

Regards,
Valeriy

Posted by Frank Meulblok on 14-May-2014 04:49

The situation is a bit more complex than it seems at first: The fact that the code compiles in 10.2B is in fact due to a regression issue.

That regression got fixed in OE 11, so the code once again fails to compile.

See KB article  knowledgebase.progress.com/.../P156950 as well.

All Replies

Posted by jmls on 14-May-2014 02:50

you may be able to get round the problem by saying

RUN str-shtr-pol-ed.p (in-class, in-parent, (IF LASTKEY = KEYCODE("INS") THEN 0 ELSE INT(code)), level).

this code seems to work:
def var a as int.

find first Customer no-lock.

a = if false then 0 else int(recid(customer)).

run foo (a).

procedure foo:
 def input parameter x as recid no-undo.
 
 find Customer where recid(customer) eq x no-lock.
 
 message custnum view-as alert-box.
end. 


[collapse]
On 14 May 2014 08:43, Valeriy Bashkatov <bounce-Arelav2@community.progress.com> wrote:
Thread created by Valeriy Bashkatov

Hello,

One of our clients is currently testing OE11  for migrate from OE 10.2B.

They are faced with the problem in the current ABL-code, namely with a defect OE00223841
http://knowledgebase.progress.com/articles/Article/000034030

When passing a parameter that looks like the following:
IF (1 = 2) THEN 1 ELSE ""
the following error is thrown:
** Incompatible data types in expression or assignment. (223)

The article says that:

Resolution
None at this time

In OE11.3.2 it still is not resolved and a compilation error occurs, for example, in such an expression

….
      RUN str-shtr-pol-ed.p (in-class, in-parent, (IF LASTKEY = KEYCODE("INS") THEN 0 ELSE RECID(code)), level).
….
 
str-shtr-pol-ed.p:
 
DEFINE INPUT PARAMETER vclass    AS CHAR    NO-UNDO.
DEFINE INPUT PARAMETER in-parent AS CHAR    NO-UNDO.
DEFINE INPUT PARAMETER in-rec-id AS RECID   NO-UNDO.
DEFINE INPUT PARAMETER level     AS INT64 NO-UNDO.
….

In 10.2B no problem.

Does anyone know when this will be resolved and what version of OpenEdge this will be fixed?

Regards,
Valeriy

Stop receiving emails on this subject.

Flag this post as spam/abuse.




--
Julian Lyndon-Smith
IT Director,
dot.r
http://www.dotr.com

"The bitterness of poor quality remains long after the sweetness of low price is forgotten”

Follow dot.r on http://twitter.com/DotRlimited
[/collapse]

Posted by Frank Meulblok on 14-May-2014 04:49

The situation is a bit more complex than it seems at first: The fact that the code compiles in 10.2B is in fact due to a regression issue.

That regression got fixed in OE 11, so the code once again fails to compile.

See KB article  knowledgebase.progress.com/.../P156950 as well.

Posted by Valeriy Bashkatov on 14-May-2014 05:59

Thank you, jmls!

Thank you, Frank!

I will give your answers to the client.

This thread is closed