HCM – Integrador HCM– Registro não encontrado ou alterado por outro processo. Tabela: R034FUN
Incidente
No módulo módulo do painel de gestão, ao realizar alteração de dados pessoais do colaborador, é apresentado dentro do Integrador HCM a mensagem: Registro não encontrado ou alterado por outro processo. Tabela: R034FUN.
Causa
Este incidente ocorre porque existe regra customizada alterando o campo coalesce no cadastro do colaborador.
Solução
Para identificar o incidente, realize os seguintes passo:
1. Faça uma cópia do atalho do Administração de Pessoal dentro da pasta de instalação;
1.1. Inclua as seguintes extensões nas propriedades do novo atalho: -logjdbc, -mcdebug;
2. Copie o arquivo jdbc-monitor.jar para alguma pasta local em sua máquina/estação (não precisa estar dentro da pasta do sistema);
3. Acesse o aplicativo JDBC-Monitor.jar;
4. Colete os parâmetros de entrada gerados no log do integrador:
5. Acesse o sistema / atalho (Administração de Pessoal) com os parâmetros -logjdbc -mcdebug, utilizando o usuário de Integração do Webservice (SeniorConfigCenter);
6. Entre no menu Diversos / Multicamadas;
7. Selecione o WebService indicado nos logs;
8. Coloque os parâmetros de entrada e execute de forma local;
9. Processe a pendência no integradorHCM para gerar o erro nos logs do JDBC;
10. Identifique no log o comando de Update na tabela R034FUN:
Exemplo:
Observação: Sempre que ocorre essa mensagem a causa não está nos campos que estão sendo alterados, mas sim nos campos que estão no where do comando de alteração.
11. Copie do comando de update todo o where e na frente insira um select simples na tabela
Exemplo:
Select simples da tabela + o where do comando de update
SELECT * FROM R034FUN
WHERE
numemp = 9
AND tipcol = 1
AND numcad = 3579
AND COALESCE(empres, 0) = COALESCE(0, 0)
AND COALESCE(tipres, 0) = COALESCE(0, 0)
AND COALESCE(cadres, 0) = COALESCE(0, 0)
AND COALESCE(outemp, 0) = COALESCE(0, 0)
AND COALESCE(outtip, 0) = COALESCE(0, 0)
AND COALESCE(outcad, 0) = COALESCE(0, 0)
AND COALESCE(codesc, 0) = COALESCE(189, 0)
AND COALESCE(codtma, 0) = COALESCE(1, 0)
AND COALESCE(codesc, 0) = COALESCE(189, 0)
AND COALESCE(turint, 0) = COALESCE(0, 0)
AND COALESCE(estcar, 0) = COALESCE(1, 0)
AND COALESCE(codcar, ' ') = COALESCE('46551', ' ')
AND COALESCE(numemp, 0) = COALESCE(9, 0)
AND COALESCE(codpro, 0) = COALESCE(0, 0)
AND COALESCE(numemp, 0) = COALESCE(9, 0)
AND COALESCE(codccu, ' ') = COALESCE('0000101045', ' ')
AND COALESCE(numemp, 0) = COALESCE(9, 0)
AND COALESCE(ultcal, 0) = COALESCE(1423, 0)
AND COALESCE(numemp, 0) = COALESCE(9, 0)
AND COALESCE(codfil, 0) = COALESCE(1101, 0)
AND COALESCE(taborg, 0) = COALESCE(2, 0)
AND COALESCE(numloc, 0) = COALESCE(3856, 0)
AND COALESCE(estpos, 0) = COALESCE(2, 0)
AND COALESCE(postra, ' ') = COALESCE('01190', ' ')
AND COALESCE(codban, 0) = COALESCE(0, 0)
AND COALESCE(codage, 0) = COALESCE(0, 0)
AND COALESCE(outcon, ' ') = COALESCE(' ', ' ')
AND COALESCE(datsim, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(valsup, 0) = COALESCE(0.0, 0)
AND COALESCE(salsim, 0) = COALESCE(0.0, 0)
AND COALESCE(outtet, ' ') = COALESCE(' ', ' ')
AND COALESCE(datapo, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(tipapo, 0) = COALESCE(0, 0)
AND COALESCE(datinc, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('6/15/1992 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(lisrai, ' ') = COALESCE('S', ' ')
AND COALESCE(emicar, ' ') = COALESCE('S', ' ')
AND COALESCE(codcha, ' ') = COALESCE(' ', ' ')
AND COALESCE(numcra, 0) = COALESCE(1921491865, 0)
AND COALESCE(horinc, 0) = COALESCE(595, 0)
AND COALESCE(escvtr, 0) = COALESCE(0, 0)
AND COALESCE(ponemb, 0) = COALESCE(0, 0)
AND COALESCE(rec13s, ' ') = COALESCE('S', ' ')
AND COALESCE(recadi, ' ') = COALESCE('S', ' ')
AND COALESCE(datpos, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('9/1/2021 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(datcar, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('5/1/2019 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(caudem, 0) = COALESCE(0, 0)
AND COALESCE(datafa, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(horafa, 0) = COALESCE(0, 0)
AND COALESCE(motcar, 0) = COALESCE(66, 0)
AND COALESCE(datfil, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('9/1/2004 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(cadfil, 0) = COALESCE(3579, 0)
AND COALESCE(datccu, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('6/1/2016 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(datesc, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/11/2016 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(datloc, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('5/1/2012 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(valsal, 0) = COALESCE(16085.94, 0)
AND COALESCE(cplsal, 0) = COALESCE(0.0, 0)
AND COALESCE(perdes, 0) = COALESCE(0.0, 0)
AND COALESCE(sitrec, ' ') = COALESCE('C', ' ')
AND COALESCE(conrho, 0) = COALESCE(2, 0)
AND COALESCE(datsal, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('5/1/2021 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(clasal, ' ') = COALESCE(' ', ' ')
AND COALESCE(nivsal, ' ') = COALESCE(' ', ' ')
AND COALESCE(codest, 0) = COALESCE(0, 0)
AND COALESCE(codmot, 0) = COALESCE(36, 0)
AND COALESCE(tipsal, 0) = COALESCE(1, 0)
AND COALESCE(perpag, ' ') = COALESCE('M', ' ')
AND COALESCE(tipcon, 0) = COALESCE(1, 0)
AND COALESCE(tipsex, ' ') = COALESCE('F', ' ')
AND COALESCE(estciv, 0) = COALESCE(2, 0)
AND COALESCE(anoche, 0) = COALESCE(0, 0)
AND COALESCE(visest, 0) = COALESCE(0, 0)
AND COALESCE(codnac, 0) = COALESCE(10, 0)
AND COALESCE(grains, 0) = COALESCE(9, 0)
AND COALESCE(datnas, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('9/9/1970 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(nomfun, ' ') = COALESCE('ADRIANA DAMAS DOS SANTOS ', ' ')
AND COALESCE(apefun, ' ') = COALESCE(' ', ' ')
AND COALESCE(datadm, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('6/15/1992 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(codetb, 0) = COALESCE(0, 0)
AND COALESCE(codtap, 0) = COALESCE(1, 0)
AND COALESCE(tipadm, 0) = COALESCE(5, 0)
AND COALESCE(sitafa, 0) = COALESCE(1, 0)
AND COALESCE(confgt, 0) = COALESCE(0, 0)
AND COALESCE(perjur, 0) = COALESCE(0, 0)
AND COALESCE(datopc, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('6/15/1992 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(pagsin, ' ') = COALESCE('N', ' ')
AND COALESCE(tipopc, ' ') = COALESCE('S', ' ')
AND COALESCE(depirf, 0) = COALESCE(1, 0)
AND COALESCE(conban, 0) = COALESCE(0, 0)
AND COALESCE(digban, ' ') = COALESCE(' ', ' ')
AND COALESCE(depsaf, 0) = COALESCE(0, 0)
AND COALESCE(modpag, ' ') = COALESCE('R', ' ')
AND COALESCE(numctp, 0) = COALESCE(49729, 0)
AND COALESCE(serctp, ' ') = COALESCE('64', ' ')
AND COALESCE(dvlctp, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(regest, ' ') = COALESCE(' ', ' ')
AND COALESCE(dvlest, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(estctp, ' ') = COALESCE('SP', ' ')
AND COALESCE(dcdpis, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('2/20/1985 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(socsin, ' ') = COALESCE('N', ' ')
AND COALESCE(numpis, 0) = COALESCE(12208152567, 0)
AND COALESCE(dexctp, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('8/8/1988 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(numcpf, 0) = COALESCE(12310466867, 0)
AND COALESCE(empfil, 0) = COALESCE(9, 0)
AND COALESCE(tpctba, 0) = COALESCE(3, 0)
AND COALESCE(codlim, 0) = COALESCE(0, 0)
AND COALESCE(irrise, ' ') = COALESCE(' ', ' ')
AND COALESCE(codidn, 0) = COALESCE(0, 0)
AND COALESCE(sisces, 0) = COALESCE(0, 0)
AND COALESCE(opcces, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(datvin, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('6/15/1992 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(datsin, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('5/1/2004 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(codpes, 0) = COALESCE(9918, 0)
AND COALESCE(apoida, ' ') = COALESCE('N', ' ')
AND COALESCE(rettrp, ' ') = COALESCE(' ', ' ')
AND COALESCE(codvin, 0) = COALESCE(10, 0)
AND COALESCE(codglo, 0) = COALESCE(0, 0)
AND COALESCE(tipsrv, 0) = COALESCE(0, 0)
AND COALESCE(bushor, 0) = COALESCE(0, 0)
AND COALESCE(digcar, ' ') = COALESCE(' ', ' ')
AND COALESCE(movsef, ' ') = COALESCE(' ', ' ')
AND COALESCE(benrea, ' ') = COALESCE('N', ' ')
AND COALESCE(nmfun4, ' ') = COALESCE(' ', ' ')
AND COALESCE(recgra, ' ') = COALESCE(' ', ' ')
AND COALESCE(docest, 0) = COALESCE(0, 0)
AND COALESCE(nmfun1, ' ') = COALESCE(' ', ' ')
AND COALESCE(nmfun2, ' ') = COALESCE(' ', ' ')
AND COALESCE(nmfun3, ' ') = COALESCE(' ', ' ')
AND COALESCE(datrei, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(tpcpix, 0) = COALESCE(0, 0)
AND COALESCE(chvpix, ' ') = COALESCE(' ', ' ')
AND COALESCE(forpro, ' ') = COALESCE(' ', ' ')
AND COALESCE(codcbo, ' ') = COALESCE(' ', ' ')
AND COALESCE(staalf, 0) = COALESCE(0, 0)
AND COALESCE(usu_gerexttrj, ' ') = COALESCE(' ', ' ')
AND COALESCE(usu_datref, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(usu_preter, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(usu_desapo, ' ') = COALESCE(' ', ' ')
AND COALESCE(usu_peradi, 0) = COALESCE(0.0, 0)
AND COALESCE(usu_resalt, ' ') = COALESCE('roberto.maas', ' ')
AND COALESCE(dathct, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(numpsp, ' ') = COALESCE(' ', ' ')
AND COALESCE(datche, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(datevt, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(temhct, 0) = COALESCE(0, 0)
AND COALESCE(stahct, 0) = COALESCE(0, 0)
AND COALESCE(cateso, 0) = COALESCE(101, 0)
AND COALESCE(datces, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('7/1/2021 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(cotdef, ' ') = COALESCE(' ', ' ')
AND COALESCE(datsef, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('6/15/1992 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111)
AND COALESCE(seqreg, 0) = COALESCE(0, 0)
AND COALESCE(gespon, ' ') = COALESCE('S', ' ')
AND COALESCE(emtcar, ' ') = COALESCE(' ', ' ')
AND COALESCE(numins, 0) = COALESCE(0, 0)
AND COALESCE(dctins, 0) = COALESCE(0, 0)
AND COALESCE(datsld, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(faiins, 0) = COALESCE(0, 0)
AND COALESCE(opcatu, ' ') = COALESCE(' ', ' ')
AND COALESCE(elimar, 0) = COALESCE(1, 0)
AND COALESCE(catter, ' ') = COALESCE('O', ' ')
AND COALESCE(fattpo, 0) = COALESCE(0.0, 0)
AND COALESCE(cadfol, ' ') = COALESCE(' ', ' ')
AND COALESCE(dincra, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('6/15/1992 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(hincra, 0) = COALESCE(0, 0)
AND COALESCE(perper, 0) = COALESCE(0.0, 0)
AND COALESCE(apoesp, 0) = COALESCE(1, 0)
AND COALESCE(periss, 0) = COALESCE(0.0, 0)
AND COALESCE(datetb, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(datadi, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('10/1/2018 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(perins, 0) = COALESCE(0.0, 0)
AND COALESCE(hordsr, 0) = COALESCE(0, 0)
AND COALESCE(depsld, 0) = COALESCE(0.0, 0)
AND COALESCE(jamsld, 0) = COALESCE(0.0, 0)
AND COALESCE(horbas, 0) = COALESCE(0, 0)
AND COALESCE(horsab, 0) = COALESCE(0, 0)
AND COALESCE(horsem, 0) = COALESCE(0, 0)
AND COALESCE(raccor, 0) = COALESCE(1, 0)
AND COALESCE(dedcar, ' ') = COALESCE(' ', ' ')
AND COALESCE(codfor, 0) = COALESCE(0, 0)
AND COALESCE(deffis, ' ') = COALESCE('N', ' ')
AND COALESCE(perrea, 0) = COALESCE(0.0, 0)
AND COALESCE(gpstri, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(coddef, 0) = COALESCE(0, 0)
AND COALESCE(catsef, 0) = COALESCE(1, 0)
AND COALESCE(dedins, 0) = COALESCE(0.0, 0)
AND COALESCE(rateve, ' ') = COALESCE('S', ' ')
AND COALESCE(pertra, 0) = COALESCE(0.0, 0)
AND COALESCE(perirt, 0) = COALESCE(0.0, 0)
AND COALESCE(cauadv, ' ') = COALESCE(' ', ' ')
AND COALESCE(inscur, 0) = COALESCE(0, 0)
AND COALESCE(assppr, 0) = COALESCE(0, 0)
AND COALESCE(tipter, 0) = COALESCE(0, 0)
AND COALESCE(apupfs, ' ') = COALESCE(' ', ' ')
AND COALESCE(tippfs, ' ') = COALESCE(' ', ' ')
AND COALESCE(ratpfs, ' ') = COALESCE(' ', ' ')
AND COALESCE(datppr, CONVERT(DATETIME, '1900/12/31', 111)) = COALESCE('12/31/1900 0:0:0.000', CONVERT(DATETIME, '1900/12/31', 111))
AND COALESCE(verint, ' ') = COALESCE('A', ' ')
AND COALESCE(contov, ' ') = COALESCE(' ', ' ')
12. Execute esse comando no banco onde não vai retornar nenhuma linha, nesse caso seve ser retirado linha por linha e executado o comando até identificar qual linha ao ser retirada retorna registro.
Observação:
No exemplo situado foi verificado ao retirar a linha 'AND COALESCE(ultcal, 0) = COALESCE(1423, 0)' retornava resultado.
O sistema espera um código de calculo e estava retornando outro.
Essa situação pode ocorre quando entre o momento de alteração do registro e o update na base da G5 alguém alterou essa informação na tabela.
Isso pode ocorrer devido alguma customização. Nesse caso o campo coalesce só é alterado de forma padrão quando tem calculo da ficha financeira do colaborador.
Observação:
O cliente deve depurar as regras customizadas para identificar qual regra esta efetuando alteração no campo analisado.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.