Quando a falha ocorre?


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

Como corrigir?


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)

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

4- Acesse a tabela prg_terceiro_btr.

5- 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";

6- Acesse a tabela prg_terceiro_compl.

7- 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);

8- Acesse a tabela prg_endereco.

9- 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 );

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


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

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

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

14- 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");

15- 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;

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