Consultor Eletrônico



Kbase P93739: error (3536) when evaluating widget INPUT-VALUE in a CASE statement
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/10/2008
Status: Unverified

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.x

SYMPTOM(s):

Evaluating widget INTEGER or CHARACTER INPUT-VALUE generates the following error:

Incompatible data types in CASE and a WHEN branch expression. (3536)

CAUSE:

This is a known issue being investigated by Development

FIX:

Use an intermediate variable of the same type, to evaluate the CASE statement.

Example:

The following case fails with the error 3536:

CASE fTest:INPUT-VALUE : /* fTest is the Fill In widget is defined as an INTEGER */

WHEN 1 THEN DO:

DISP "1".

END.

END CASE.


A workaround is to use an intermediate variable of the same type in the CASE statement as follows:

DEFINE VARIABLE vTest as INTEGER.

ASSIGN vTest = fTest:INPUT-VALUE. /* fTest is a Fill In widget of type INTEGER */

CASE vTest :

WHEN 1 THEN DO:

DISP "1".

END.

END CASE.
The same is applicable for CHARACTER type.