Ler Registro dia Anterior

Discussão em 'Progress 4GL' iniciado por DFResmer, Junho 20, 2012.

  1. DFResmer

    DFResmer Membro Participativo

    Ola pessoal!
    gostaria de saber se tem alguma forma de ler um lançamento do dia anterior ou do ultimo dia que teve um lançamento anterior...?
    Estou usando a função FIND LAST, mas nem sempre dá certo, pois os find last traz o ultimo registro anterior ao dia que estou pedindo, nem sempre é do dia anterior mesmo, pois os lançamentos as vezes não são feitos na ordem.

    Exemplo,

    FIND LAST CDE_CAB WHERE CDE_CAB.codigo <> i-codigo AND
    CDE_CAB.placa = i-placa AND
    CDE_CAB.dtaemi <= i-data AND
    CDE_CAB.hora < i-horini NO-LOCK NO-ERROR.

    mas nem sempre me tráz o registro correto por causa da ordem de lançamento.

    Att,

    Diogo
  2. alexandretm

    alexandretm Membro Participativo

    Se eu entendi, voce deveria definir na tabela um index para o campo data
    ai ficaria assim:

    FIND LAST CDE_CAB use-index ch-data
    WHERE CDE_CAB.codigo <> i-codigo
    AND CDE_CAB.placa = i-placa
    AND CDE_CAB.dtaemi <= i-data
    AND CDE_CAB.hora < i-horini NO-LOCK NO-ERROR.

    ou use for first

    FOR FIRST CDE_CAB
    WHERE CDE_CAB.codigo <> i-codigo
    AND CDE_CAB.placa = i-placa
    AND CDE_CAB.dtaemi <= i-data
    AND CDE_CAB.hora < i-horini
    BY CDE_CAB.dtaemi desc :

Compartilhe esta Página