1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Duvida FOR EACH "complexo"

Discussão em 'Progress 4GL' iniciado por jc01, Março 9, 2015.

  1. jc01

    jc01 Membro Participativo

    Sim, "por trás dos panos" é realmente isso que o MAX faz.
    Mas na minha opinião o uso de SQL seria um facilitador, assim como ele é usado no desenvolvimento Oracle (o descontinuado Forms, que usa PL/SQL).
    A curva de aprendizagem do SQL é muito pequena e te possibilita fazer muita coisa de forma simples e de fácil entendimento.
    Sei lá, cada um pensa de uma forma...
  2. lwazevedo

    lwazevedo Membro Ativo

    Se foi o que eu entendi segue um possível exemplo.
    Código:
    def temp-table tt-maior-valor-grupo
        field grupo as char
        field subgrupo as char
        field valor as int.
    
    for each tabela break by tabela.grupo no-lock.
       
        find first tt-maior-valor-grupo where tt-maior-valor-grupo.grupo = tabela.grupo no-error.
        if not avail tt-maior-valor-grupo then do:
           create tt-maior-valor-grupo.
           buffer-copy tabela to tt-maior-valor-grupo.
        end.
        else
          if tabela.valor > tt-maior-valor-grupo.valor then
             assign tt-maior-valor-grupo.subgrupo = tabela.subgrupo
                    tt-maior-valor-grupo.valor = tabela.valor.
       
       
       
    end.   
        
  3. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    pode ser, mas o comando maximum elimina a necessidade do seu if tabela.valor > ..... mas é assim mesmo, cada um tem o seu estilo de programação.
  4. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Olá,

    Sei que já acharam uma alternativa, mas segue um exemplo de como utilizar o select com max/count/avg/min:
    Código:
    DEFINE VARIABLE i-max AS INTEGER     NO-UNDO.
    SELECT MAX(cod-emitente) INTO i-max FROM emitente.
    
    MESSAGE i-max
        VIEW-AS ALERT-BOX INFO BUTTONS OK.
    Espero que ajude em outras soluções.
  5. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    na verdade pra mim o quanto mais claro o codigo melhor, no caso de max, count, avg e etc acho mais limpo um select, vc já mediu o tempo de resposta entre um select e um for each ????
  6. jc01

    jc01 Membro Participativo

    Opa, muito bom! Nas próximas vezes já sei que posso fazer assim.

Compartilhe esta Página