Comando For Last

Discussão em 'Progress 4GL' iniciado por maicon, Junho 12, 2013.

  1. maicon

    maicon Membro Participativo

    Boa Tarde

    O que exatamente o comando For Last faz?

    Posso usar o comando no-error com ele?

    Tem algum exemplo deste comando?
  2. pedro_lemes

    pedro_lemes Membro Participativo

    O comando FOR LAST simplesmente te traz o ULTIMO registro encontrado, conforme sua cláusula. Ele nao pode usar o NO-ERROR.

    Sintaxe de exemplo:
    Código:
    FOR LAST emitente WHERE cidade = "SAO PAULO" NO-LOCK:
         DISP emitente WITH 1 COL FONT 3 SCROLLABLE.
    END.
    
    Voce pode usar também o FIND LAST que faz a mesma coisa, podendo usar o no-error. Porém, tera que verificar se existe o registro antes de exibi-lo. O exemplo abaixo faz O MESMO que o FOR LAST demonstrado acima, mas o FOR é sempre mais performatico que o FIND.

    Exemplo:
    Código:
    FIND LAST emitente WHERE cidade = "SAO PAULO" NO-LOCK NO-ERROR.
    IF AVAIL(emitente) THEN
        DISP emitente WITH 1 COL FONT 3 SCROLLABLE.
    
    Agora, se quiser apenas saber se existe, mas nao quiser acessar o registro, use CAN-FIND!

    Código:
    IF CAN-FIND(LAST emitente NO-LOCK) THEN
        DISP "existe!".
    
    Espero ter ajudado!

    Abraço!
  3. douglas_kbcao

    douglas_kbcao Sem Pontuação

    Bela explicação Pedro!... Ajudou aqui!

Compartilhe esta Página