Consultor Eletrônico



Kbase P3988: Error 7587 using the CONVERSION function on a SQL query in Actuate e.RD
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/16/2008
Status: Verified

FACT(s) (Environment):

Progress 9.x
Actuate 4.1

SYMPTOM(s):

Using a Progress SQL-92 connection

Building a query on the Actuate e.RD Query Expression builder

Using the CONVERSION function on a SQL query within Actuate e.Report Designer

Trying to convert a String field to Integer to be used on the ORDER BY clause

Syntax error (7587)

CAUSE:

Actuate uses the wrong conversion function (CONVERSION) in the Query Expression builder for Progress SQL-92.

The right function in SQL-92 is CONVERT (check the Progress SQL-92 Guide and Reference, Chapter 4: SQL-92 Functions).

The code Actuate generates is:
select "PUB"."Customer".Custnum,
"PUB"."Customer".Name ,
( CONVERSION( (String,"PUB"."Customer".PostalCode ) ) As test
FROM "PUB"."Customer"

The correct code should look like this:
select "PUB"."Customer".Custnum,
"PUB"."Customer".Name,
CONVERT('INTEGER',"PUB"."Customer".Custnum ) as test
FROM "PUB"."Customer"

FIX:

Manually enter the correct SQL-92 syntax directly in the Formula column.