{"id":1476,"date":"2012-11-28T23:01:53","date_gmt":"2012-11-28T23:01:53","guid":{"rendered":"http:\/\/www.juniovitor.com\/?p=1476"},"modified":"2016-04-28T16:18:48","modified_gmt":"2016-04-28T16:18:48","slug":"localizando-vo-em-uma-pagina-oaf-oracle","status":"publish","type":"post","link":"https:\/\/www.juniovitor.com\/?p=1476","title":{"rendered":"Localizando a Query de uma pagina OAF Oracle"},"content":{"rendered":"<div align=\"justify\">\n<p style=\"text-align: left;\" align=\"center\">Bom dia!<\/p>\n<p style=\"text-align: left;\" align=\"center\">Gostaria de compartilhar com voc\u00eas uma facilidade para aqueles est\u00e3o iniciando a programa\u00e7\u00e3o em OAF (Oracle Application Framework).<\/p>\n<p style=\"text-align: left;\" align=\"center\">Deixo aqui detalhes de como localizar um VO (ViewObject) de uma p\u00e1gina Oracle OAF. Para isto, siga os passos abaixo:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/1.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-1478\" title=\"1\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/1.png\" alt=\"\" width=\"100%\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/1.png 1365w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/1-300x111.png 300w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/1-1024x381.png 1024w\" sizes=\"(max-width: 1365px) 100vw, 1365px\" \/><\/a><\/p>\n<p>Vamos utilizar como base a p\u00e1gina de Requisi\u00e7\u00e3o do Oracle iProcurement.<\/p>\n<p>Estando na p\u00e1gina \u201c<strong>Informa\u00e7\u00f5es sobre Requisi\u00e7\u00e3o<\/strong>\u201d do iProc, verifique no final da p\u00e1gina que voc\u00ea ir\u00e1 ter um \u201c<strong>Sobre esta P\u00e1gina<\/strong>\u201d:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/2.png\" alt=\"\" title=\"2\" width=\"114\" height=\"28\" class=\"aligncenter size-full wp-image-1479\" \/><\/a><\/p>\n<p>Guarde a informa\u00e7\u00e3o do campo que voc\u00ea deseja pesquisa o VO (ViewObject \u2013 Que \u00e9 a view que retorna a informa\u00e7\u00e3o da LOV que voc\u00ea precisa). Todo componente da tela est\u00e1 sendo consultado por um VO.<\/p>\n<p>O campo que precisamos pesquisar \u00e9 o \u201cLocal para Distribui\u00e7\u00e3o\u201d:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/3.png\" alt=\"\" title=\"3\" width=\"348\" height=\"47\" class=\"aligncenter size-full wp-image-1480\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/3.png 348w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/3-300x40.png 300w\" sizes=\"(max-width: 348px) 100vw, 348px\" \/><\/a><\/p>\n<p>Clique em \u201cSobre esta P\u00e1gina\u201d conforme mencionado no item anterior e ter\u00e1 uma p\u00e1gina como esta:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/4.png\"><img decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/4.png\" alt=\"\" title=\"4\" width=\"100%\" class=\"aligncenter size-full wp-image-1481\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/4.png 1343w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/4-300x112.png 300w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/4-1024x383.png 1024w\" sizes=\"(max-width: 1343px) 100vw, 1343px\" \/><\/a><\/p>\n<p>Nesta p\u00e1gina, clique em \u201cExpandir Tudo\u201d<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/5.png\" alt=\"\" title=\"5\" width=\"217\" height=\"69\" class=\"aligncenter size-full wp-image-1482\" \/><\/a><\/p>\n<p>E ter\u00e1 isto (P\u00e1gina com todos os campos\/VO\u2019s)<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/6.png\"><img decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/6.png\" alt=\"\" title=\"6\" width=\"100%\"  class=\"aligncenter size-full wp-image-1483\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/6.png 1089w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/6-300x125.png 300w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/6-1024x428.png 1024w\" sizes=\"(max-width: 1089px) 100vw, 1089px\" \/><\/a><\/p>\n<p>D\u00ea um control + F e pesquise por: \u201cLocal para Distribui\u00e7\u00e3o\u201d que \u00e9 o campo que voc\u00ea precisa localizar:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/7.png\"><img decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/7.png\" alt=\"\" title=\"7\" width=\"100%\" class=\"aligncenter size-full wp-image-1484\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/7.png 846w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/7-300x13.png 300w\" sizes=\"(max-width: 846px) 100vw, 846px\" \/><\/a><\/p>\n<p>Verifique o VO deste campo \u00e9 o \u201cReqSummaryVO\u201d. Ou seja, o select deste campo \u00e9 este ViewObject.<\/p>\n<p>Clicando sobre ele, voc\u00ea ser\u00e1 redirecionada para uma outra p\u00e1gina que ir\u00e1 conter o \u201cselect\u201d:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/8.png\"><img decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/8.png\" alt=\"\" title=\"8\" width=\"100%\" class=\"aligncenter size-full wp-image-1485\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/8.png 1239w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/8-300x23.png 300w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/8-1024x80.png 1024w\" sizes=\"(max-width: 1239px) 100vw, 1239px\" \/><\/a><\/p>\n<p>Voc\u00ea pode utilizar esta consulta para verificar o porqu\u00ea seu <em>select<\/em> est\u00e1 falhando quando a sua LOV n\u00e3o retorna um valor esperado. Mas no seu caso, o que interessa \u00e9 os passos a seguir.<\/p>\n<p>Verifique que acima do SQL apresentado, voc\u00ea tem um caminho:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/9.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/9.png\" alt=\"\" title=\"9\" width=\"542\" height=\"31\" class=\"aligncenter size-full wp-image-1486\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/9.png 542w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/9-300x17.png 300w\" sizes=\"(max-width: 542px) 100vw, 542px\" \/><\/a><\/p>\n<p>Este caminho \u00e9 onde se encontra o VO fisicamente. Ou seja, no $JAVA_TOP do servidor Oracle voc\u00ea ter\u00e1 um <strong>ReqSummaryVO.xml <\/strong>com as informa\u00e7\u00f5es que deseja.<\/p>\n<p>Acessando o Unix\/AIX para localiza\u00e7\u00e3o do VO.<\/p>\n<p>Acesse via\u00a0 SSH o $JAVA_TOP do servidor de aplica\u00e7\u00e3o: <a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/10.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/10.png\" alt=\"\" title=\"10\" width=\"111\" height=\"17\" class=\"aligncenter size-full wp-image-1487\" \/><\/a><\/p>\n<p>Ap\u00f3s isto, voc\u00ea ter\u00e1 que navegar at\u00e9 o caminho localizado anteriormente que demonstra o caminho correto do seu VO, que \u00e9:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/11.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/11.png\" alt=\"\" title=\"11\" width=\"542\" height=\"31\" class=\"aligncenter size-full wp-image-1488\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/11.png 542w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/11-300x17.png 300w\" sizes=\"(max-width: 542px) 100vw, 542px\" \/><\/a><\/p>\n<p>Portanto, continue acessando os diret\u00f3rios at\u00e9 chegar no caminho correto:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/12.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/12.png\" alt=\"\" title=\"12\" width=\"277\" height=\"15\" class=\"aligncenter size-full wp-image-1489\" \/><\/a><\/p>\n<p>Agora voc\u00ea est\u00e1 no diret\u00f3rio onde est\u00e1 o VO que deseja. D\u00ea um locate para confirmar:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/13.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/13.png\" alt=\"\" title=\"13\" width=\"202\" height=\"19\" class=\"aligncenter size-full wp-image-1490\" \/><\/a><\/p>\n<p>Verifique que ele ir\u00e1 existir:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/14.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/14.png\" alt=\"\" title=\"14\" width=\"603\" height=\"13\" class=\"aligncenter size-full wp-image-1491\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/14.png 603w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/14-300x6.png 300w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/><\/a><\/p>\n<p>Voc\u00ea pode tamb\u00e9m chegar a este destino por um client, exemplo FileZilla, como no exemplo a seguir. Veja que tenho o mesmo arquivo.<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/15.png\"><img decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/15.png\" alt=\"\" title=\"15\" width=\"100%\"  class=\"aligncenter size-full wp-image-1492\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/15.png 857w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/15-300x30.png 300w\" sizes=\"(max-width: 857px) 100vw, 857px\" \/><\/a><\/p>\n<p>Pronto, localiza\u00e7\u00e3o feita!<\/p>\n<p>Agora voc\u00ea precisa pegar este XML, gerar uma c\u00f3pia (bkp) e criar seu novo VO com o mesmo nome.<\/p>\n<p>Somente para ficar mais claro, segue um vis\u00e3o r\u00e1pida deste VO. Abrindo o XML, voc\u00ea tem o seguinte:<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/16.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/16.png\" alt=\"\" title=\"16\" width=\"351\" height=\"82\" class=\"aligncenter size-full wp-image-1493\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/16.png 351w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/16-300x70.png 300w\" sizes=\"(max-width: 351px) 100vw, 351px\" \/><\/a><\/p>\n<p>Abra em um editor bom, como o <a href=\"https:\/\/notepad-plus-plus.org\/\" title=\"Notepad ++\" target=\"_blank\">notepad++<\/a><\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/17.png\"><img decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/17.png\" alt=\"\" title=\"17\" width=\"100%\" class=\"aligncenter size-full wp-image-1494\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/17.png 646w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/17-300x212.png 300w\" sizes=\"(max-width: 646px) 100vw, 646px\" \/><\/a><\/p>\n<p>Verifique que \u00e9 uma estrutura XML normal, e o que interessa neste momento para voc\u00ea \u00e9 a tag \u201cSQLQuery\u201d<\/p>\n<p><a href=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/18.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/18.png\" alt=\"\" title=\"18\" width=\"582\" height=\"382\" class=\"aligncenter size-full wp-image-1495\" srcset=\"https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/18.png 582w, https:\/\/www.juniovitor.com\/wp-content\/uploads\/2016\/04\/18-300x196.png 300w\" sizes=\"(max-width: 582px) 100vw, 582px\" \/><\/a><\/p>\n<p>A\u00ed est\u00e1 o SQL que voc\u00ea precisa.<\/p>\n<p>Se voc\u00ea consegue alterar o <em>join<\/em>, sem adicionar campos, voc\u00ea pode fazer isto, salvar no mesmo local (lembre-se de gerar o backup como citado anteriormente) e pedir um <em>bounce<\/em> da aplica\u00e7\u00e3o (apache).<\/p>\n<p>Feita a altera\u00e7\u00e3o, o <em>bounce<\/em> da aplica\u00e7\u00e3o, pode testar.<\/p>\n<p>Se precisar de uma altera\u00e7\u00e3o mais avan\u00e7ada, como adicionar campos, regras, etc&#8230; \u00e9 preciso alterar o SQL como tamb\u00e9m os atributos que est\u00e3o para baixo do SQL <em>printado<\/em> anteriormente, portanto, recomendo um entendimento melhor do framework para n\u00e3o ficar uma altera\u00e7\u00e3o t\u00e3o ruim, fora do padr\u00e3o MVC\/Oracle.<\/p>\n<p>Que basicamente voc\u00ea iria no controlador da p\u00e1gina (um CO (<em>Controler<\/em>) \u00e9 o c\u00f3digo de execu\u00e7\u00e3o JAVA por tr\u00e1s desta p\u00e1gina), fazer uma extens\u00e3o \u00e0 este VO (<em>ViewObject<\/em>), alterando o seu SQL dentro da classe. Mas como lhe disse, este seria um passo um pouco mais avan\u00e7ado, que sem um treinamento\/acompanhamento espec\u00edfico \u00e9 um pouco mais complicado.<\/p>\n<p>Aproveitando a oportunidade, caso deseje algo mais avan\u00e7ado, n\u00f3s da <strong><a href=\"http:\/\/www.itconvergence.com\/\" title=\"IT Convergence\">IT Convergence Brasil<\/a><\/strong> temos treinamentos (Como tamb\u00e9m uma f\u00e1brica de software) de diversas tecnologias, dentre elas, o treinamento de OAF que apresenta\/exemplifica os principais m\u00e9todos de customiza\u00e7\u00f5es Oracle neste Framework. Material em PTB, exemplos reais, etc. Se for do interesse seu e de sua empresa, estamos tamb\u00e9m a disposi\u00e7\u00e3o (<a href=\"mailto:breducation@itconvergence.com\" title=\"IT Convergence Brasil (Treinamentos)\">breducation@itconvergence.com<\/a>).<\/p>\n<p>Espero que ajude em algo!<\/p>\n<p>Grande abra\u00e7o,<br \/>\n<strong>Junio Vitor<\/strong>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bom dia! Gostaria de compartilhar com voc\u00eas uma facilidade para aqueles est\u00e3o iniciando a programa\u00e7\u00e3o em OAF (Oracle Application Framework). Deixo aqui [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[585,594,595,586,604,606,605,600,599,602,601,603,597,27,583,590,187,587,589,588,622,596,593,592,591,584,598],"class_list":["post-1476","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-application-framework","tag-controller","tag-custom","tag-custom-oaf","tag-descobrindo-query-de-uma-pagina-web-oracle","tag-descobrindo-query-pagina-web-oracle","tag-descobrindo-sql-oaf","tag-examinar-oaf","tag-examine-oaf","tag-examine-oaf-page","tag-examine-web","tag-examine-web-page","tag-finding-a-vo-from-an-oracle-oaf-page","tag-java","tag-localizando-um-vo-de-uma-pagina-oaf-oracle","tag-localizando-vo","tag-oaf","tag-oaf-customizacao","tag-oaf-details","tag-oaf-page","tag-oracle","tag-oracle-application-framework","tag-oracle-oaf","tag-view-object","tag-viewobject","tag-vo-oaf","tag-vo-oaf-page"],"_links":{"self":[{"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=\/wp\/v2\/posts\/1476"}],"collection":[{"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1476"}],"version-history":[{"count":45,"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=\/wp\/v2\/posts\/1476\/revisions"}],"predecessor-version":[{"id":1539,"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=\/wp\/v2\/posts\/1476\/revisions\/1539"}],"wp:attachment":[{"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.juniovitor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}