Ocorrência
Ao tentar efetuar um retorno de nota de saída (MATA461) via documento de entrada (MATA103), é gerado um erro de sintaxe perto da palavra chave 'From' na tabela SF2.
Ambiente
Microsiga Protheus - a partir release 12.1.17.
Causa
Erro: Incorrect syntax near the keyword 'FROM'.
( From tMSSQLConnection::GetQueryFile )
SELECT FROM F2_SELECT F2_DOC , F2_SERIE , F2_CLIENTE , F2_LOJA , F2_COND , F2_DUPL , F2_EMISSAO , F2_EST , F2_FRETE , F2_SEGURO , F2_ICMFRET , F2_TIPOCLI , F2_VALBRUT , F2_VALICM , F2_BASEICM , F2_VALIPI , F2_BASEIPI , F2_VALMERC , F2_NFORI , F2_DESCONT , F2_SERIORI , F2_TIPO , F2_ESPECI1 , F2_ESPECI2 , F2_ESPECI3 , F2_ESPECI4 , F2_VOLUME1 , F2_VOLUME2 , F2_VOLUME3 , F2_VOLUME4 , F2_ICMSRET , F2_PLIQUI , F2_PBRUTO , F2_TRANSP , F2_REDESP , F2_VEND1 , F2_VEND2 , F2_VEND3 , F2_VEND4 , F2_VEND5 , F2_OK , F2_FIMP , F2_DTLANC , F2_DTREAJ , F2_REAJUST , F2_DTBASE0 , F2_FATORB0 , F2_DTBASE1 , F2_FATORB1 , F2_VARIAC , F2_FILIAL , F2_BASEISS , F2_VALISS , F2_VALFAT , F2_CONTSOC , F2_BRICMS , F2_FRETAUT , F2_ICMAUTO , F2_DESPESA , F2_NEXTDOC , F2_NEXTSER , F2_ESPECIE , F2_PDV , F2_MAPA , F2_ECF , F2_PREFIXO , F2_BASIMP1 , F2_BASIMP2 , F2_BASIMP3 , F2_BASIMP4 , F2_BASIMP5 , F2_BASIMP6 , F2_VALIMP1 , F2_VALIMP2 , F2_VALIMP3 , F2_VALIMP4 , F2_VALIMP5 , F2_VALIMP6 , F2_ORDPAGO , F2_NFCUPOM , F2_VALINSS , F2_HORA , F2_MOEDA , F2_REGIAO , F2_VALCSLL , F2_VALCOFI , F2_VALPIS , F2_LOTE , F2_TXMOEDA , F2_CLEOK , F2_CHVCLE , F2_IDCLE , F2_VALIRRF , F2_RECFAUT , F2_CARGA , F2_SEQCAR , F2_BASEINS , F2_PEDPEND , F2_DESCCAB , F2_DTENTR , F2_FORMUL , F2_TIPODOC , F2_NFEACRS , F2_TIPOREM , F2_SEQENT , F2_ICMSDIF , F2_VALACRS , F2_RECISS , F2_VALCF3 , F2_ORDSEP , F2_HORNFE , F2_CHVNFE , F2_FLAGDEV , F2_TPFRETE , F2_NFELETR , F2_BASECF3 , F2_VEICUL2 , F2_HAW on A103QRYNF(MATA103R.PRX) 19/03/2019 08:50:10 line : 278
Nesta ocorrência, o ambiente possui um campo de usuário na tabela SF2 chamado F2_SELECT, que interfere na gravação do Banco de Dados. Devido a uma deficiência de interpretação da função ChangeQuery ( LIB), ela não consegue montar a query corretamente, se o campo na Base de Dados contiver como parte de sua nomenclatura nome de comandos de Banco de Dados como Select ou From, por exemplo.
Solução
Para solucionar essa ocorrência, o campo deve ser excluído da Base de Dados e gerado um novo campo com um nome diferente, onde não contenha nenhum tipo de comando de Banco de Dados.
0 Comentários