quarta-feira, 27 de novembro de 2013

Verifica CNPJ duplicados (Datasul)



DEF BUFFER b_pessoa_jurid FOR pessoa_jurid.
DEF VAR i-cont AS INT INIT 0.

DEF temp-TABLE tt-dados
FIELD c-cnpj LIKE pessoa_jurid.cod_id_feder
FIELD c-num  LIKE pessoa_jurid.num_pessoa_jurid
FIELD c-nome LIKE pessoa_jurid.nom_pessoa
INDEX id c-cnpj.

FOR EACH tt-dados:
    DELETE tt-dados.
END.

FOR EACH pessoa_jurid:
    FIND FIRST tt-dados WHERE tt-dados.c-cnpj = pessoa_jurid.cod_id_feder NO-LOCK NO-ERROR.
    IF NOT AVAIL tt-dados THEN DO:
       CREATE tt-dados.
       ASSIGN tt-dados.c-cnpj = pessoa_jurid.cod_id_feder
              tt-dados.c-num  = pessoa_jurid.num_pessoa_jurid
              tt-dados.c-nome = pessoa_jurid.nom_pessoa.
    END.
END.

OUTPUT TO e:\duplos.txt.
FOR EACH tt-dados:
   FOR EACH pessoa_jurid
      WHERE pessoa_jurid.cod_id_feder = tt-dados.c-cnpj:
     ASSIGN i-cont = i-cont + 1.
         IF i-cont > 1 THEN DO:
             FOR EACH emsuni.fornecedor WHERE emsuni.fornecedor.num_pessoa = pessoa_jurid.num_pessoa_jurid:
                 DISP emsuni.fornecedor.cdn_fornecedor.
             END.
             DISP pessoa_jurid.cod_id_feder
                  pessoa_jurid.num_pessoa_jurid
                  pessoa_jurid.nom_pessoa SKIP
                  tt-dados.c-cnpj
                  tt-dados.c-num
                  tt-dados.c-nome.
         END.
   END.
   ASSIGN i-cont = 0.
END.
OUTPUT CLOSE.

Nenhum comentário:

Postar um comentário