Caros amigos Preciso fazer uma UPC para verificar a quantidade alterada das parcelas na tela CC0300B, antes de salvar Para isso preciso fazer um for each na table tt-prazo-compra dessa tela. Encontrei um ponto de UPC chamado "BEFORE-SAVE-RECORD" Mas não consigo alcançar essa temp-table pela upc. vi tambem que é passado uma raw transformada em character no parametro p-cod-table da tabela tt-ordem-compra, mas nao consegui converter em temp-table novamente. Alguém tem idéia de como fazer isso? se é que é possível?
Opa ... eu tive uma situação parecida, porém em outro programa. No meu caso, a tabela temporária estava associada a um browser. Eu precisava verificar (e até mesmo alterar) dados da temp-table. O programa UPC, recebe os parâmetros básicos ... onde tem o p-wgh-frame Código: DEFINE VARIABLE wh-browse AS HANDLE NO-UNDO. DEFINE VARIABLE wh-buffer AS HANDLE NO-UNDO. DEFINE VARIABLE wh-query AS HANDLE NO-UNDO. define variable itensBrowse as integer no-undo. define variable camposBrowse as integer no-undo. /*Rodo um programa específico que "descobre" o handle de um objeto.*/ run especifico/utils/findWidget.p("brSon1" ,"browse", p-wgh-frame , output wh-browse). (programa em anexo). assign wh-query = wh-browse:query wh-buffer = wh-query:get-buffer-handle(1) . repeat itensBrowse = 1 to wh-query:NUM-RESULTS : if itensBrowse = 1 then wh-query:get-first(). else wh-query:get-next(). repeat camposBrowse = 1 to wh-buffer:num-fields: IF wh-buffer:buffer-field(camposBrowse):NAME = "cod-depos" THEN DO: /* nome do campo que procuro é cod-depos */ ASSIGN wh-buffer:buffer-field(camposBrowse):BUFFER-VALUE = "EXP" . /* altera o conteúdo do campo para EXP */ END. END. END. wh-browse:REFRESH() . Veja se isso te ajuda!
o campo tipo RAW não tem a tabela, tem um registro, ou seja, vc tem que ter uma temp-table com as mesmas definições, vc então faz um create na sua tabela e pelo comando raw vc joga o registro pra dentro, então a primeira coisa a verificar tabela da upc, se está vindo um registro pra cada linha da tabela, dai vc popula e faz o que precisa, possivelmente, se vc alterar informações na sua temp-table, depois vc transforma de novo o registro pra RAW e devolve pra rotina ...