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
Amigo, vá de SEND-RECORDS na smartviewer v02pt110. Este método retornará o ROWID da tabela solicitada. Veja se te ajuda.
@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.