TcSqlError não retorna o erro ocorrido

Boa tarde!

Estou criando uma customização onde crio uma tabela temporária usando a classe FwTemporaryTable e logo em seguida a preencho com os dados de um Select juntamente com a função TcSqlExec.

Em anexo está um exemplo do código utilizado. Perceba que no Pivot do SQL coloquei o nome do campo errado (D1_TOTAL ao invés de VALTOT), o que vai ocasionar erro de execução no SQL Server.

A função TcSqlExec vai retornar que a execução deu erro, mas a TcSqlError não retorna nada.

Alguém já passou por uma situação similar? Nessa situação já efetuei a correção da query, mas gostaria de ter uma maior confiança na função caso ocorra futuramente.

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Giordano, nunca vi essa situação, já tentou atualizar os binários, appserver, dbaccess e dbapi pra verificar se a situação é a mesma?

Boa tarde, Daniel! O DbAccess e LIB já estão atualizados, testei tanto no binário 17 e no 19 mas o erro foi o mesmo.

Giordano, vou recomendar você abrir uma issue/ticket para a Tecnologia (TEC), eu tentei reproduzir com um POC e não consegui, talvez seja envolvendo também o seu banco de dados, ODBC etc, aí eles precisam analisar na camada do binário mesmo. Não é uma situação comum isso ocorrer, na verdade, como já disse antes, nunca havia visto essa situação, o TCSqlError traz erros até de execução de Procedures.

Efetuei a abertura de um chamado na TOTVS e eles conseguiram simular a situação. Assim que obter uma solução deles eu posto aqui.

Bom dia, uma situacao similar ocurrio pero executando stored procedures com tabelas temporárias é comentários (print na saída) dentro de o script SQL que nao retornaba resultados correctamente, além de atulizar os binários, adicionamos uma configuracao no dbaccess.ini para que possa trazer os resultados corretamente:

ODBC30=0

Artigo origem: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360047140134-MP-ADVPL-Erro-na-execu%C3%A7%C3%A3o-de-procedures-via-ADVPL-

Chave ODBC30 no TDN: https://tdn.totvs.com/pages/viewpage.action?pageId=36799225

Acho que o mensagem do SQL indicando que o campo na existe no INSERT faz o mesmo que o mensagem que nossos retornavamos com o SP.

Espero que seja de sua ajuda.

Bom dia! Também tive esse problema na execução de Stored Procedures, mas mesmo com essa chave ativada o TcSqlError não retorna nada na execução do Insert.

Bom dia!

Em contato com a TOTVS fui informado que esse problema já está mapeado e será corrigido na próxima versão do DbAccess v20.1.1.0.