Histórico da Página
...
Produto: | TOTVS Backoffice
| ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linha de Produto: | Linha Protheus | ||||||||||||||||
Segmento: | Backoffice SP | ||||||||||||||||
Módulo: | FINANCEIRO (SIGAFIN) | ||||||||||||||||
Função: | LANÇAMENTOS CONTÁBEIS OFF-LINE (CTBAFIN) - CP | ||||||||||||||||
Ticket: | 13112382 | ||||||||||||||||
Requisito/Story/Issue (informe o requisito relacionado) : | DFINAPL-14753 |
02. SITUAÇÃO/REQUISITO
Ao contabilizar offline (CTBAFIN) em multi-thread com banco de dados Oracle o processo é interrompido ao encontrar o seguinte cenário: Compensação Quando há compensações a pagar (FINA340) de 2 NDF's com 1 NF, sendo e posteriormente é estornada a compensação de uma das NDF's posteriormente.
No trace do DbAccess é exibido o seguinte erro ao tentar fazer o INSERT de registros na tabela temporária: Error : 1 - ORA-00001: unique constraint .
03. SOLUÇÃO
Foi identificado que a clausula LEFT JOIN da query responsável por buscar os fazer a busca dos registros da tabela SE5 retornava duplicidades no contexto de compensações a pagar.
Assim, ao tentar inserir esses dados na tabela temporária ocorria o erro e o processo era abortado.
Para <p style='margin-left: 30.0px;'>Para esse cenário foi corrigido os filtros da clausula LEFT JOIN para interpretar corretamente situações onde há estornos (E5_TIPODOC='ES').
Também </p><p style='margin-left: 30.0px;'></p><p style='margin-left: 30.0px;'>Também foi diagnosticado e corrigido na clausula LEFT JOIN, no contexto de compensações a receber, que a busca pelos registros não estava com a chave correta de comparação com o campo E5_DOCUMEN correta, causando a não gravação das flags de contabilização no campo E5_LA.</p><p style='margin-left: 30.0px;'></p>
04. DEMAIS INFORMAÇÕES
Melhoria complementar:
Implementamos na criação da tabela temporária de movimentações de títulos uma nova coluna sequencial para bancos Oracle e Postgres, afim de não ocorrer .
O intuito é que não ocorra a interrupção do processo (erro de insert unique constraint) quando houver retorno de registros duplicados da query.
...
.
...
Não se aplica
05. ASSUNTOS RELACIONADOS
...