[RESOLVIDO] Comando Next

Discussão em 'EMS , HCM e Totvs 11' iniciado por Dayane Filakoski Candaten, Janeiro 8, 2015.

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

    LFBuozi Membro Participativo

    Não sei se entendi bem a dúvida, mas acabei de testar o código abaixo e no caso do NEXT está pulando para o próximo registro normalmente:
    Código:
    FOR EACH bem_pat NO-LOCK:
        FIND movto_bem_pat NO-LOCK
                WHERE movto_bem_pat.num_id_bem_pat = bem_pat.num_id_bem_pat AND
                ind_trans_calc_bem_pat = 'Baixa' NO-ERROR.
        IF AVAIL movto_bem_pat THEN
        DO:
            MESSAGE "encontrou"
                VIEW-AS ALERT-BOX INFO BUTTONS OK.
            NEXT.
        END.
        MESSAGE "não encontrou" SKIP bem_pat.num_id_bem_pat SKIP bem_pat.num_seq_bem_pat
                VIEW-AS ALERT-BOX INFO BUTTONS OK.
    END.
  2. rlfritz

    rlfritz Membro Ativo

    Olá!

    Pode ser que o teu comando FIND esteja encontrando mais de um registro que atenda a clausula WHERE ... neste caso o AVAIL retorna false.

    Tenta colocar FIND FIRST movto_bem_pat .....
  3. Dayane Filakoski Candaten

    Dayane Filakoski Candaten Sem Pontuação

    Sim... estava com find first primeiro, e mesmo assim estava com problema.
  4. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Dayane,

    Código:
    def var h-acomp                 as handle           no-undo.
    
    output to value(session:temp-directory + "bem_pat.txt") no-convert.
    
    run utp/ut-acomp.p persistent set h-acomp. 
    {utp/ut-liter.i "Aguarde..."}
    
    run pi-inicializar in h-acomp (input "Selecionando Registros...").
    
    for each bem_pat no-lock
        on stop undo, leave:
    
        process events.
    
        run pi-acompanhar in h-acomp (input bem_pat.num_bem_pat).
    
        find movto_bem_pat no-lock
            where movto_bem_pat.num_id_bem_pat         = bem_pat.num_id_bem_pat
              and movto_bem_pat.ind_trans_calc_bem_pat = 'Baixa' no-error.
    
        if avail movto_bem_pat then
            next.
        else
            disp "Ok"
                 bem_pat.num_id_bem_pat
                 bem_pat.num_seq_bem_pat
                 with width 400 stream-io.
    
    end.
    
    output close.
    
    run pi-finalizar in h-acomp.
    
    os-command no-wait value(session:temp-directory + "bem_pat.txt").
    
    Fiz um teste aqui com o codigo acima e nao tem nada de errado, voce precisa que seja impresso somente os BENS que nao tem baixa, os que tiverem um movimento de baixa não deveria sair?

    No lugar do NEXT cheguei a colocar um disp com no lugar do "OK" um "NEXT" e na saida sairam OK e NEXT, quando coloquei igual acima, passaram a sair somente os "OK", ou seja, somente aqueles que nao tiveram uma transação de BAIXA.

    Explique melhor sua necessidade, o que realmente deve ser impresso?
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página