Trabalhando com arquivos

Existem diversas maneiras de trabalhar com arquivos utilizando Progress 4GL, abaixo vou explicar as mais utilizadas.

A mais comum de ser encontrada é o método de definir uma stream, definir o arquivo de saída e depois utilizar o comando PUT para gerar os dados.

Veja exemplo:

DEF STREAM clientes.

OUTPUT STREAM clientes TO VALUE(‘C:\lista-clientes.txt’).

FOR EACH emitente NO-LOCK:

PUT STREAM clientes emitente.nome-emit emitente.cgc SKIP.

END.

OUTPUT STREAM clientes CLOSE.

Na segunda maneira, como vocês podem perceber não há a necessidade de definição da stream tornando a solução mais simples, a diferença é que nesse caso qualquer display ou comando de I/O vai ser gerado no arquivo definido.

OUTPUT TO c:\clientes.txt.

FOR EACH emitente NO-LOCK:

DISP emitente.nome-emit emitente.cgc SKIP.

END.

OUTPUT CLOSE.

A vantagem dessa situação acima é que podemos jogar a informação não só pra arquivo, mas pra variadas saídas como nos exemplos abaixo.

OUTPUT TO PRINTER.

DISPLAY “Jogar para a impressora padrão”.

OUTPUT CLOSE.

OUTPUT TO LPT1.

DISPLAY “Jogar na porta LPT1”.

OUTPUT CLOSE.

Agora a ultima opção e na minha opinião a mais útil:

Nessa opção é gerado um arquivo CSV que pode ser manipulado no Excel, caso você precise gerar arquivos no Excel veja mais detalhes em nosso outro artigo.

OUTPUT TO c:\clientes.csv.

FOR EACH emitente NO-LOCK:

EXPORT DELIMITER “;” emitente.nome-emit emitente.cgc SKIP.

END.

OUTPUT CLOSE.

FDantas

Formado pela FPJ (Faculdade Politecnica de Jundiai), atualmente atuando como analista de sistemas. Trabalha há mais de 10 anos com analise, desenvolvimento e customização de sistemas desenvolvidos em Progress 4GL como Magnus, EMS e HCM. Atua também com desenvolvimento web, utilizando a ferramenta WebSpeed.

Você pode gostar...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *