Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Quando a falha ocorre?

...

Ao tentar excluir empresa na rotina Exclusão de Empresa, ocorre a falha: Este artigo tem como objetivo orientar como solucionar o erro Falha ao excluir empresa:


-2147467259 - Falha ao executar SQL de exclusão: [LNA][Pervasive][ODBC Engine Interface][Data Record Manager]There is a violation of the RI definitions(Btrieve Error 71)
SQL: DELETE FROM prg_empresa_compl WHERE id = ???
Referência/Erro: 45900018

Resolução


Para excluir a empresa, não podem ter registros de integrações como lixo na base de dados, para isso é necessário excluir via banco de dados os registros.

Como corrigir a falha?

...

1 - Localize os registros
Exemplo: A empresa para exclusão no GAP = 0150.
Localize o ID da empresa 0150 que foram mantidos de lixo no sistema por meio do script na tabela prg_empresa_compl dentro da DSN ?PROEMPXX.

Script 1 - Select * from "prg_empresa_compl" where codigo = '0150EEEE';

O No exemplo abaixo, foi realizado procedimento com a empresa 1910 e o ID retornado na coluna foi o 2005.

Image Added


2 - Execute o script abaixo para localizar o valor da coluna lie_id na tabela "tabela lfs_integ_emp". Insira o valor do ID da empresa que foi retornado no script 1anterior.
Script 2 - Select * from "lfs_integ_emp" where lie_fk_emp = '200ID';

O valor do registro retornado Copie o valor obtido na coluna lie_fk_emp o 33.


3 - Execute o script abaixo para localizar o valor da coluna lie_id na tabela "tabela lfs_integ_layout".

Insira o valor do lie_fk_emp que foi retornado no script 2.
Script 3 - Select * from "lfs_integ_layout" where lil_fk_integ_emp = '33ID';

Localize o ID da coluna lie_id na coluna lil_fk_integ_emp da tabela "tabela lfs_integ_layout".

O valor do registro retornado Copie o valor obtido na consulta da coluna lil_fk_integ_emp é 15.


4 - Delete os registros encontrados na tabela tabela lfs_integ_layout, direto no GRID após a consulta do ITEM 3 ou via script.

delete from "lfs_integ_layout" where lil_fk_integ_emp = '';


5 - Delete o Id da coluna coluna lie_fk_emp da tabela lfs_integ_emp, direto do grid após a consulta do ITEM 2, ou via script.

...