A258-Cadastro de terceiros com CNPJ CPF duplicado
Sumário
Sistema: Gerenciador de Aplicativos Prosoft (GAP)
Contexto: O objetivo deste artigo é auxiliar na correção do cadastro de terceiros com o CNPJ CPF duplicado.
Informações Adicionais: Não se aplica.
Resolução
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- Antes de executar o comando para localizar o terceiro duplicado é necessário remover os índices e relacionamentos das tabelas prg_terceiro_btr, prg_terceiro_compl e prg_endereco.
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;
Obs. 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 acima.”
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.
13- Após a alteração do CNPJ que esta duplicado é necessário realizar a criação dos índices e relacionamentos das tabelas.
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 ON UPDATE RESTRICT ON DELETE RESTRICT ;