Olá pessoal! Gostaria de saber se tem como acessar as tabelas internas no AppBuilder através de um "SmartDataObject". Para "tabelas internas", me refiro as tabelas "_File, _connect...". No "Data Dictionary" consigo visualizar acessando o menu View escolhendo a opção "Show Hidden Tables". Obrigada,
O acesso e leitura as tabelas internar é normal, como se faz com qualquer outra tabela (for each, find... por query, etc). Apenas lembre-se de colocar o nome do banco na frente da tabela, já que todos os bancos conectados possuem as mesmas tabelas. Não sei se era essa sua dúvida, qualquer coisa, a disposição.
Segue exemplo de query dinâmica. Código: DEFINE TEMP-TABLE tt-emitente NO-UNDO LIKE mgcad.emitente. FIND LAST emitente NO-LOCK WHERE emitente.cod-emitente < 99999 NO-ERROR. CREATE tt-emitente. BUFFER-COPY emitente TO tt-emitente. RELEASE emitente. RELEASE tt-emitente. DEFINE VARIABLE iLin AS INTEGER NO-UNDO. DEFINE VARIABLE iCont AS INTEGER NO-UNDO. DEFINE VARIABLE qh AS HANDLE. DEFINE VARIABLE bh AS HANDLE. CREATE QUERY qh. CREATE BUFFER bh FOR TABLE "tt-emitente". qh:SET-BUFFERS(bh). qh:QUERY-PREPARE("for each tt-emitente"). qh:QUERY-OPEN. /*Dados*/ DO WHILE (qh:GET-NEXT = YES): /*ASSIGN iLin = iLin + 1. DO iCont = 1 TO bh:NUM-FIELDS:*/ DISP bh:BUFFER-FIELD(1):BUFFER-VALUE. /*END.*/ END.
assim como o colega disse, é preciso colocar o nome do banco nestas tabelas! montando uma lógica vc conseguirá pesquisar em todas as tabelas "ocultas" com uma única query.