Código: /********************************************************************************* ** Programa...: upc_fillin.p ** Author.....: Desconhecido ** Descricao..: Criar um Fill In na tela e alimentar o mesmo. ** Data.......: 22/02/2002 ** ** Visite www.4each.com.br ** *********************************************************************************/ /* Definicao de variaveis globais ********/ {utp/ut-glob.i} /* Parameter Definitions ****************************************************/ define input parameter p-ind-event as character. define input parameter p-ind-object as character. define input parameter p-wgh-object as handle. define input parameter p-wgh-frame as widget-handle. define input parameter p-cod-table as character. define input parameter p-row-table as rowid. /* variaveis locais *********************************************************/ def var c-objeto as char no-undo. def new global shared var h_query as widget-handle no-undo. def new global shared var wh-objeto as WIDGET-HANDLE NO-UNDO. def new global shared var adm-broker-hdl as handle no-undo. def new global shared var wh-nome as widget-handle no-undo. def new global shared var tx-label-nome AS widget-handle no-undo. DEF new global shared var w-rowid-contrato AS Rowid No-undo. define Var xc-objects As Char. define Var xi-objects As Int. define Var xh-objects As Handle. assign c-objeto = entry(num-entries(p-wgh-object:file-name, "~/"), p-wgh-object:file-name, "~/"). if p-ind-event = "INITIALIZE" and p-ind-object = "CONTAINER" then do: RUN get-link-handle IN adm-broker-hdl (INPUT p-wgh-object, INPUT "CONTAINER-TARGET":U, OUTPUT xc-objects). Do xi-objects = 1 To Num-entries(xc-objects): Assign xh-objects = Widget-handle(Entry(xi-objects,xc-objects)). if xh-objects:file-name = "inqry/q01in065.w" Then Assign h_query = xh-objects. End. create tEXT tx-label-nome assign frame = p-wgh-frame format = "x(16)" width = 16 screen-value = "Nome:" row = 13.9 col = 46.2 visible = yes. create fill-in wh-nome assign frame = p-wgh-frame name = "Nome" data-type = "character" format = "X(30)" width = 28 height = 0.75 row = 13.8 col = 58.4 visible = YES sensitive = NO. end. if p-ind-event = "DISPLAY" and p-ind-object = "VIEWER" and p-wgh-object:FILE-NAME = "cnp/cn0201-v01.w" then do: IF VALID-HANDLE(wh-nome) THEN DO: FIND FIRST TABELA WHERE ROWID(TABELA) = p-row-table NO-LOCK NO-ERROR. IF AVAILABLE TABELA THEN DO: FIND FIRST EXT-TABELA WHERE EXT-TABELA.ep-codigo = i-ep-codigo-usuario /* Definida no UT-GLOB.I**/ AND EXT-TABELA.NOME_DO_CAMPO = TABELA.NOME_DO_CAMPO NO-LOCK NO-ERROR. IF AVAILABLE EXT-TABELA THEN ASSIGN wh-nome:SCREEN-VALUE = EXT-TABELA.NOME_DO_CAMPO. END. END. END. IF p-ind-event = 'ADD' AND p-ind-object = 'VIEWER' AND p-wgh-object:private-data = 'cnp/cn0201-v01.w' THEN DO: ASSIGN wh-objeto = p-wgh-frame:FIRST-CHILD. DO WHILE VALID-HANDLE(wh-objeto): IF wh-objeto:NAME = 'tx-label-nome' THEN ASSIGN wh-objeto:SCREEN-VALUE = STRING("NOME :","X(12)"). END. END. if p-ind-event = "END-UPDATE" and p-ind-object = "VIEWER" then do: find first TABELA where rowid(TABELA) = w-rowid-ped-venda no-lock no-error. find first EXT-TABELA WHERE mgesp.EXT-TABELA.nome-abrev = TABELA.nome-abrev AND mgesp.EXT-TABELA.nr-pedcli = TABELA.nr-pedcli AND mgesp.EXT-TABELA.nr-sequencia = TABELA.nr-sequencia AND mgesp.EXT-TABELA.it-codigo = TABELA.it-codigo AND mgesp.EXT-TABELA.cod-refer = TABELA.cod-refer NO-ERROR. if available mgesp.EXT-TABELA then assign mgesp.EXT-TABELA.nome = wh-nome:SCREEN-VALUE. END.