Consultor Eletrônico



Kbase P101709: LOOKUP function returns incorrect result when code page is double byte
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   03/09/2008
Status: Verified

SYMPTOM(s):

LOOKUP function returns incorrect result when code page is double byte

-cpinternal and -cpstream set to Chinese or Korean codepage.

Running the following code:
MESSAGE LOOKUP('C' , 'A,B,C') VIEW-AS ALERT-BOX.

Incorrect result of '0' is returned. Should return '3'.

FACT(s) (Environment):

Progress 9.1E
OpenEdge 10.0B
All Supported Operating Systems
OpenEdge Category: Language (4GL/ABL)

CAUSE:

Bug# OE00114055

CAUSE:

The code for the lookup function was incorrectly handling double byte characters

FIX:

Upgrade to Progress 9.1E02, OpenEdge 10.0B02 or later
Optionally this workaround could be implemented:

Put the list in a variable, and place the variable in the LOOKUP function as follows:
DEF VAR LST AS CHAR INIT "A,B,C".
MESSAGE LOOKUP("C",LST).