quarta-feira, 27 de novembro de 2013

Alteração do Fornecedor ( Datasul )

DEF VAR i-emitente LIKE emitente.cod-emitente NO-UNDO.
DEF VAR r-chave    AS ROWID  NO-UNDO.
DEF VAR hDBOad098  AS HANDLE NO-UNDO.

DEFINE TEMP-TABLE tt-emitente LIKE emitente
    FIELD r-rowid AS ROWID.

{include/boerrtab.i}

IF NOT VALID-HANDLE(hDBOad098) OR
    hDBOad098:TYPE <> "PROCEDURE":U OR
    hDBOad098:FILE-NAME <> "adbo/boad098.p":U THEN DO:
    RUN adbo/boad098.p PERSISTEN SET hDBOad098.
END.

OUTPUT TO "e:\Fornecedores.txt".

PUT "Altera‡Æo de Fornecedores" SKIP
    "-------------------------" SKIP.

FOR EACH emitente WHERE
    emitente.identific >= 2 EXCLUSIVE-LOCK:

    CREATE tt-emitente.
    BUFFER-COPY emitente TO tt-emitente.

    ASSIGN substr(tt-emitente.char-1,30,1) = "S"
           r-chave                         = ROWID(emitente).

    RUN validateupdate IN hDBOad098 (INPUT  TABLE tt-emitente,
                                     INPUT r-chave,
                                     OUTPUT TABLE tt-bo-erro).

    PUT emitente.cod-emitente " "
        emitente.nome-emit    " "
        emitente.cgc " ".

    IF NOT CAN-FIND(FIRST tt-bo-erro) THEN DO:
        IF CAN-FIND(funcao WHERE
                    funcao.cd-funcao = "adm-cdc-ems-5.00" AND
                    funcao.ativo = YES                    AND
                    funcao.log-1 = YES) THEN DO:

            RUN cdp/cd1608.p (INPUT emitente.cod-emitente,
                              INPUT emitente.cod-emitente,
                              INPUT emitente.identific,
                              INPUT yes,
                              INPUT 1,
                              INPUT 0,
                              INPUT "utb765zb.tmp",
                              INPUT "Arquivo":U,
                              INPUT "").
            PUT "OK" SKIP.
        END.
    END.
    ELSE DO:
        PUT "NOK" SKIP.
    END.
    DELETE tt-emitente.
END.
OUTPUT CLOSE.
DOS SILENT START VALUE("C:\Datasul\work\Fornecedores.txt").

Nenhum comentário:

Postar um comentário