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.
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
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
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