Árvore de páginas

01. DADOS GERAIS

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: Quando há compensações a pagar (FINA340) de 2 NDF's com 1 NF, e posteriormente é estornada a compensação de uma das NDF's.

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 .

No mesmo cenário relatado, mas em banco de dados MSSQL, o processo não é interrompido, porém são geradas duplicidades nos lançamentos contábeis (LPS 597 e 589).

03. SOLUÇÃO

Foi identificado que a clausula LEFT JOIN da query responsável por 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 esse cenário foi corrigido os filtros da clausula LEFT JOIN para interpretar corretamente situações onde há estornos (E5_TIPODOC='ES').

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, causando a não gravação das flags de contabilização no campo E5_LA.

04. DEMAIS INFORMAÇÕES

Melhoria complementar:

Implementamos criação da tabela temporária de movimentações de títulos uma nova coluna sequencial para bancos Oracle e Postgres.

O intuito é que não ocorra a interrupção do processo (erro de unique constraint) quando houver retorno de registros duplicados da query.

05. ASSUNTOS RELACIONADOS

        Não se aplica