01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Tipo de Documento:

Manutenção

Módulo:AcruxMonitorService
Caminho: Views de integração
Função:Geração de cargas para Servidor de PDVs
País:Brasil
Ticket:25193309
Requisito/Story/Issue (informe o requisito relacionado) :

02. SITUAÇÃO/REQUISITO

Durante a geração de cargas para o Servidor de PDVs, foi identificada uma falha nas tabelas TB_PRODPRECOAPARTIR e TB_PRODPRECOAPARTIRDESTINO, que impactou o processamento das demais cargas. O erro ocorreu devido a uma violação de chave primária ao tentar inserir registros duplicados nas tabelas temporárias TBX_PRODPRECOAPARTIR e TBX_PRODPRECOAPARTIRDESTINO.


Log do erro apresentado

21/10/2025 12:56:08 Exceção AcruxMonitorService 25.08.006 moGerarCargaMonitor {74EE54A2-1256-4B79-BB06-10676D12B572} Execute [[FireDAC][[Phys][[Ora] ORA-20200: ORA-20200: ORA-00001: unique constraint (MONITORPDV.TBX_PRODPRECOAPARTIR_PK) violated
 ORA-06512: at "MONITORPDV.PKG_CARGAMONITOR", line 20394
 ORA-06512: at "MONITORPDV.PKG_CARGAMONITOR", line 20427
 ORA-06512: at line 1

03. PRÉ-REQUISITOS

O erro acontece devido a coluna SEQAPARTIRDE, composta na chave primária das tabelas envolvidas, ser definida manualmente concatenando as colunas NROSEGMENTO, SEQPROMOCPDV, SEQDESCONTO e SEQITEMPROMOC gerando o mesmo número de SEQAPARTIRDE para duas promoções diferentes quando concatenados os valores de cada informação.

04. SOLUÇÃO

Para corrigir o problema, foi ajustada a geração do campo SEQAPARTIRDE nas views de integração, adicionando a função LPAD ao campo SEQITEMPROMOC para garantir 3 casas decimais. Dessa forma, a composição da chave passa a considerar corretamente a diferenciação entre promoções, evitando duplicidades. Após a alteração, foi necessário realizar o envio de cargas totais das tabelas TB_PRODPRECOAPARTIR e TB_PRODPRECOAPARTIRDESTINO para o Monitor e PDVs, onde as cargas passaram a ser geradas corretamente, sem interrupção do processo no Monitor de PDVs, e as chaves SEQAPARTIRDE tornaram-se exclusivas para cada promoção.

05. REQUISITOS DE VERSÃO

Se estiver na versão 25.08, atualize para o service pack 25.11.XXX ou superior. 

06. DOCUMENTOS RELACIONADOS

DOCUMENTO(S) DE REFERÊNCIA