Exemplo de código para tornar um browse editável

Discussão em 'Progress 4GL' iniciado por mrepetto, Novembro 4, 2014.

  1. mrepetto

    mrepetto Membro Participativo

    Pessoal, bom dia tudo bem com vcs?

    Estou desenvolvendo um relatório que no filtro, existe um browse onde o usuário insere as informações e depois gostaria de capturar essas informações em temp-table para executar o relatório.

    Será que alguém tem algum exemplo de browse editável com captura das informações digitadas? Estou tentando, mas ainda não consegui.

    Fico no aguardo e agradeço desde já.

    Forte abraço.
  2. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Caro,

    Se entendi bem, voce deseja pegar os registros do Browse e jogar em um arquivo, se for isso basta no seu codigo que ira gerar o arquivo fazer a mesma leitura que está no OPEN-QUERY do Browse.
  3. mrepetto

    mrepetto Membro Participativo

    Eduardo, bom dia.

    Seria mais ou menos isso, na verdade eu ainda não estou conseguindo nem digitar as informações no browse, ele está como enable e como open the query nas propriedades, mas só estou conseguindo digitar uma única linha, não passa para o próximo registro.

    Att.
  4. Luiza

    Luiza Sem Pontuação

    Olá, tenho esse exemplo, onde é possível editar e adicionar uma linha nova do browser, mas não exporta para um relatório:

    DEF VAR x AS LOGICAL.
    DEF VAR y AS LOGICAL.

    DEF BUTTON bt-fim LABEL "&Ok"
    SIZE 10 BY 1.
    DEF BUTTON bt-inc LABEL "&Inclui"
    SIZE 10 BY 1.

    DEF QUERY q-cust FOR customer.

    DEF BROWSE b-cust QUERY q-cust

    DISPLAY customer.cust-num
    customer.name
    customer.credit-limit
    ENABLE customer.name
    customer.credit-limit
    WITH SIZE 47 BY 7.6 SEPARATORS.

    OPEN QUERY q-cust FOR EACH customer.

    DEFINE FRAME a
    SKIP(1) SPACE(3) b-cust
    SKIP(2) bt-inc AT ROW 12 COLUMN 04 SKIP(1)
    bt-fim AT ROW 12 COLUMN 15 SKIP(1)
    WITH CENTERED ROW 1
    VIEW-AS DIALOG-BOX SIZE 60 BY 15.
    DISPLAY b-cust bt-fim WITH FRAME a.
    ENABLE ALL WITH FRAME a.

    ON CHOOSE OF bt-inc
    DO:
    MESSAGE "Nova Linha?"
    VIEW-AS ALERT-BOX QUESTION
    BUTTONS YES-NO UPDATE y.
    IF y THEN
    x = b-cust:INSERT-ROW("AFTER").
    ELSE
    MESSAGE "INCLUSAO CANCELADA"
    VIEW-AS ALERT-BOX INFORMATION.
    END.

    ON ROW-LEAVE OF BROWSE b-cust
    DO:
    IF b-cust:NEW-ROW IN FRAME a THEN
    DO:
    CREATE customer.
    ASSIGN INPUT BROWSE b-cust
    customer.name
    customer.credit-limit.
    DISPLAY customer.cust-num
    WITH BROWSE b-cust.
    OPEN QUERY q-cust FOR EACH customer.
    END.
    x = b-cust:CREATE-RESULT-LIST-ENTRY().
    END.

    WAIT-FOR CHOOSE OF bt-fim.

    CLOSE QUERY q-cust.

Compartilhe esta Página