Ocorrência
Ao gerar o arquivo da DCTF ocorre o error log abaixo, relacionado a uma query:
THREAD ERROR ([11076], totvsservice, NEOTSMAS007) 16/01/2019 11:17:09
: Error : 102 (37000) (RC=-1) - [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '‘'.
( From tMSSQLConnection::GetQueryFile )
Thread ID [3832] User [Administrador] IO [391] Tables [18] MaxTables [18] Comment [MATA978 - TCPIP - ThreadID(11076)] SP [ ] Traced [No] SQLReplay [No] InTran [No] DBEnv [MSSQL/FPTVT] DBThread [(SPID 197,198)] Started [16/01/2019 11:15:48] IP [172.22.209.9:7025] IDLE [ ] InTransact [ ] Memory [345728] Running [ROP_QUERY] RCV [11915] SND [42513] TCBuild [20180606-20180904] TCVersion [18.1.1.3] ARCH [64] OS [WINDOWS] BUILD [RELEASE]
SELECT E2_FILIAL,E2_PREFIXO,E2_NUM,E2_PARCELA,E2_TIPO,E2_NATUREZ,E2_FORNECE,E2_LOJA,E2_VALOR,E2_EMISSAO,E2_VENCREA,E2_CODRET,E2_PARCSLL,E2_PARCPIS,E2_PARCCOF,E2_PARCIR,E2_EMIS1,E2_IRRF,E2_PIS,E2_COFINS,E2_CSLL,E2_CODAGL,E2_PERIOD,E2_VARIAC,E2_DIRF,E2_FILORIG,E2_ORIGEM,E2_BAIXA,SA2.A2_TIPO,SA2.A2_CALCIRF,E2_NUMPRO,E2_INDPRO,E2_MULTA,E2_JUROS,E2_PARCCID,E2_CIDE,E2_IDDARF,E2_DATASUS FROM SE2010 SE2 LEFT JOIN SA2010 SA2 ON(SA2.A2_FILIAL= ' ' AND SA2.A2_COD=SE2.E2_FORNECE AND SA2.A2_LOJA=SE2.E2_LOJA AND SA2.D_E_L_E_T_= ' ') WHERE SE2.D_E_L_E_T_= ' ' AND E2_FILIAL='01' AND (E2_CODRET NOT IN (' ') OR (E2_PARCELA IN('0',' ') OR(E2_PARCELA IN ('0',' ') AND (E2_BAIXA=' ' OR E2_BAIXA <= '20190131')) AND E2_TIPO='TX ')) AND ((E2_TIPO IN(‘NFE’,’TX’,’NCI’,‘NFS'’) AND ( ( (( E2_IRRF>0 OR E2_CODRET <> '' ) AND (E2_VENCREA>='20190101' AND E2_VENCREA<='20190131') OR (E2_BAIXA BETWEEN '20190101' AND '20190131' AND SA2.A2_CALCIRF='2')) ) ) ) OR ( ( (E2_TIPO='TX ' OR E2_TIPO='TXA') OR (E2_TIPO='DP ' AND E2_ORIGEM='MATA996 ' OR E2_ORIGEM='FISA001 ') ) AND E2_PREFIXO <> 'AGP' AND E2_PREFIXO <> 'AGL' AND E2_NATUREZ <> '' AND E2_FORNECE= 'UNIAO ' AND E2_LOJA= '00' AND E2_EMISSAO>= '20190101' AND E2_EMISSAO<= '20190131' AND ( E2_NATUREZ IN('IPI ') OR (E2_NATUREZ IN('IRF ') AND E2_ORIGEM NOT IN('MATA100')) OR (E2_NATUREZ IN('CSLL ') AND E2_ORIGEM NOT IN('MATA100')) OR (E2_NATUREZ IN('"PIS" ') AND E2_ORIGEM NOT IN('MATA100')) OR (E2_NATUREZ on __EXECSQL(APLIB300.PRW) 31/08/2018 13:40:09 line : 134
Ambiente
Microsiga Protheus - Livros Fiscais - A partir da versão 11.80
Causa
Este error log ocorre pois o parâmetro MV_TPTITU foi preenchido de forma incorreta, possivelmente pelo fato do conteúdo ter sido copiado de algum outro lugar e colocado no parâmetro, onde a aspa simples utilizada está diferente do padrão suportada pela query que o Protheus realiza.
Solução
Para correção do problema é necessário rescrever o parâmetro manualmente para que as aspas simples sejam colocadas de maneira correta no arquivo.
Exemplo:
'NF','TX','FOL'
0 Comentários