Dúvida

Discussão em 'Progress 4GL' iniciado por eder.luca2012, Maio 14, 2013.

  1. eder.luca2012

    eder.luca2012 Membro Participativo

    Bom dia

    Pessoal estou com uma dúvida e gostaria da ajuda de vc´s imaginem o seguinte programa:

    output to c:\relatorio.txt.
    for each usuario no-lock
    for each contrato where contrato.cd-contrato = usuario.cd-contrato no-lock

    disp contrato.nm-contratante with width 600.
    end.
    end.
    output close.

    Um programa simples a minha dúvida é o seguinte se eu precisa-se por exemplo no meio do segundo for each colocar um teste e apartir desse teste gerar em um segundo arquivo eu consigo fazer isso e voltar depois posteriormente a voltar a editar o posterior?

    output to c:\relatorio.txt.
    for each usuario no-lock
    for each contrato where contrato.cd-contrato = usuario.cd-contrato no-lock
    if (contrato.cd-contrato <> 5) then do:
    disp contrato.nm-contratante with width 600.
    end.

    if (contrato = 5) then do:
    output to c:\relatorio2.txt
    disp contrato.nm-contratante with width 600.
    end.
    end.
    end.

    Eu consigo trabalhar com dois arquivos diferentes e utilizá-los para situações diferentes?
  2. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Nunca tentei mas acredito que seja possivel se voce definir STREAM....


    Tente da seguinte forma.

    Código:
    DEF STREAM st-01.
    DEF STREAM st-02.
    
    OUTPUT STREAM st-01 TO c:\relatorio.txt PAGED.
    OUTPUT STREAM st-02 TO c:\relatorio2.txt PAGED.
    
    for each usuario no-lock
        for each contrato where contrato.cd-contrato = usuario.cd-contrato no-lock
            if (contrato.cd-contrato <> 5) then 
            do:
                PUT STREAM st-01 contrato.nm-contratante with width 600.
            end.
            if (contrato = 5) then 
            do:
                PUT STREAM st-02 contrato.nm-contratante with width 600.
    
            END.
        END.
    END.

Compartilhe esta Página