1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Comparar duas tabelas Emitente de Bancos Diferentes

Discussão em 'Outros/Diversos' iniciado por fdantas, Novembro 26, 2013.

  1. fdantas

    fdantas Administrator Moderador

    Código:
    DEF VAR t-cont AS INT INIT 0 COLUMN-LABEL "TOTAL".
    DEF VAR erro-cont AS INT INIT 0 COLUMN-LABEL "TOTAL ERRO".
    DEF VAR falta-cont AS INT INIT 0 COLUMN-LABEL "CRIADOS".
    
    DEF VAR res AS CHAR FORMAT "x(300)".
    
    DEF STREAM s-saida.
    DEF STREAM s-erro.
    
    OUTPUT STREAM s-saida TO c:/temp/erros-emitente.txt.
    OUTPUT STREAM s-erro TO c:/temp/falta-emitente.txt.
    
    SELECT COUNT(*) INTO t-cont FROM mgcad-a1.emitente.
    
    FOR EACH mgcad-a1.emitente /*WHERE mgcad-a1.emitente.cod-emitente = 47869*/ NO-LOCK:
        FIND mgcad.emitente WHERE mgcad.emitente.cod-emitente = mgcad-a1.emitente.cod-emitente NO-ERROR.
        IF NOT AVAIL mgcad.emitente  THEN DO:
            ASSIGN falta-cont = falta-cont + 1.
            PUT STREAM s-erro " Emitente nao existe na base 1 " mgcad-a1.emitente.cod-emitente.
            /*CREATE mgcad.emitente.
            RAW-TRANSFER mgcad-a1.emitente TO mgcad.emitente.*/
        END.
        ELSE DO:
            BUFFER-COMPARE mgcad-a1.emitente TO mgcad.emitente SAVE RESULT IN res.   
            IF res <> "" AND res <> "dt-ult-venda" THEN
            DO:
                ASSIGN erro-cont = erro-cont + 1.
                PUT STREAM s-saida mgcad.emitente.cod-emitente SPACE (02) res SKIP.
                /*RAW-TRANSFER mgcad-a1.emitente TO mgcad.emitente.*/
            END.
        END.
        DISP mgcad.emitente.cod-emitente erro-cont t-cont falta-cont WITH FRAME f-1. PAUSE 0.
    END.
    

Compartilhe esta Página