Programa para gerar dados

Discussão em 'Progress 4GL' iniciado por Ricardo321210, Abril 7, 2010.

  1. Ricardo321210

    Ricardo321210 Sem Pontuação

    Prezados, o que tem de errado com o meu programa?

    ele não apresenta nenhum erro,porém, quando verifico no c: na pasta temp está vazia.

    OUTPUT TO "v:\temp\unidade_federativa.txt".
    FOR EACH rh_unid_federac OF rh_pais NO-LOCK:

    DISP rh_unid_federac.cod_unid_federac_rh ";"
    rh_unid_federac.cod_pais ";"
    rh_unid_federac.des_unid_federac_rh ";"
    rh_pais.nom_pais ";"
    rh_pais.cod_pais WITH WIDTH 132.
    END.
  2. jalegria

    jalegria Membro Participativo

    não é porque no output está "V:"?
  3. Ricardo321210

    Ricardo321210 Sem Pontuação

    Infelizmente não é por este motivo.

    Pois gravou o arquivo certo no meu c:,porem sem dados
  4. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Bom,

    Um problema seria o V: que está informado quando deveria ser C:, mas isto pode ser somente aqui, pois como você disse, o arquivo foi gerado porém vazio, então vamos lá a solução:

    01) Arquivo foi gerado: Ok, está correto, uma vez que você abriu o arquivo para ser gravado pelo OUTPUT TO, mesmo que não faça nada o arquivo já foi gerado, só uma sugestão. Sempre no final da rotina feche o arquivo com OUTPUT CLOSE para evitar alguns problemas de arquivo aberto na memória.

    02) Não gravou nada: É simples, o seu FOR EACH está fazendo uma leitura na tabela "rh_unid_federac", onde deverá pegar somente os registros da chave principal da tabela "rh_pais", ok, está parcialmente certo, pois cadê a leitura desta tabela "rh_pais", ou seja, como a tabela não foi lida antes do for each, então não tá na memória e não será listado ninguem da tabela "rh_unid_federac".

    Para funcionar, você deve fazer um FIND ou FOR EACH na tabela "rh_pais" antes do for each, exemplos:

    Código:
    FIND FIRST rh_pais NO-LOCK NO-ERROR.
    FOR EACH rh_unid_federac OF rh_pais NO-LOCK:
    
    ou

    Código:
    FOR EACH rh_pais NO-LOCK,
           EACH rh_unid_federac OF rh_pais NO-LOCK:
    
  5. deproenca

    deproenca Membro Participativo

    Amigo tente dessa maneira:
    Código:
    OUTPUT TO "v:\temp\unidade_federativa.txt".
    
    FOR EACH rh_unid_federac NO-LOCK,
        FIRST rh_pais OF rh_unid_federac:
        
    
    PUT rh_unid_federac.cod_unid_federac_rh ";"
        rh_unid_federac.cod_pais ";"
        rh_unid_federac.des_unid_federac_rh ";"
        rh_pais.nom_pais ";"
        rh_pais.cod_pais SKIP.
    END.
    
    OUTPUT CLOSE.
    
    Qualquer coisa estamos ai....
    Abraços
  6. jalegria

    jalegria Membro Participativo

    vc colocou o programa completo aí na msg?
    vc pode usar tb "EXPORT DELIMITER ';' campos".

    pode ser uma pergunta idiota, mas tem dados na tabela?
    vc tentou só dar um for each display na tela mesmo pra conferir?

Compartilhe esta Página