{"id":1293,"date":"2017-01-30T08:25:06","date_gmt":"2017-01-30T07:25:06","guid":{"rendered":"http:\/\/danielsitblog.wordpress.com\/?p=545"},"modified":"2018-01-09T15:30:56","modified_gmt":"2018-01-09T14:30:56","slug":"oracle-forms-12c-error-801-while-compiling","status":"publish","type":"post","link":"https:\/\/pitss.org\/de\/oracle-forms-12c-error-801-while-compiling\/","title":{"rendered":"Oracle Forms 12c: Error 801 while compiling"},"content":{"rendered":"<p>If you\u2019ve already upgrated to the <a href=\"https:\/\/pitss.org\/de\/oracle-forms-12c-features\/\">latest Forms version<\/a> (currently 12.2.1.2) you\u2019ve maybe encountered following problem:<br \/>\nIf you use a cursor, that is specified in a package specification within your forms and define a rowtype based on that cursor that is fetched into the rowtype in a different other part of the form (in my case the package body). If you then try to compile you may get the error 801 internal error [unexpected fragile external reference] from figure 1.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-552\" src=\"https:\/\/danielsitblog.files.wordpress.com\/2017\/01\/unbenannt1.png?w=665\" alt=\"unbenannt\" \/><\/p>\n<p>Figure 1: Compilation error<\/p>\n<h2>Metalink documents<\/h2>\n<p>We\u2019ve opened a service request for that problem in metalink and received an answer, that I would like to show you in this blogpost. There is also a bug filed as well: <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/BugDisplay?id=23250870\">Bug 23250870<br \/>\n<\/a>The solution for the compilation error and it\u2019s solution is described the following <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=2137262.1\">document<\/a> in Metalink:<\/p>\n<div id=\"attachment_568\" class=\"wp-caption aligncenter\" style=\"width: 558px;\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-568 aligncenter\" src=\"https:\/\/danielsitblog.files.wordpress.com\/2017\/01\/unbenannt2.png?w=548&amp;h=530\" alt=\"unbenannt\" width=\"548\" height=\"530\" \/><\/p>\n<p class=\"wp-caption-text\">Figure 2: Metalink document<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Rather than providing a patch for that problem, Oracle gives the information, that you have to set following variable to one to enable the compilation:<\/p>\n<pre>FORMS_PLSQL_BHVR_COMMON_SQL=1<\/pre>\n<p>If you set a path variable in CMD before starting the Forms Developer and then execute frmbld.exe you are able to compile a module that contains a construct like:<\/p>\n<pre>PACKAGE Test IS\r\n\u00a0 cursor c1 is select name_object from all_obj;\r\n\u00a0 master_rec\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0c1%ROWTYPE;\r\nEND;<\/pre>\n<pre>Package body Test is \u00a0\r\n\u00a0 Procedure p1 is\r\n\u00a0 begin\r\n\u00a0 \u00a0\u00a0 \u00a0fetch c1 into master_rec; \u00a0\u00a0\u00a0 \u00a0\r\n\u00a0 \u00a0\u00a0 \u00a0close c1;\r\n\u00a0 end p1;\u00a0\u00a0 \u00a0\r\nend; \u00a0\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h2>Registry entry &amp; environment variable<\/h2>\n<p><strong>Warning: <\/strong>Changing the Windows registry can mess up your OS.<\/p>\n<p>I\u2019ve tried to also create a registry entry in a Windows machine under HKEY_LOCAL_MACHINE\\Software\\Oracle\\KEY_OracleHome1 and set it to \u201c1\u201d so you don\u2019t have to execute a batch before running Forms Builder. Also I have tried to create a new environment variable. Both options enable the Forms Builder to compile. But I had complications while compiling a bigger customer forms module, when I hit directly Ctrl+shift+k \u2013 the Forms Builder crashed when I did not connect to the database before hitting the hotkey.<\/p>\n<h2>OTN links<\/h2>\n<p><a href=\"https:\/\/community.oracle.com\/thread\/3986558\">https:\/\/community.oracle.com\/thread\/3986558<\/a><\/p>\n<p><a href=\"https:\/\/community.oracle.com\/message\/13371977#13371977\">https:\/\/community.oracle.com\/message\/13371977#13371977<\/a><\/p>\n<p><a href=\"http:\/\/feeds.wordpress.com\/1.0\/gocomments\/danielsitblog.wordpress.com\/545\/\" rel=\"nofollow\"><img decoding=\"async\" src=\"http:\/\/feeds.wordpress.com\/1.0\/comments\/danielsitblog.wordpress.com\/545\/\" alt=\"\" border=\"0\" \/><\/a> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/pixel.wp.com\/b.gif?host=danielsitblog.wordpress.com&amp;blog=92824060&amp;post=545&amp;subd=danielsitblog&amp;ref=&amp;feed=1\" alt=\"\" width=\"1\" height=\"1\" border=\"0\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&rsquo;ve already upgrated to the latest Forms version (currently 12.2.1.2) you&rsquo;ve maybe encountered following problem: If you use a cursor, that is specified in a package specification within your forms and define a rowtype based on that cursor that is fetched into the rowtype in a different other part of the form (in my &hellip; <a href=\"https:\/\/danielsitblog.wordpress.com\/2017\/01\/30\/oracle-forms-12c-error-801-while-compiling\/\">Continue reading <span>Oracle Forms 12c: Error 801 while&nbsp;compiling<\/span><\/a><img loading=\"lazy\" decoding=\"async\" alt=\"\" border=\"0\" src=\"https:\/\/pixel.wp.com\/b.gif?host=danielsitblog.wordpress.com&amp;blog=92824060&amp;post=545&amp;subd=danielsitblog&amp;ref=&amp;feed=1\" width=\"1\" height=\"1\" \/><\/p>\n","protected":false},"author":47,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[189,147,190,159,191,192,194,193,195,196,138,83,98,197,81,198,172],"tags":[],"class_list":["post-1293","post","type-post","status-publish","format-standard","hentry","category-12-2-1-2","category-12c","category-compilation","category-development","category-error","category-error-801","category-forms_plsql_bhvr_common_sql","category-forms12c","category-internal-error","category-metalink","category-modernization","category-oracle","category-oracle-forms","category-otn","category-tech-blog","category-unexpected-fragile-external-reference","category-upgrade"],"_links":{"self":[{"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/posts\/1293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/users\/47"}],"replies":[{"embeddable":true,"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/comments?post=1293"}],"version-history":[{"count":3,"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/posts\/1293\/revisions"}],"predecessor-version":[{"id":18783,"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/posts\/1293\/revisions\/18783"}],"wp:attachment":[{"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/media?parent=1293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/categories?post=1293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pitss.org\/de\/wp-json\/wp\/v2\/tags?post=1293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}