Pessoal boa tarde, estou fazendo uma customização no cd0204 criei uma pagina nova que irá chamar complemento. mas fiquei travado na parte de criar um novo campo. alguém tem alguma dica para poder me passar? resumo do código. Código: 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 = widget-handle(c-folder) no-error. if valid-handle(h-folder) then do: RUN create-folder-page IN h-folder (INPUT 5, INPUT "Complemento":U). RUN create-folder-label IN h-folder (INPUT 5, INPUT "Complemento":U). /**/ RUN select-page IN p-wgh-object (INPUT 5).
Bom dia, Segue um pedaço de código que pode te ajudar. Código: /*** Nome do Objeto em Tela ***************************************************/ 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 = "viewer" AND c-objeto = "v34in172.w" THEN DO: ASSIGN h-frame = p-wgh-frame:FIRST-CHILD. ASSIGN h-frame = h-frame:FIRST-CHILD. DO WHILE h-frame <> ?: IF h-frame:TYPE <> "field-group" THEN DO: IF h-frame:NAME = "it-codigo" THEN DO: ASSIGN wh-it-codigo-cd0204 = h-frame:HANDLE. LEAVE. END. ASSIGN h-frame = h-frame:NEXT-SIBLING. END. ELSE ASSIGN h-frame = h-frame:FIRST-CHILD. END. END. IF p-ind-event = "INITIALIZE" AND p-ind-object = "viewer" AND c-objeto = "v35in172.w" THEN DO: ASSIGN h-frame = p-wgh-frame:FIRST-CHILD. ASSIGN h-frame = h-frame:FIRST-CHILD. DO WHILE h-frame <> ?: IF h-frame:TYPE <> "field-group" THEN DO: IF h-frame:NAME = "un" THEN DO: ASSIGN wh-un-cd0204 = h-frame:HANDLE. LEAVE. END. ASSIGN h-frame = h-frame:NEXT-SIBLING. END. ELSE ASSIGN h-frame = h-frame:FIRST-CHILD. 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 = WIDGET-HANDLE(c-folder) NO-ERROR. IF VALID-HANDLE(h-folder) THEN DO: /*** Cria a Pagina do Folder *******************************************/ RUN create-folder-page IN h-folder (INPUT 5, INPUT "Especifico":U). RUN create-folder-label IN h-folder (INPUT 5, INPUT "Especifico":U). RUN select-page IN p-wgh-object (INPUT 5). ASSIGN wh-folder = p-wgh-object:HANDLE. RUN init-object IN p-wgh-object (INPUT "upc\upcd0204v01.w":U, INPUT p-wgh-frame, INPUT "LAYOUT = ":U, OUTPUT h-viewer-cd0204). RUN set-position IN h-viewer-cd0204 ( 7.2, 3.20 ). 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:PRIVATE-DATA, "invwr\v34in172.w") <> 0 AND NOT l-group-assign THEN DO: ASSIGN l-group-assign = YES . RUN add-link IN adm-broker-hdl (INPUT h-object, INPUT "Record":U, INPUT h-viewer-cd0204). RUN add-link IN adm-broker-hdl (INPUT h-object, INPUT "Group-Assign":U, INPUT h-viewer-cd0204). END . END . RUN dispatch IN h-viewer-cd0204 ("Initialize":U). RUN pi-desabilita IN h-viewer-cd0204. RUN select-page IN p-wgh-object (INPUT 1). END. END.
Muito obrigado Elmo. Deu certinho criei a tabela, ja adicionei os dados nela manualmente. agora, como faço para esta viewer puxar os dados da tabela? Obrigado
Bom dia, No meu caso, eu criei uma procedure na minha viwer chamada mostra-dados que recebe como parametro o codigo do item, então é só fazer a busca pelo código. Para encontrar o código do item eu uso o Handle wh-it-codigo-cd0204, uma variável global shared definida na upc e na viewer.