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.
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.
...
