Bom galera eu utilizo um código assim: FOR EACH {1}.grp_usuar : DISP {1}.grp_usuar.cod_grp_usuar. END. E eu chamo esse código através de outro programa, mas ele não checka sintaxe e eu preciso compilar esse programa, por isso eu utilizei query e ficou assim: ASSIGN c-query = "FOR EACH usuar_grp_usuar WHERE usuar_grp_usuar.cod_grp_usuar <> "" NO-LOCK". CREATE BUFFER b-usuar_grp_usuar FOR TABLE 'usuar_grp_usuar'. CREATE QUERY h-usuar_grp_usuar. h-usuar_grp_usuar:SET-BUFFERS(b-usuar_grp_usuar). h-usuar_grp_usuar:QUERY-PREPARE(c-query). h-usuar_grp_usuar:QUERY-OPEN(). h-usuar_grp_usuar:GET-FIRST(). DO WHILE NOT h-usuar_grp_usuar:QUERY-OFF-END. FIND FIRST ext_usuar_mestre WHERE ext_usuar_mestre.cod_usuario = b-usuar_grp_usuar:BUFFER-FIELD("cod_usuario"):BUFFER-VALUE /*{1}.usuar_grp_usuar.cod_usuario*/ NO-LOCK NO-ERROR. IF NOT AVAIL ext_usuar_mestre THEN NEXT. /*FIND FIRST {1}.grp_usuar WHERE {1}.grp_usuar.cod_grp_usuar = {1}.usuar_grp_usuar.cod_grp_usuar NO-LOCK NO-ERROR.*/ RUN pi-geradados . h-usuar_grp_usuar:GET-NEXT(). END. Só que eu preciso fazer um FIND que é este que está comentado: FIND FIRST {1}.grp_usuar WHERE {1}.grp_usuar.cod_grp_usuar = {1}.usuar_grp_usuar.cod_grp_usuar NO-LOCK NO-ERROR. Então vocês sabem como eu posso resolver isso, ou então eu pensei em utilizar outra query igual eu fiz no for each, mas ai teria que utilizar uma query dentro da outra, não sei se funcionaria e nem como fazer isso. Alguém pode ajudar ?
Boa noite, Claro que funcionaria, o programa BTB959ZA - Unificação de Foundation - tem 4 centenas de queries e buffers dinâmicos, muitos deles aninhados (e o número não é um exagero, nem força de expressão). Mas você não precisa de query e buffer, somente se quisesse fazer como em FOR EACH encadeados. Sugiro você criar um novo buffer dinâmico para a tabela GRP_USUAR e usar o método FIND-FIRST com a cláusula WHERE necessária. Veja minha dica Usar Buffer Handle para Find e Atualizalção de Campo Forte abraço, espero ter ajudado. PS. Você pode ajudar o amigo aqui curtindo meus posts e dicas aqui Jaison Antoniazzi skype:jaison.antoniazzi email:jaison.antoniazzi@gmail.com