Quando a falha ocorre?


O objetivo deste artigo é auxiliar na correção do cadastro de terceiros com o CNPJ CPF duplicado.


Como corrigir?


Importante: Antes de qualquer alteração na base de dados é necessário realizar o backup da base geral ?PROEMPxx.

O Cadastro de Terceiros está com registros duplicados no sistema.

1- Acesse no menu do Windows Iniciar, digite PCC e tecle Enter.


2- Acesse a base ?PROEMPxx com a senha Master do banco de dados.
(Onde "?" corresponde a unidade de mapeamento e "xx" ao número da Proemp utilizada)



3 - Acesse a tabela prg_terceiro_btr.


4 - Execute o comando abaixo para remover índices da tabela prg_terceiro_btr:

DROP INDEX "prg_terceiro_btr"."iprg_terceiro_btr1";
DROP INDEX "prg_terceiro_btr"."iprg_terceiro_btr2";
DROP INDEX "prg_terceiro_btr"."iprg_terceiro_btr3";
DROP INDEX "prg_terceiro_btr"."iprg_terceiro_btr4";
DROP INDEX "prg_terceiro_btr"."iprg_terceiro_btr5";
DROP INDEX "prg_terceiro_btr"."iprg_terceiro_btr6";
DROP INDEX "prg_terceiro_btr"."iprg_terceiro_btr7";


5 - Acesse a tabela prg_terceiro_compl.


6 - Execute o comando abaixo para remover remover índices e relacionamentos da tabela prg_terceiro_compl:

DROP INDEX "prg_terceiro_compl"."iprg_terceiro_compl1";

ALTER TABLE "prg_terceiro_compl"(
  DROP CONSTRAINT cterceiro_compl00,
  DROP CONSTRAINT cterceiro_compl01);


7 - Acesse a tabela prg_endereco.


8 - Execute o comando abaixo para remover relacionamentos da tabela prg_endereco:

ALTER TABLE "prg_endereco"(
  DROP CONSTRAINT cendereco01,
  DROP CONSTRAINT cendereco02,
  DROP CONSTRAINT cendereco03,
  DROP CONSTRAINT cendereco00 );


9 - Após a remoção dos índices da tabela prg_terceiro_btr, prg_terceiro_compl e prg_endereco execute o seguinte comando abaixo:

select cnpjcpf from prg_terceiro_btr group by cnpjcpf having count (cnpjcpf)>1;

Este comando retornará todos os registros com cnpj e cpf duplicados na base de dados da tabela prg_terceiro_btr.


“Obs: Note que foi localizado um terceiro com cnpjcpf duplicado conforme imagem.”


10 -  Para localizar  qual terceiro esta com o cnpj ou cpf duplicado execute o seguinte comando abaixo.

select * from "prg_terceiro_btr" where cnpjcpf = '61602199003057';


11 - Altere  o numero do campo cnpjcpf que está duplicado manualmente na base de dados.



12 - Execute o comando abaixo para criar índices da tabela prg_terceiro_btr:

CREATE UNIQUE NOT MODIFIABLE INDEX "iprg_terceiro_btr1" USING 0 ON "prg_terceiro_btr"("codigobtr");
CREATE UNIQUE INDEX "iprg_terceiro_btr2" USING 1 ON "prg_terceiro_btr"("cnpjcpf");
CREATE UNIQUE INDEX "iprg_terceiro_btr3" USING 2 ON "prg_terceiro_btr"("razsoc", "codigobtr");
CREATE UNIQUE INDEX "iprg_terceiro_btr4" USING 3 ON "prg_terceiro_btr"("apelido", "codigobtr");
CREATE UNIQUE INDEX "iprg_terceiro_btr5" USING 4 ON "prg_terceiro_btr"("personalidad", "cnpjcpf");
CREATE UNIQUE INDEX "iprg_terceiro_btr6" USING 5 ON "prg_terceiro_btr"("personalidad", "razsoc", "codigobtr");
CREATE UNIQUE INDEX "iprg_terceiro_btr7" USING 6 ON "prg_terceiro_btr"("personalidad", "codigobtr");


13 - Execute o comando abaixo para criar índices e relacionamentos da tabela prg_terceiro_compl:

CREATE UNIQUE INDEX "iprg_terceiro_compl1" USING 1 ON "prg_terceiro_compl"("codigo");
ALTER TABLE prg_terceiro_compl ADD CONSTRAINT cterceiro_compl00 FOREIGN KEY ("fk_cnae_id") REFERENCES prg_cnae2007 ON UPDATE RESTRICT  ON DELETE RESTRICT;
ALTER TABLE prg_terceiro_compl ADD CONSTRAINT cterceiro_compl01 FOREIGN KEY ("fk_cnae_ant") REFERENCES prg_cnae ON UPDATE RESTRICT  ON DELETE RESTRICT;


14 - Execute o comando abaixo para criar relacionamentos da tabela prg_endereco:

ALTER TABLE prg_endereco ADD CONSTRAINT cendereco01 FOREIGN KEY ("fk_muni_id") REFERENCES prg_municipio ON UPDATE RESTRICT  ON DELETE RESTRICT ;
ALTER TABLE prg_endereco ADD CONSTRAINT cendereco02 FOREIGN KEY ("fk_pais_id") REFERENCES prg_pais ON UPDATE RESTRICT  ON DELETE RESTRICT ;
ALTER TABLE prg_endereco ADD CONSTRAINT cendereco03 FOREIGN KEY ("fk_terceiro_id") REFERENCES prg_terceiro_compl ON UPDATE RESTRICT  ON DELETE RESTRICT ;
ALTER TABLE prg_endereco ADD CONSTRAINT cendereco00 FOREIGN KEY ("fk_sigla_uf") REFERENCES prg_uf

  • Sem rótulos