Consultor Eletrônico



Kbase P119209: Error 3538 at compile-time with user defined class
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   02/10/2006
Status: Unverified

FACT(s) (Environment):

OpenEdge 10.1A

SYMPTOM(s):

Calling a method from a user defined class causes error 3538 to occur when doing a syntax check.

Unknown attribute <name>. (3538)

Only happens when referencing a database in the query.

Can be displayed with the following example:

- Save the following text in a .cls file in the working directory:
class TestClass:
method public integer getTableID ():
return 12.
end.
end class.

- Use the following code to reference the class and compile the code:
define variable tc as testclass no-undo.
tc = new testclass().
find customer where customer.custnum = tc:getTableID() no-lock no-error.
message available customer.

CAUSE:

This is a known issue being investigated by development.

FIX:

Assign the class method to a variable first:

define variable tc as testclass no-undo.
define variable i as integer no-undo.
tc = new testclass().
i = tc:getTableID().
find customer where customer.custnum = i no-lock no-error.
message available customer.