Como fazer um for each variavel

Discussão em 'Progress 4GL' iniciado por andreluisbrandao, Novembro 1, 2010.

  1. andreluisbrandao

    andreluisbrandao Membro Participativo

    Senhores,

    Estou fazendo um relatorio e tenho algumas situações como por exemplo:

    Gostaria que conforme fosse a marcação num Radio Set ele organizasse por um determinando campo, porem quando faço isso tenho que escrever todo o for each por conta de um Break BY. Como faço isso de forma mais economica e inteligente ?

    André.
  2. kirchner

    kirchner Membro Participativo Moderador

    André,

    Com query dinâmica acho que você consegue isso. É um saco do ponto de vista da segurança, mas se você não está preocupado com isto funciona.
  3. andreluisbrandao

    andreluisbrandao Membro Participativo

    Ok Marcos,

    Pode me dar um exemplo ?
  4. kirchner

    kirchner Membro Participativo Moderador

    Exemplo fuleiro mas funciona:

    Código:
    def var orderColumn as char.
    assign orderColumn = 'city'.
    
    def var queryText as char.
    assign queryText = 'FOR EACH Customer BY ' + orderColumn.
    
    DEFINE VARIABLE qh AS HANDLE.
    CREATE QUERY qh.
    qh:SET-BUFFERS(BUFFER customer:HANDLE).
    qh:QUERY-PREPARE(queryText).
    qh:QUERY-OPEN.
    REPEAT WITH FRAME y:
        qh:GET-NEXT().
        IF qh:QUERY-OFF-END THEN
            LEAVE.
        
        DISPLAY cust-num          name      FORMAT "x(30)"          city      FORMAT "X(20)".
    END.
    qh:QUERY-CLOSE().
    DELETE OBJECT qh.
    Se você mudar na segunda linha de 'city' para 'name', por exemplo, vai ver que a ordenação muda. O resto do código é igual.
  5. andreluisbrandao

    andreluisbrandao Membro Participativo

    Muito obrigado Marcos.

Compartilhe esta Página