01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus |
---|---|
Segmento: | Recursos Humanos |
Módulo: | SIGAVDF |
Função: | VDFM210.PRW |
Task: | DRHGFP-2703 |
Pacote | 12.1.17:https://suporte.totvs.com/portal/p/10098/download?e=730061 ; |
02. SITUAÇÃO/REQUISITO
Ao clicar para visualizar o histórico de atos e portarias, tanto por cargo, quanto por matricula, o sistema exibe o error.log:
THREAD ERROR ([27057], manoela.gonzaga, SPON010113628) 09/01/2019 18:32:36
: Error : 7 (42883) (RC=-1) - ERROR: operator does not exist: character = integer;
Error while executing the query
( From tPostgresConnection::GetQueryFile )
Thread ID [29650] User [MANOELA.GONZAGA] IO [9534] Tables [24] MaxTables [26] Comment [VDFA210 - TCPIP - ThreadID(27057)] SP [ ] Traced [No] SQLReplay [No] InTran [No] DBEnv [POSTGRES/BRTS1217PV2] DBThread [(ID 29700)] Started [09/01/2019 12:31:39] IP [10.171.67.120:60610] IDLE [ ] InTransact [ ] Memory [0] Running [ROP_QUERY] RCV [609191] SND [1208335] TCBuild [20181212-20181220] TCVersion [18.2.1.0_RC1] ARCH [64] OS [LINUX] BUILD [DEBUG]
SELECT CAST(CAST( SUBSTR(RCC.RCC_CONTEU,03,30)::BPCHAR AS VARCHAR(250)) AS VARCHAR(250)) as DESC_TP,1 AS RI6_OK,RI6_CLASTP FROM RI6T10 RI6 , RCCT10 RCC WHERE RI6.D_E_L_E_T = ' ' AND RCC.D_E_L_E_T_ = ' ' AND RI6.RI6_FILIAL=' ' AND RCC.RCC_CODIGO='S101' AND (RI6.RI6_FILCRG='D MG ' AND RI6.RI6_CARGO='00019') AND SUBSTR(RCC.RCC_CONTEU,01,02)::bpchar =RI6_CLASTP AND RI6.RI6_DTATPO <> ' ' AND RI6.RI6_ANO <> ' ' AND RI6.RI6_STATUS IN(1,2,3) GROUP BY RCC_CONTEU,RI6_CLASTP ORDER BY RCC_CONTEU on FWBRWQUERY:OPENQUERY(FWBRWQUERY.PRW) 08/01/2019 17:02:22 line : 760_
03. SOLUÇÃO
A rotina foi atualizada para versão 12.1.23, sem opção de histórico por cargo, pois esta opção é específica do cliente AUDESP.
Foi identificado que quando a query é executada no postgree ao checar o intervalo de valores do campo RI6_STATUS estava gerando o erro pelo fato de não estarem entre aspas.
Após correção a query funcionou corretamente.