[RESOLVIDO] PDF REPORT -> macro sc_lookup()

NM,

Utilizo a macro sc_lookup() em diversos eventos, e hoje deparei-me que na app do tipo pdf report tive que mudar algo “pequeno” para que funcione.

Vamos lá:
Nas app’s de consulta e formulário utilizo assim:
sc_lookup(rs_prd, "SELECT cgprd.prddes FROM web_rotulo.tbl_cgprd cgprd WHERE cgprd.prdcod = ". {prdcod} );

Na app de pdf report tive que mudar para:
sc_lookup(rs_prd, "SELECT cgprd.prddes FROM web_rotulo.tbl_cgprd cgprd WHERE cgprd.prdcod = “. {prdcod} .”");

Se deixar como utilizo nas consultas e formulários o SC converte assim, como erro:
SELECT cgprd.prddes FROM web_rotulo.tbl_cgprd cgprd WHERE cgprd.prdcod = . Array[0] .
Mensagem de erro no modo debug: -1: ERRO: erro de sintaxe em ou próximo a “.” LINE 3: WHERE cgprd.prdcod = . Array[0] . ^

Se altero conforme acima (pdf report).
SELECT cgprd.prddes FROM web_rotulo.tbl_cgprd cgprd WHERE cgprd.prdcod = 2

Utilize por padrão em todas aplicações:

$_sql=“Select…”;
sc_lookup(ds,$_sql);

e não terá mais problemas.

Haroldo,

Desculpe-me a ignorância, mas não te entendi …

jogue em uma variável primeiro o conteúdo do SQL , logo em vez de usar o SQL implícito no lookup utilize a variável…

William,

isto havia entendido, porém, …, qual o motivo que a montagem do SQL pelo SC está diferente das app’s de consulta e formulários ?
No grifo, as aspas duplas não contém nada, apenas estão ali para corrigir algum erro do SC.

Quanto ao campo no banco de dados e o campo utilizado para a cláusula where são numéricos.

O PDF Report usa uma biblioteca externa pra gerar o pdf pode ser por conta disso, note que ele acusa seu parametro do where como um array e não é.

OK!

Grato a todos pelas considerações e ajuda no entendimento desta situação.