{"id":2642,"date":"2011-02-16T12:40:59","date_gmt":"2011-02-16T15:40:59","guid":{"rendered":"http:\/\/www.viamais.net\/blog\/?p=2642"},"modified":"2011-02-16T12:41:58","modified_gmt":"2011-02-16T15:41:58","slug":"validando-diversos-campos-no-oracle-forms-6i","status":"publish","type":"post","link":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/","title":{"rendered":"Validando diversos campos no Oracle Forms 6i"},"content":{"rendered":"<p>[ad#texto]<br \/>\nExistem alguns <strong>Forms<\/strong> que pelo seu tempo de vida e diversas corre\u00e7\u00f5es e implementa\u00e7\u00f5es de novas <strong>regras de neg\u00f3cio<\/strong> fazem com que um \u00fanico <strong>Forms<\/strong> contenha as fun\u00e7\u00f5es e complexidades de um sistema completo (j\u00e1 operei com um <strong>Forms<\/strong> que o arquivo fonte .FMB tinha 10 Mb).<\/p>\n<p>Um <strong>Forms<\/strong> desse tipo com certeza ter\u00e1 diversos campos, e estes campos por sua vez dever\u00e3o conter valida\u00e7\u00f5es e consist\u00eancias com o intuito de manter e assegurar que os dados inseridos pelos usu\u00e1rios s\u00e3o os corretos ou na pior das situa\u00e7\u00f5es o menos errado poss\u00edvel.<\/p>\n<p>E deixar o c\u00f3digo-fonte do seu <strong>PL\/SQL<\/strong> embutido no <strong>Forms<\/strong> completamente abarrotado de <em>IF\u00b4s<\/em> para realizar essas consist\u00eancias, realmente n\u00e3o \u00e9 o melhor caminho, pois torna a manuten\u00e7\u00e3o ma\u00e7ante e lenta, al\u00e9m de deixar o seu c\u00f3digo <em>\u201cfeio\u201d<\/em>.<\/p>\n<p>Veja um exemplo, de como consistir campos de forma inteligente e elegante, dando simplicidade e agilidade tanto no desenvolvimento quanto na manuten\u00e7\u00e3o do c\u00f3digo-fonte <strong>PL\/SQL<\/strong>:<\/p>\n<pre lang=\"sql\">\/* **************************************************************************************************\r\n\r\n* Autor: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Petter Rafael\r\n* Empresa:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Viamais Web Intelligence\r\n* Desde: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Dezembro\/2010\r\n* Vers\u00e3o:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01.0.1 \u2013 Oracle Forms 6i \/ Oracle PL\/SQL 8\r\n*\r\n* Objetivo:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Consistir blocos de dados no Forms de forma autom\u00e1tica e funcional, eliminando a\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0necessidade de constru\u00e7\u00e3o de procedures e outros artefatos para consistir diversos\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0campos. Ideal para blocos de dados com grande quantidade de campos.\r\n*\r\n* Vari\u00e1veis:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 p_nome_bloco \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0= Nome do bloco que ser\u00e1 consistido.\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0p_tipo_valida\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0   = Tipo de consist\u00eancia que ser\u00e1 realizada.\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 - para consist\u00eancia de campos nulos.\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 - para consist\u00eancia de campos negativos.\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0p_campo_tipo\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0= Tipo do campo que ser\u00e1 consistido. Obs.: precisar ser id\u00eantico \u00e0 nomenclatura do Forms (consulte F1 para ajuda).\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 p_mens_err_pro\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Identifica se q mensagem de erro padr\u00e3o ser\u00e1 substitu\u00edda por uma mensagem de erro definida pelo desenvolvedor.\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0p_mensagem_erro\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = Texto da mensagem de erro pr\u00f3pria. Somente ser\u00e1 preenchido caso a mensagem de erro personalizada esteja ativa.\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0p_cor_erro\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0= Cor que o fundo do campo deve assumir caso sinalize inconsist\u00eancia. Caso esteja nulo uma cor padr\u00e3o \u00e9 assumida. Padr\u00e3o de cores Forms (consulte F1 para ajuda).\r\n*\r\n* Retorno:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Retorna mensagem de erro caso os crit\u00e9rios indiquem inconsist\u00eancia informando o\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0HINT do campo para sinalizar para o usu\u00e1rio qual campo precisa ser corrigido.\r\n*\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Alterar a cor de fundo (background) do campo caso poss\u00edvel.\r\n************************************************************************************************* *\/\r\n\r\nPROCEDURE C_CONSIS_GERAL(p_nome_bloco in varchar2\r\n                        ,p_tipo_valida in number\r\n                        ,p_campo_tipo in varchar2\r\n                        ,p_mens_err_pro in boolean\r\n                        ,p_mensagem_erro in varchar2\r\n                        ,p_cor_erro in varchar2) IS\r\nw_campo_fim\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0varchar2(400);\r\nw_campo_ini\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0varchar2(400);\r\nw_erro\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0varchar2(4000);\r\nw_cor_back\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0varchar2(15) := 'r350g0b0';\r\n\r\nBEGIN\r\n-- Controle da mensagem de erro.\r\nif p_mens_err_pro = true then\r\n w_erro := p_mensagem_erro;\r\nelse\r\n w_erro := 'Os seguintes campos est\u00e3o com erros: ';\r\nend if;\r\n\r\n-- Controle para cor de background de campos consistidos\r\nif p_cor_erro is not null then\r\n w_cor_back := p_cor_erro;\r\nend if;\r\n\r\n-- Resgatando dados para in\u00edcio da consist\u00eancia.\r\nw_campo_ini := get_block_property(p_nome_bloco, first_item);\r\nw_campo_fim := get_block_property(p_nome_bloco, last_item);\r\ngo_item(p_nome_bloco || '.' || w_campo_ini);\r\nloop\r\n -- Somente atua sobre campos de tipo espec\u00edfico\r\n if get_item_property(:system.cursor_item, item_type) = p_campo_tipo then\r\n  if p_tipo_valida = 1 then\r\n   if :system.current_value is null then\r\n    message(w_erro || get_item_property(:system.cursor_item, hint_text));\r\n    set_item_property(:system.cursor_item, background_color, w_cor_back);\r\n   end if;\r\n  elsif p_tipo_valida = 2 then\r\n   if :system.current_value &lt; 0 then\r\n    message(w_erro || get_item_property(:system.cursor_item, hint_text));\r\n    set_item_property(:system.cursor_item, background_color, w_cor_back);\r\n   end if;\r\n  end if;\r\n end if;\r\n\r\n -- Sa\u00edda caso alcance o \u00faltimo campo do bloco\r\n if w_campo_fim = :system.current_item then\r\n  exit;\r\n end if;\r\n\r\n next_item;\r\nend loop;\r\nEND;<\/pre>\n<p>Como utilizar? \u00c9 muito simples, no <strong>Forms<\/strong> crie uma <em>procedure<\/em> (<em>Program units<\/em>) e cole o c\u00f3digo <strong>PL\/SQL<\/strong> que listei acima.<\/p>\n<p>Pronto, agora \u00e9 s\u00f3 chamar a procedure, passando os par\u00e2metros de acordo com a sua necessidade. Pode ser utilizada a partir de qualquer triggers do <strong>Forms<\/strong> ou ainda embutida em outra <em>procedure<\/em> ou <em>function<\/em>.<\/p>\n<p>As principais vantagens s\u00e3o:<\/p>\n<ul>\n<li>C\u00f3digo <strong>PL\/SQL<\/strong> embutido no <strong>Forms,<\/strong> mais coeso, simples de ser mantido e\/ou alterado;<\/li>\n<li>Maior efici\u00eancia, pois trata a consist\u00eancia orientada por tipo do campo e valida\u00e7\u00e3o e n\u00e3o caso a caso como normalmente vemos;<\/li>\n<li>Maior agilidade no desenvolvimento \u00e9 mais vers\u00e1til;<\/li>\n<li>Permite customizar a mensagem de erro por campo, de forma transparente para o desenvolvedor, sem a necessidade de alterar <strong>c\u00f3digo-fonte PL\/SQL<\/strong>;<\/li>\n<li>Testada no <strong>Oracle Forms 6i<\/strong>, por\u00e9m n\u00e3o existem restri\u00e7\u00f5es para vers\u00f5es posteriores do <strong>Forms<\/strong>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>[ad#texto] Existem alguns Forms que pelo seu tempo de vida e diversas corre\u00e7\u00f5es e implementa\u00e7\u00f5es<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[26],"tags":[75,39],"class_list":["post-2642","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-oracle","tag-plsql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Validando diversos campos no Oracle Forms 6i -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validando diversos campos no Oracle Forms 6i -\" \/>\n<meta property=\"og:description\" content=\"[ad#texto] Existem alguns Forms que pelo seu tempo de vida e diversas corre\u00e7\u00f5es e implementa\u00e7\u00f5es\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/\" \/>\n<meta property=\"og:site_name\" content=\"ViamaisBLOG\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/viamais.viablog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/viamais.viablog\" \/>\n<meta property=\"article:published_time\" content=\"2011-02-16T15:40:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2011-02-16T15:41:58+00:00\" \/>\n<meta name=\"author\" content=\"Petter Rafael\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@petterrafael\" \/>\n<meta name=\"twitter:site\" content=\"@petterrafael\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Petter Rafael\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/\"},\"author\":{\"name\":\"Petter Rafael\",\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#\\\/schema\\\/person\\\/a13697c83eb9e9fe998636b42c020ec2\"},\"headline\":\"Validando diversos campos no Oracle Forms 6i\",\"datePublished\":\"2011-02-16T15:40:59+00:00\",\"dateModified\":\"2011-02-16T15:41:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/\"},\"wordCount\":334,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#organization\"},\"keywords\":[\"Oracle\",\"PL\\\/SQL\"],\"articleSection\":[\"Oracle\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/\",\"url\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/\",\"name\":\"Validando diversos campos no Oracle Forms 6i -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#website\"},\"datePublished\":\"2011-02-16T15:40:59+00:00\",\"dateModified\":\"2011-02-16T15:41:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/validando-diversos-campos-no-oracle-forms-6i\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle\",\"item\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/category\\\/oracle\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Validando diversos campos no Oracle Forms 6i\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/\",\"name\":\"ViamaisBLOG\",\"description\":\"Blog de tecnologia com dicas para melhorar sua internet e as novidades de gadgets e aplicativos.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#organization\",\"name\":\"Viablog\",\"url\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.viamais.net\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/logo_viamais.png?fit=150%2C150&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.viamais.net\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/logo_viamais.png?fit=150%2C150&ssl=1\",\"width\":150,\"height\":150,\"caption\":\"Viablog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/viamais.viablog\",\"https:\\\/\\\/x.com\\\/petterrafael\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/#\\\/schema\\\/person\\\/a13697c83eb9e9fe998636b42c020ec2\",\"name\":\"Petter Rafael\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ec1d50795aefe5170d97a2816386714d30fce28bcb746631048cc673d70f8443?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ec1d50795aefe5170d97a2816386714d30fce28bcb746631048cc673d70f8443?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ec1d50795aefe5170d97a2816386714d30fce28bcb746631048cc673d70f8443?s=96&d=identicon&r=g\",\"caption\":\"Petter Rafael\"},\"description\":\"Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Al\u00e9m dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache\\\/Tomcat, Photoshop, Arte &amp; Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programa\u00e7\u00e3o e tecnologia.\",\"sameAs\":[\"http:\\\/\\\/www.viamais.net\\\/blog\",\"https:\\\/\\\/www.facebook.com\\\/viamais.viablog\"],\"url\":\"https:\\\/\\\/www.viamais.net\\\/blog\\\/author\\\/petterrafael\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Validando diversos campos no Oracle Forms 6i -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/","og_locale":"pt_BR","og_type":"article","og_title":"Validando diversos campos no Oracle Forms 6i -","og_description":"[ad#texto] Existem alguns Forms que pelo seu tempo de vida e diversas corre\u00e7\u00f5es e implementa\u00e7\u00f5es","og_url":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/","og_site_name":"ViamaisBLOG","article_publisher":"https:\/\/www.facebook.com\/viamais.viablog","article_author":"https:\/\/www.facebook.com\/viamais.viablog","article_published_time":"2011-02-16T15:40:59+00:00","article_modified_time":"2011-02-16T15:41:58+00:00","author":"Petter Rafael","twitter_card":"summary_large_image","twitter_creator":"@petterrafael","twitter_site":"@petterrafael","twitter_misc":{"Escrito por":"Petter Rafael","Est. tempo de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/#article","isPartOf":{"@id":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/"},"author":{"name":"Petter Rafael","@id":"https:\/\/www.viamais.net\/blog\/#\/schema\/person\/a13697c83eb9e9fe998636b42c020ec2"},"headline":"Validando diversos campos no Oracle Forms 6i","datePublished":"2011-02-16T15:40:59+00:00","dateModified":"2011-02-16T15:41:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/"},"wordCount":334,"commentCount":0,"publisher":{"@id":"https:\/\/www.viamais.net\/blog\/#organization"},"keywords":["Oracle","PL\/SQL"],"articleSection":["Oracle"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/","url":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/","name":"Validando diversos campos no Oracle Forms 6i -","isPartOf":{"@id":"https:\/\/www.viamais.net\/blog\/#website"},"datePublished":"2011-02-16T15:40:59+00:00","dateModified":"2011-02-16T15:41:58+00:00","breadcrumb":{"@id":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.viamais.net\/blog\/validando-diversos-campos-no-oracle-forms-6i\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.viamais.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Oracle","item":"https:\/\/www.viamais.net\/blog\/category\/oracle\/"},{"@type":"ListItem","position":3,"name":"Validando diversos campos no Oracle Forms 6i"}]},{"@type":"WebSite","@id":"https:\/\/www.viamais.net\/blog\/#website","url":"https:\/\/www.viamais.net\/blog\/","name":"ViamaisBLOG","description":"Blog de tecnologia com dicas para melhorar sua internet e as novidades de gadgets e aplicativos.","publisher":{"@id":"https:\/\/www.viamais.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.viamais.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.viamais.net\/blog\/#organization","name":"Viablog","url":"https:\/\/www.viamais.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.viamais.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.viamais.net\/blog\/wp-content\/uploads\/2014\/10\/logo_viamais.png?fit=150%2C150&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.viamais.net\/blog\/wp-content\/uploads\/2014\/10\/logo_viamais.png?fit=150%2C150&ssl=1","width":150,"height":150,"caption":"Viablog"},"image":{"@id":"https:\/\/www.viamais.net\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/viamais.viablog","https:\/\/x.com\/petterrafael"]},{"@type":"Person","@id":"https:\/\/www.viamais.net\/blog\/#\/schema\/person\/a13697c83eb9e9fe998636b42c020ec2","name":"Petter Rafael","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/ec1d50795aefe5170d97a2816386714d30fce28bcb746631048cc673d70f8443?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ec1d50795aefe5170d97a2816386714d30fce28bcb746631048cc673d70f8443?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec1d50795aefe5170d97a2816386714d30fce28bcb746631048cc673d70f8443?s=96&d=identicon&r=g","caption":"Petter Rafael"},"description":"Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Al\u00e9m dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache\/Tomcat, Photoshop, Arte &amp; Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programa\u00e7\u00e3o e tecnologia.","sameAs":["http:\/\/www.viamais.net\/blog","https:\/\/www.facebook.com\/viamais.viablog"],"url":"https:\/\/www.viamais.net\/blog\/author\/petterrafael\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p5Ih4c-GC","jetpack-related-posts":[{"id":904,"url":"https:\/\/www.viamais.net\/blog\/gerando-arquivos-texto-via-forms-oracle\/","url_meta":{"origin":2642,"position":0},"title":"Gerando arquivos texto via Forms (Oracle)","author":"Petter Rafael","date":"03\/04\/2009","format":false,"excerpt":"Muita gente tem perguntado se vou realmente continuar ou n\u00e3o o curso de Oracle Forms & Reports que comecei no ano passado (2008), a resposta \u00e9 que vou sim, o problema da demora \u00e9 que tenho outros projetos e tarefas tomando a minha aten\u00e7\u00e3o e tempo. Para n\u00e3o deixar o\u2026","rel":"","context":"Em &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/www.viamais.net\/blog\/category\/oracle\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3314,"url":"https:\/\/www.viamais.net\/blog\/macete-para-o-erro-frm-40039-no-oracle-forms-6\/","url_meta":{"origin":2642,"position":1},"title":"Macete para o erro FRM-40039 no Oracle Forms 6","author":"Petter Rafael","date":"18\/01\/2012","format":false,"excerpt":"[ad#texto] \u00c0s vezes por diversos motivos ao compilar ou por alguma a\u00e7\u00e3o externa o PATH das bibliotecas atachadas no seu Form pode ser direcionado para alguma \u00e1rea onde o usu\u00e1rio de execu\u00e7\u00e3o n\u00e3o tem acesso, esse problema comumente ocorre quando temos um ambiente de qualidade para compila\u00e7\u00e3o e testes separado\u2026","rel":"","context":"Em &quot;Dicas&quot;","block_context":{"text":"Dicas","link":"https:\/\/www.viamais.net\/blog\/category\/dicas\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":975,"url":"https:\/\/www.viamais.net\/blog\/multiplos-insert-no-oracle\/","url_meta":{"origin":2642,"position":2},"title":"Multiplos insert no Oracle","author":"Petter Rafael","date":"06\/04\/2009","format":false,"excerpt":"Algumas vezes nos deparamos para fazer a inser\u00e7\u00e3o de dados oriundos de um select no Oracle, seja simplesmente em PL\/SQL ou no Forms. Fazer um cursor e percorrer o loop e ir inserindo um a um \u00e9 um tanto inc\u00f4modo pois o grande n\u00famero de inser\u00e7\u00f5es no banco de dados\u2026","rel":"","context":"Em &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/www.viamais.net\/blog\/category\/oracle\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1913,"url":"https:\/\/www.viamais.net\/blog\/erro-bisonho-no-oracle-forms\/","url_meta":{"origin":2642,"position":3},"title":"Erro bisonho no Oracle Forms","author":"Petter Rafael","date":"03\/03\/2010","format":false,"excerpt":"Esses dias eu estava lutando com o Forms 6i da Oracle que em um determinado aplicativo sempre exibia o seguinte erro: ORA-01403: no data found Ou seja, n\u00e3o foram encontrados dados. Quem j\u00e1 trabalha com Oracle (PL\/SQL em particular) sabe que tal erro \u00e9 disparado quando uma select ou algum\u2026","rel":"","context":"Em &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/www.viamais.net\/blog\/category\/oracle\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":294,"url":"https:\/\/www.viamais.net\/blog\/quer-aprender-a-desenvolver-em-forms\/","url_meta":{"origin":2642,"position":4},"title":"Quer aprender a desenvolver em Forms?","author":"matrix","date":"01\/07\/2008","format":false,"excerpt":"Tem muita gente hoje que quer entrar no mundo do desenvolvimento trabalhando com Oracle Forms. Ent\u00e3o a gente resolveu ajudar todo mundo. A partir de hoje at\u00e9 sabe l\u00e1 quando vamos ir colocando alguns post\u00b4s (tipo um curso on-line mesmo) ensinando a desenvolver com Forms - pelo menos os recursos\u2026","rel":"","context":"Em &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/www.viamais.net\/blog\/category\/oracle\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2336,"url":"https:\/\/www.viamais.net\/blog\/manutencao-no-oracle-forms\/","url_meta":{"origin":2642,"position":5},"title":"Manuten\u00e7\u00e3o no Oracle Forms","author":"Petter Rafael","date":"02\/09\/2010","format":false,"excerpt":"[ad#texto] Uma coisa incomoda e muito boa parte dos desenvolvedores, \u00e9 o de prestar manuten\u00e7\u00e3o em um software j\u00e1 pronto e que foi desenvolvido por outra equipe\/pessoa. Isso ocorre, pois al\u00e9m de uma linha de racioc\u00ednio diferente tamb\u00e9m temos o fator de c\u00f3digos muitas vezes elaborados de forma duvidosa, com\u2026","rel":"","context":"Em &quot;Dicas&quot;","block_context":{"text":"Dicas","link":"https:\/\/www.viamais.net\/blog\/category\/dicas\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/posts\/2642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/comments?post=2642"}],"version-history":[{"count":0,"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/posts\/2642\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/media?parent=2642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/categories?post=2642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.viamais.net\/blog\/wp-json\/wp\/v2\/tags?post=2642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}