UPC - FRAME

376 views
Skip to first unread message

Miguel Brandelero

unread,
Apr 29, 2010, 8:32:51 AM4/29/10
to progre...@googlegroups.com
Como faço para criar um frame através de uma UPC.

A upc será no programa PD1001.

Se alguem souber ou tivé um exemplo agradeço desde já.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Progress - 4GL" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para progre...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para progress_4gl...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/progress_4gl?hl=pt-BR.

Wanderley S

unread,
Apr 29, 2010, 12:58:44 PM4/29/10
to progre...@googlegroups.com
Não sei se é bem isso o que vc quer, mas segue abaixo um exemplo de criação de uma nova aba no pd1001, sendo que, no meu caso eu criei um Browser... mas poderia ser uma viewer ou outtro tipo de smartobject também.

Abraço,

Wanderley.

"...aos loucos a sua impressão de bem-estar os leva à perdição." Pv 1.32b.

Veja: www.ipbjc.org.br
/*------------------*/
 
/*********************************************************************************
** Programa...: pd1001-upc.p                                                     *
** Descricao..: Upc para criacao de viewer na tela de pedidos.                   *
** Data.......: 24/06/2009                                                       *
**                                                                               *
*********************************************************************************/
/* 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.
def var c-objeto as char no-undo.
/* Global Variable Definitions **********************************************/
define new global shared var h-folder-pd1001        as handle no-undo.
define new global shared var h-sel-pd1001           as handle no-undo.
DEFINE NEW GLOBAL SHARED VAR h-browse-pd1001 as widget-handle no-undo.
define new global shared var adm-broker-hdl  as handle no-undo.
DEF NEW GLOBAL SHARED VAR vg-nr-pedido AS INTEGER.
def new global shared var wh-nome-pd1001           as widget-handle no-undo.
def new global shared var tx-label-nome     AS widget-handle no-undo.
/* Variable Definitions *****************************************************/
define var c-folder       as character no-undo.
define var c-objects      as character no-undo.
define var i-objects      as integer   no-undo.
define var h-object       as handle    no-undo.
define var l-record       as logical   no-undo initial no.
define var l-group-assign as logical   no-undo initial no.
define var h_frame        as widget-handle no-undo.
DEF VAR h-frame AS HANDLE NO-UNDO.
DEF NEW GLOBAL SHARED VAR h-estab-pd1001 AS HANDLE NO-UNDO.
/*****************************************************************************************************/
DEF NEW GLOBAL SHARED VAR h-fpage2-pd1001 AS WIDGET-HANDLE NO-UNDO.
DEF VAR h-objeto   AS HANDLE        NO-UNDO.
DEF NEW GLOBAL SHARED VAR h-estab-pd1001 AS HANDLE NO-UNDO.

IF p-ind-event = "DISPLAY" AND
   p-ind-object = "VIEWER" AND
   p-cod-table = "ped-venda" AND
   STRING(p-row-table) <> ? THEN
DO:
    FIND FIRST ped-venda WHERE ROWID(ped-venda) = p-row-table NO-LOCK NO-ERROR.
    IF AVAIL ped-venda THEN
    DO:
        ASSIGN vg-nr-pedido = ped-venda.nr-pedido.
        IF VALID-HANDLE(h-browse-pd1001) THEN
            RUN pi-open-query IN h-browse-pd1001.
    END.
END.
     
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 "PAGE-SOURCE":U,
                                           OUTPUT c-folder).
   
    assign h-folder-pd1001 = widget-handle(c-folder) no-error.
    assign h-sel-pd1001    = p-wgh-object.
    if valid-handle(h-folder-pd1001) then do:
       RUN create-folder-page IN h-folder-pd1001 (INPUT 10,  INPUT "Outros":U).
       RUN create-folder-label IN h-folder-pd1001 (INPUT 10, INPUT "Outros":U).
      
       RUN select-page IN p-wgh-object (INPUT 10).
      
       RUN init-object IN p-wgh-object (INPUT "esbrw/bespd1001.w":U, /* Nome do Objeto */  /* para saber quais sao os parametros de inicializacao de uma viewer, é só abrir um programa criado pelo DDK e encontrar a opcao init-object da viewer */

                                        INPUT p-wgh-frame,
                                        /* INPUT "Layout = ":U, */
                                        INPUT  'Initial-Lock = NO-LOCK,                                               
                                                Hide-on-Init = no,
                                                Disable-on-Init = no,
                                                Layout = ,
                                                Create-On-Add = ?,
                                                ProgAtributo = ,
                                                ProgIncMod = ,
                                                MessageNum = 0,
                                                MessageParam = ':U ,
                                        OUTPUT h-browse-pd1001).
      
       RUN set-position IN h-browse-pd1001 ( 6.5, 2.8) /* ( 3.5, 6.0) */.
      
       RUN get-link-handle IN adm-broker-hdl (INPUT p-wgh-object,
                                              INPUT "CONTAINER-TARGET":U,
                                              OUTPUT c-objects).      
      
       do i-objects = 1 to num-entries(c-objects):
          assign h-object = widget-handle(entry(i-objects, c-objects)).
          if index(h-object:FILE-NAME, "qry") <> 0 and  /* Voce deve verificar se e a query principal */
             not l-record then do:
             assign l-record = yes.
            
             RUN add-link IN adm-broker-hdl (INPUT h-object,
                                             INPUT "Record":U,
                                             INPUT h-browse-pd1001).
          end.
       end.
       RUN dispatch IN h-browse-pd1001 ("initialize":U).
       RUN pi-open-query IN h-browse-pd1001.
       RUN select-page IN p-wgh-object (INPUT 10).
       RUN select-page IN p-wgh-object (INPUT 1).
    end. "".
   
end.
 
 
 
 
/*------------------*/

Miguel Brandelero

unread,
Apr 29, 2010, 2:11:30 PM4/29/10
to progre...@googlegroups.com
hummmmmmmmm bem isso mesmo...

agora entendi melhor....

blz, agora tenho a aba em branco blz, vo cria a viwer pelo appB... e como faço pra atrela uma tabela a frame?

pq fui tenta coloca screen-optimizer e dava a mensagem que não existia nem uma tabela atrelada a nova aba.
Reply all
Reply to author
Forward
0 new messages