[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. Dayane Filakoski Candaten

    Dayane Filakoski Candaten Sem Pontuação

    Bom dia,
    Preciso fazer uma verificação de uma informação de uma tabela dentro de um for each de outra tabela.
    E caso encontre a informação no find, ele deve passar pra próxima leitura do for each.
    Implementei como está abaixo, porém com esse comando "NEXT" que estou usando, aparentemente ele só está indo para o próximo comando, pois ele executa o que tem abaixo disso (tenho uma geração de arquivo e gera o arquivo para o for each que está no ponteiro).


    FOR EACH bem_pat NO-LOCK.
    FIND FIRST 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
    NEXT.


    Como posso fazer com que se encontrar na tabela movto_bem_pat ele vá para o próximo registro do for each?
  2. elmo

    elmo Membro Ativo

    Boa tarde,
    Já tentou fazer testes e verificar se está passando nesse IF?
    Código:
    FOR EACH bem_pat NO-LOCK.
         FIND FIRST 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 "Passou IF" VIEW-AS ALERT-BOX. 
                          NEXT. 
         END.
  3. Dayane Filakoski Candaten

    Dayane Filakoski Candaten Sem Pontuação

    Sim, ele passa por ali, mas imprime o put que fica na sequencia.
    Está difícil de entender.
  4. elmo

    elmo Membro Ativo

    Poderia postar um print mostrando que ele passou pelo IF?
  5. fernandofarah

    fernandofarah Membro Participativo

    Posta todo o trecho deste código, fica mais fácil para ajuda-la.
  6. fernandofarah

    fernandofarah Membro Participativo

    Bom se você quer que ele escreva no texto e depois de o next é preciso individualizar o bloco.

    Ex.:

    Código:
    FOR EACH bem_pat NO-LOCK.
    FIND FIRST 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:
    put tabela.campo... bla bla bla skip.
    NEXT.
    end.
    Espero ter entendido certo e ter ajudado.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página