Quando a falha ocorre?


Ao tentar excluir empresa na rotina Exclusão de Empresa, ocorre a falha: 


-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


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 que foram mantidos de lixo no sistema por meio do script na tabela prg_empresa_compl dentro da DSN ?PROEMPXX.

Select * from "prg_empresa_compl" where codigo = 'EEEE';

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


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

Copie o valor obtido na coluna lie_fk_emp.


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

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

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

Copie o valor obtido na consulta da coluna lil_fk_integ_emp.


4 - Delete os registros encontrados na 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 lie_fk_emp da tabela lfs_integ_emp, direto do grid após a consulta do ITEM 2, ou via script.

delete from "lfs_integ_emp" where lie_fk_emp = '';

  • Sem rótulos