[firebase-br] for execute statement...

Carlos H. Cantu listas em warmboot.com.br
Qui Nov 18 15:19:42 -03 2004


Tente fazer um CAST dos parametros na hora de junta-los ao select.

[]s
Cantu
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

LC> Amigos,
LC> Tenho um comando de "for select" com dados variáveis e
LC> gostaria de faze-lo através de um
LC> "for execute statement" mas encontrei dificuldades para faze-lo funcionar.
LC> O comando é:

LC> wsql = 'select movdat, movdeb, movccd, movcre, movccc,
LC> hiscod, movcpl, movvlr, movseq from ' || :wtab ||
LC>           ' where empcod = ' || :empi || ' and movdat between ' || :dati || ' and ' ||
LC>           :datf || ' and (((movdeb = ' || :wpct || ') and (movccd = ' || :wcen ||
LC>           ')) or ((movcre = ' || :wpct || ') and (movccc = ' || :wcen || ')))' ||
LC>           ' order by movdat, movseq';

LC> ...  e em seguida: 

LC> for execute statement :wsql into :wdat, :wdeb, :wccd, :wcre,
LC> :wccc, :wchi, :wcpl, :wvlr, :wsqm
LC>      do begin

LC> As variáveis são: 
LC> WTAB VARCHAR(10) é o nome de uma tabela  = "movimento"
LC> EMPI  VARCHAR(4)   = "0132"
LC> DATI  e DATF são  DATE = 01/01/2004 e 31/01/2004 passados por parâmetros mas quando
LC>                             são convertidas ficam como 2004-01-01 e 2004-01-31
LC> WPCT VARCHAR(16) = "111010001"
LC> WCEN SMALLINT   = de 1 até 3

LC> Os campos com os quais são comparados são da mesma natureza das variáveis de trabalho
LC> O sistema apresenta o erro:

LC> GDS Exception. 335544334. conversion error from string "1972"

LC> Penso que o erro é na data.
LC> Se executar o comando conforme abaixo funciona normal:

LC> for select movdat, movdeb, movccd, movcre, movccc, hiscod,
LC> movcpl, movvlr, movseq from movimento
LC>     where empcod = :empi and movdat between :dati and :datf and 
LC>     (((movdeb = :wpct) and (movccd = :wcen)) or ((movcre = :wpct) and (movccc = :wcen)))
LC>     order by movdat, movseq'
LC> do begin...

LC> Agradeço sinceramente alguma ajuda.

LC> Luciano C Santos
LC> ______________________________________________
LC> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
LC> Para editar sua configuração na lista, use o endereço
LC> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br





Mais detalhes sobre a lista de discussão lista