1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

[Ajuda] Pegar Informações de uma Smartviewer

Discussão em 'Progress 4GL' iniciado por marcosoliv, Maio 19, 2014.

  1. marcosoliv

    marcosoliv Membro Participativo

    Senhores, Bom dia,

    Gostaria de saber como pegar o conteúdo de um campo de uma outra smartviewer.
    No programa existem 2 smartviewers e uma smartbrowser.
    ao gravar o conteúdo da smartviewer v01cpp003 precisava obter dados contidos na smarviewer v02pt110. Como buscar estes dados e utilizar na smartviewer v01cpp003 e como atualizar o browser (open-query) após gravação.

    Links:
    h_b07cpp001 Record h_v01cpp003
    h_c-naveg Navigation h_q01cpp008
    h_c-updsav TableIO h_v01cpp003
    h_q01cpp008 Record h_v02pt110
    h_v02pt110 Record h_b07cpp001
  2. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Amigo, vá de SEND-RECORDS na smartviewer v02pt110. Este método retornará o ROWID da tabela solicitada.
    Veja se te ajuda.
  3. marcosoliv

    marcosoliv Membro Participativo

    Jaison, como eu faria isso ?, vc poderia me dar uma dica?
  4. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    @marcosoliv veja se te ajuda, fiz este exemplo usando viewer de customer (h_v-customer) e solicitando o rowid da tabela customer (( INPUT "customer" /* CHARACTER */,).

    DEFINE VARIABLE listaRowids AS CHARACTER NO-UNDO.
    DEFINE VARIABLE rcustomer AS ROWID NO-UNDO.

    RUN send-records IN h_v-customer
    ( INPUT "customer" /* CHARACTER */,
    OUTPUT listaRowids /* CHARACTER */).

    rcustomer = TO-ROWID(listaRowids).

    FIND FIRST customer NO-LOCK
    WHERE ROWID(customer) = rcustomer NO-ERROR.
    IF AVAIL customer THEN
    MESSAGE
    'Rowid=' listaRowids SKIP
    'Codigo=' customer.custnum SKIP
    'Nome=' customer.NAME
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

    No teu caso, basta utilizar a tua viewer passando a tabela que você quer receber o rowid. O parâmetro de retorno é um caracter, pois ele pode retornar uma lista de vários rowids, basta passar a lista de tabelas que estarão na viewer (( INPUT "customer,order,orderline" /* CHARACTER */,).

    Abraço.
    Felipe Amaral de Souza curtiu isso.

Compartilhe esta Página