[RESOLVIDO] Buscar Registros ems2

Discussão em 'EMS , HCM e Totvs 11' iniciado por kakaos, Junho 2, 2010.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. kakaos

    kakaos Membro Participativo

    Bom dia pessoal,
    como nao tenho conhecimento em progress, ate estou estudando mas comecei recente entao nao tenho conhecimento suficiente pra tanto ne... entao meus pessoal estou precisando fazer uma consulta no ems2,buscando todos os registro de um certo periodo, ou seja, todos os clientes que compraram no mes de marco ate hoje, porem vai ter clientes que compraram em marco, abril, maio e etc, entao esta consulta trataria assim, se o cara comprou em marco e ja foi registrado ele nao precisa aparecer na data de abril e consequentemente outros meses.
    dai precisaria dos campos:
    nome-abrev
    it-codigo
    dt-implante
    pude ver que a tabela ped-venda tem todas as informcaoes, porem nao sei como fazer, precisaria registrar esta consulta em um txt.

    desde ja agradeco a todos pela atencao.
  2. mcarril

    mcarril Membro Participativo

    Bom dia Kakaos:

    Solicitar em tela a data de inicio e fim;

    Ler a tabela principal em que os pedidos estejam na faixa de datas: (FOR EACH)

    Criar uma tabela temporária com os campos necessários e chave o código do cliente.

    Antes de alimentar a tabela temporária utilizar o comando find para verificar se existe o cliente (it-codigo), se não existir utilizar o comando NEXT, para ler o próximo.

    No fim do processamento da tabela principal e após alimentada a tabela temporária:

    Ler a tabela temporária, e enviar para um arquivo texto. (Veja OUTPUT TO)

    Espero ter ajudado. Qualquer coisa posta seu código aqui que ajudamos.
  3. kakaos

    kakaos Membro Participativo

    Boa tarde Marly,
    o problema é que não sei como fazer isto com progress por nao ter conhecimento da linguagem, faz pouco tempo que consegui por um amigo uma apostila com alguns comandos mais nao consegui ainda similar estas informacoes. Não faco ideia de como fazer isso ainda mais como criar uma tabela temporaria, consigo fazer um FOR EACH simples, acredito que nao atenderá a isto entende?
    obrigado pela atencao.
  4. kakaos

    kakaos Membro Participativo

    Marly ate tentei mais não tive muito sucesso... nunca fiz algo do tipo "criar uma tabela temporaria", poderia me ajudar com isso.. segue meu codigo porem falta muito ainda pra chegar onde voce descreveu.. se puder ajudar e descrever como se faz dai posso entender e aprender. obrigado.

    output to d:\consulta_periodo.txt.
    For each ped-venda
    where dt-implante > 05/01/2010.

    disp dt-implant
    nome-abrev
    e-mail skip.
    end.
    output close.
  5. mcarril

    mcarril Membro Participativo

    Temos umas apostilas boas na parte de tutorial. E se você procurar no site vai ter um monte de exemplos de programas.

    Veja bem, normalmente em Datasul, você faz a tela com as templates e depois este programa de
    tela chama o de impressão, os RP.p. Não tem ninguém aí que possa te ajudar ?


    /*DEFINICAO DE TABELA TEMPORÁRIA - EXEMPLO */

    DEF TEMP-TABLE tt-pedvenda
    FIELD t-codcli LIKE pedvenda.cod-cli (não sei se é este o campo do codigo cliente)
    FIELD t-dt-implant LIKE pedvenda.dt-implant
    FIELD t-nome-abrev LIKE pedvenda.nome-abrev
    FIELD t-e-mail LIKE pedvenda.e-mail.


    FOR EACH tabela principal:

    FIND tt-pedvenda WHERE tt-pedvenda.t-codcli = (campo cliente da tabela principal)
    NO-LOCK NO-ERROR.

    IF NOT AVAIL tt-pedvenda THEN DO:
    CREATE tt-pedvenda.t-codcli = (campo cliente da tabela principal)
    tt-pedvenda.t-dt-implant = pedvenda.dt-implant...
    etc... para todos os campos...

    END. /* not avail*/

    END. /* for each */

    FOR EACH tt-pedvenda:

    ROTINA DE IMPRESSÃO OU GERAÇÃO DO ARQUIVO.


    END.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página