Mesmo FOR EACH com indices diferentes

Discussão em 'Progress 4GL' iniciado por Cobra.cne, Setembro 9, 2009.

  1. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Pessoal,

    Gostaria de saber se existe a seguinte possibilidade, não conheço muito bem os pré-processadores:
    Código:
    if classifica = 1 then
        FOR EACH ttRelat NO-LOCK use-index id1:
    else   
        FOR EACH ttRelat NO-LOCK use-index id2:
    
            disp ttRelat.
        end.
    
    Pois o display é exatamente o mesmo para várias classificações, claro que o display não é simples assim e tenho mais classificações, e não queria repetir o código, alguém sabe alguma outra maneira sem ser utilizando a include:

    Código:
    if classifica = 1 then
        FOR EACH ttRelat NO-LOCK use-index id1:
             {include_display.i}
        end.
    else   
        FOR EACH ttRelat NO-LOCK use-index id2:
             {include_display.i}
        end.
    
    
    
    Grato.
  2. fdantas

    fdantas Administrator Moderador

    Teria que testar Cleiton, mas acho que se voce colocar o for each dentro de uma include e passar por parametro a chave que quer usar funciona....

    Abraço
  3. galoro

    galoro Sem Pontuação

    Olha ate onde conheco, uso 2 for each's dessa forma que usou no exemplo. Nao vejo outra forma.
  4. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Só para constar, segue outra forma que me passaram através de uma consultoria:

    Código:
    For each ....use-index id1:
     Run mostraRegistro.
    End.
    
    For each ....use-index id2:
     Run mostraRegistro.
    End.
    
    For each ....use-index id3:
     Run mostraRegistro.
    End.
    
    
    Procedure mostraRegistro:
    
      /* ponha aqui sua logica */
    
    End.
    
    Em termos de performance, não sei qual das três opções seria a melhor. A que fiz, a que o Dantas sugeriu, ou esta.

    Abraços
  5. baltazar

    baltazar Membro Participativo

    É possível usar este código para carregar uma temp-table?

    Como é que o faço?

    Obrigado.
  6. TrombiniSP

    TrombiniSP Membro Participativo


    Poxa, comecei ler o tópico e achei que ninguem iria falar de Query Dinamica.. Nice post OP...

    Aliás, qm não conhece Query Dinamica deveria aprender, pois, vc vai economizar horas e horas de programação e gera códigos melhores. Com boas praticas claro!!!..

    TY

Compartilhe esta Página