<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-17069431</id><updated>2012-01-27T09:08:38.618+01:00</updated><category term='Conferences'/><category term='General'/><category term='Best Practices'/><title type='text'>Talk2Gerd</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default?start-index=101&amp;max-results=100'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>107</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17069431.post-6936387906278568029</id><published>2012-01-26T10:37:00.003+01:00</published><updated>2012-01-26T10:48:17.484+01:00</updated><title type='text'>The Future of Oracle Forms is .... Forms</title><content type='html'>Many thanks to Mia. She gave me the tip to her blog &lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-PClaqMQOtNk/TyEbEmJUGDI/AAAAAAAAB6g/DQiN25TrUyk/s1600/the_future_of_forms2.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="130" src="http://2.bp.blogspot.com/-PClaqMQOtNk/TyEbEmJUGDI/AAAAAAAAB6g/DQiN25TrUyk/s400/the_future_of_forms2.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://oracleformsinfo.wordpress.com/2012/01/02/oracle-forms-modernization-teaching-an-old-dog-new-tricks/"&gt;Mia's Blog&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;where she pointed to Grant's presentation:&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wjtX7ngdYYE/TyEbmMPyr0I/AAAAAAAAB6s/NLt8i6fIp9M/s1600/the_future_of_forms.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="295" src="http://2.bp.blogspot.com/-wjtX7ngdYYE/TyEbmMPyr0I/AAAAAAAAB6s/NLt8i6fIp9M/s400/the_future_of_forms.JPG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.slideshare.net/lucasjellema/the-future-of-forms-is-forms-and-some-friends-ukoug-2011-with-grant-ronald"&gt;Grant's presentation&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;That's the first time, that we directly hear from Oracle, that the best technology to where we should migrate to, is .... Oracle Forms&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;and not Java, APEX, ADF or .NET ! &lt;/div&gt;&lt;br /&gt;that's a good start into 2012&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6936387906278568029?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6936387906278568029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6936387906278568029&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6936387906278568029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6936387906278568029'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2012/01/future-of-oracle-forms-is.html' title='The Future of Oracle Forms is .... Forms'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-PClaqMQOtNk/TyEbEmJUGDI/AAAAAAAAB6g/DQiN25TrUyk/s72-c/the_future_of_forms2.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8491644975257749745</id><published>2011-12-01T10:34:00.000+01:00</published><updated>2011-12-01T10:34:26.846+01:00</updated><title type='text'>Save Oracle Reports</title><content type='html'>Many thanks to all of you. I got many emails in the first days of my "Save Oracle Reports" campaign.&lt;br /&gt;&lt;br /&gt;I forwarded all emails last week to Oracle Product Management.&lt;br /&gt;&lt;br /&gt;I'm interested if we get response... and what kind of response, if we get one.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;We need&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-aH1vCQWCNM4/TsTgxIPLj3I/AAAAAAAAB2E/dmihi2XJ7NU/s1600/oracle_reports_12c.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="56" src="http://2.bp.blogspot.com/-aH1vCQWCNM4/TsTgxIPLj3I/AAAAAAAAB2E/dmihi2XJ7NU/s400/oracle_reports_12c.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8491644975257749745?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8491644975257749745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8491644975257749745&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8491644975257749745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8491644975257749745'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/12/save-oracle-reports.html' title='Save Oracle Reports'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-aH1vCQWCNM4/TsTgxIPLj3I/AAAAAAAAB2E/dmihi2XJ7NU/s72-c/oracle_reports_12c.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1808529453786361806</id><published>2011-11-21T09:47:00.000+01:00</published><updated>2011-11-21T09:55:18.674+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Campaign Save Oracle Reports</title><content type='html'>I started last thursday the campaign &lt;a href="http://talk2gerd.blogspot.com/2011/11/oracle-reports-is-dying.html"&gt;"Save Oracle Reports"&lt;/a&gt; and I get more and more EMails. All of them have company-wide applications running with forms and reports and cannot live without reports.&lt;br /&gt;&lt;br /&gt;One customer (thanks to Markus) pointed me on the actual &lt;a href="https://forums.oracle.com/forums/forum.jspa?forumID=82"&gt;OTN-Forms-Forum-Poll&lt;/a&gt; named "How many Oracle Reports do you have" :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ZKZPTBnbogA/TsoNMQBEsfI/AAAAAAAAB2Q/PcU2ucTtEAk/s1600/reports_umfrage_von_oracle.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://2.bp.blogspot.com/-ZKZPTBnbogA/TsoNMQBEsfI/AAAAAAAAB2Q/PcU2ucTtEAk/s400/reports_umfrage_von_oracle.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I think, it is important, that we all attend at this poll.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1808529453786361806?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1808529453786361806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1808529453786361806&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1808529453786361806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1808529453786361806'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/11/campaign-save-oracle-reports.html' title='Campaign Save Oracle Reports'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-ZKZPTBnbogA/TsoNMQBEsfI/AAAAAAAAB2Q/PcU2ucTtEAk/s72-c/reports_umfrage_von_oracle.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5278290736909237373</id><published>2011-11-17T11:30:00.000+01:00</published><updated>2011-11-17T11:30:34.174+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>Oracle Reports is dying?</title><content type='html'>At the DOAG Development Panel yesterday was told about the future of Oracle Reports. That did not sound good &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ln_ICDOZI-g/TsTYQTZZPUI/AAAAAAAAB1s/EfbQXUdnDtk/s1600/oracle_reports_12.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://1.bp.blogspot.com/-ln_ICDOZI-g/TsTYQTZZPUI/AAAAAAAAB1s/EfbQXUdnDtk/s400/oracle_reports_12.JPG" width="392" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Next week there will be an important internal meeting at Oracle, where they speak over the future of Oracle Reports in the Oracle Fusion Middleware 12c. It looks like, that the BI Publisher will be the replacement for Reports and Oracle Reports 11g would be the last version.&lt;br /&gt;&lt;br /&gt;That's not good... And not only because the price of the BI Publisher, I do not even speak about ...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;And here is my idea to save Oracle Reports:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I need emails from all customers, who have an invest in Oracle Reports and want to save it. Write down your arguments, why you need Oracle Reports in Fusion Middleware 12c. The emailaddress is&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-PewIiuZCzSA/TsTb0Fij8bI/AAAAAAAAB14/PBdEQnARpuo/s1600/save_oracle_reports.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="43" src="http://2.bp.blogspot.com/-PewIiuZCzSA/TsTb0Fij8bI/AAAAAAAAB14/PBdEQnARpuo/s400/save_oracle_reports.JPG" width="395" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I will bundle all answers a.s.a.p. and forward them to Oracle Development directly. They agreed with me yesterday about that. They need and want this feedback !&lt;br /&gt;&lt;br /&gt;Very important: We don't have time and have to react very fast. Spread this idea to other customers, your colleagues, etc. They should write me in the next days.&lt;br /&gt;&lt;br /&gt;I hope we have a chance to get our&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-aH1vCQWCNM4/TsTgxIPLj3I/AAAAAAAAB2E/dmihi2XJ7NU/s1600/oracle_reports_12c.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="56" src="http://2.bp.blogspot.com/-aH1vCQWCNM4/TsTgxIPLj3I/AAAAAAAAB2E/dmihi2XJ7NU/s400/oracle_reports_12c.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;let's try it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5278290736909237373?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5278290736909237373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5278290736909237373&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5278290736909237373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5278290736909237373'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/11/oracle-reports-is-dying.html' title='Oracle Reports is dying?'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-ln_ICDOZI-g/TsTYQTZZPUI/AAAAAAAAB1s/EfbQXUdnDtk/s72-c/oracle_reports_12.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8039360387041256346</id><published>2011-11-16T13:00:00.002+01:00</published><updated>2011-11-17T11:57:29.161+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>Oracle Forms 12c</title><content type='html'>"Oracle Forms 12c" is the new official name in the Fusion Middleware 12 universe for our good old forms!&lt;br /&gt;&lt;br /&gt;Heard on the German Oracle User Group Conference from the development team.&lt;br /&gt;&lt;br /&gt;So it looks like all products are getting the c (for cloud) in their name.&lt;br /&gt;&lt;br /&gt;Let's hope, that Fusion Middleware 12 starts in 2012 !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8039360387041256346?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8039360387041256346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8039360387041256346&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8039360387041256346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8039360387041256346'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/11/oracle-forms-12c.html' title='Oracle Forms 12c'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-256318895715228226</id><published>2011-08-30T10:23:00.001+02:00</published><updated>2011-09-01T08:42:38.805+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 9</title><content type='html'>Summary&lt;br /&gt;&lt;br /&gt;When I take a look at the poll results, I recognize as a major concern for many users, the fear of an uncertain future. Oracle should give a clear commitment to Forms and combat this insecurity so active.&lt;br /&gt;&lt;br /&gt;There is a big risk that the majority of those who went away from Oracle Forms and go to .NET. That was not aware before my survey and is one of the biggest surprises for me in this poll. This product-change will have far-reaching consequences. Anyone who has tried .NET, perhaps thinks in a second step, that Microsoft SQL Server might be a good alternative to the Oracle database. In this way, Oracle not only loses its loyal customers in the forms front-end, but also in the core business.&lt;br /&gt;&lt;br /&gt;I conclude this article with the knowledge that we must have no fear in the next 10-15 years with our good old Oracle Forms! I look forward to 2012 to participate in the beta testing of Forms 12, if Oracle starts a new big betatest campground in Redwood Shores as in 2007.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.panoramio.com/photo/11450772" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="266" width="400" src="http://3.bp.blogspot.com/-Uwtmm-prhnE/Tlybpm72xwI/AAAAAAAABzY/aA6gGEZOx_k/s400/RedwoodShores.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Just use Forms&lt;br /&gt;Gerd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-1.html"&gt;starts the poll&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-8.html"&gt;part 8 of the article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-256318895715228226?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/256318895715228226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=256318895715228226&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/256318895715228226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/256318895715228226'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-9.html' title='Result of  the 2011 Oracle Forms poll - part 9'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Uwtmm-prhnE/Tlybpm72xwI/AAAAAAAABzY/aA6gGEZOx_k/s72-c/RedwoodShores.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-9064377337849609161</id><published>2011-08-29T09:43:00.003+02:00</published><updated>2011-08-30T10:23:49.472+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 8</title><content type='html'>What will the future bring?&lt;br /&gt;&lt;br /&gt;What is the roadmap of Oracle Forms? All features that are mentioned below, are subject to &lt;a href="http://www.oracle.com/us/corporate/investor-relations/safe-harbor-080331.pdf"&gt;Oracle's safe harbour statement&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-D7oJ25V4Wo8/TltCXuaalXI/AAAAAAAABzM/6Oev5PbVkbY/s1600/oracle_safe_harbour_statement.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://2.bp.blogspot.com/-D7oJ25V4Wo8/TltCXuaalXI/AAAAAAAABzM/6Oev5PbVkbY/s400/oracle_safe_harbour_statement.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;In other words, we may look forward to most features with reasonable  certainty. If one of them now should not be installed, it will  (hopefully) in the next version.&lt;br /&gt;&lt;br /&gt;New Features Forms 11g Release 2:&lt;br /&gt;- Integration of the forms runtime in Oracle Access Management - an alternative Single Sign On&lt;br /&gt;- Easier and better installation of Forms 11g on the Web Logic Server&lt;br /&gt;&lt;br /&gt;New Features Forms 12:&lt;br /&gt;- Oracle Real-User-Experience-Integration for better testing environment&lt;br /&gt;- Enhancements in the Forms Builder&lt;br /&gt;- Better integration in the Oracle Enterprise Manager&lt;br /&gt;- Better support of new OS versions (32+64 bit)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-9.html"&gt;the summary&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-7.html"&gt;part 7 of the article&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-9064377337849609161?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/9064377337849609161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=9064377337849609161&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/9064377337849609161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/9064377337849609161'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-8.html' title='Result of  the 2011 Oracle Forms poll - part 8'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-D7oJ25V4Wo8/TltCXuaalXI/AAAAAAAABzM/6Oev5PbVkbY/s72-c/oracle_safe_harbour_statement.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8089334890131090823</id><published>2011-08-26T09:14:00.002+02:00</published><updated>2011-08-29T09:44:13.893+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 7</title><content type='html'>Question 6: Which new Features did you wish for Forms 12?&lt;br /&gt;&lt;br /&gt;Most named topics were:&lt;br /&gt;&lt;br /&gt;- reintroduction Client/Server&lt;br /&gt;- integration of a modern pl/sql editor &lt;br /&gt;-- with auto-suggest, formatter and code completion&lt;br /&gt;-- enhanced syntax highlighting&lt;br /&gt;- integration of pl/sql-refactoring &lt;br /&gt;- easier installation&lt;br /&gt;- forms-blocks build on data grids&lt;br /&gt;-- access to all records at the same time&lt;br /&gt;-- switching columns &lt;br /&gt;-- increase and decrease column width&lt;br /&gt;- better integration of reports and java beans&lt;br /&gt;- creating objects at runtime&lt;br /&gt;- drag and drop&lt;br /&gt;- zooming formlayout&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-8.html"&gt;What will the future bring?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-6.html"&gt;part 6 of the article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8089334890131090823?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8089334890131090823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8089334890131090823&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8089334890131090823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8089334890131090823'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-7.html' title='Result of  the 2011 Oracle Forms poll - part 7'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8789160537554032939</id><published>2011-08-25T08:58:00.002+02:00</published><updated>2011-08-26T09:15:33.884+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 6</title><content type='html'>Question 5: What did you think about the future of Oracle Forms?&lt;br /&gt;&lt;br /&gt;That was not a question with an easy Yes or No. But 70% of all answers gave positive feedback.&lt;br /&gt;&lt;br /&gt;Some answers were extreme positive or negative: For example: "More stable that all java-frameworks", "Forms Web is bad, as Client/Server full of grandeur", "There are no clever alternatives" or "Forms will die, whatever we do in the next 5, 10 or 20 years".&lt;br /&gt;&lt;br /&gt;In most answers they repeated the appeal to Oracle, to develop Forms further: "It must be more done for Forms! Then we have a future", "Forms is our most important development-tool for dialog-programs and we hope, that Oracle will maintain it for a long time".&lt;br /&gt;&lt;br /&gt;In many cases they said, that Oracle Forms is the most productive development environment for Oracle Databases: "In our opinion we think, that there is no other product, were you can develop in comparable time such a good output"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-7.html"&gt;Question 6: Which new Features did you wish for Forms 12?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-5.html"&gt;part 5 of the article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8789160537554032939?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8789160537554032939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8789160537554032939&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8789160537554032939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8789160537554032939'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-6.html' title='Result of  the 2011 Oracle Forms poll - part 6'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-243455382914560854</id><published>2011-08-24T09:24:00.002+02:00</published><updated>2011-08-25T08:58:31.398+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 5</title><content type='html'>Question 4: Are you thinking about a replacement?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wj7cyAXF54E/TlShwhqx00I/AAAAAAAABzE/hzC0QkQcPPs/s1600/doag_news_2011_april_1_4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="http://2.bp.blogspot.com/-wj7cyAXF54E/TlShwhqx00I/AAAAAAAABzE/hzC0QkQcPPs/s400/doag_news_2011_april_1_4.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;One-third of all forms-applications will be replaced with Java, ADF and .NET.&lt;br /&gt;&lt;br /&gt;Very interesting: 40% of all customers, who leave Forms, went to Microssofts .NET. Oracle's ADF is only on rank 3.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-6.html"&gt;Question 5: What did you think about the future of Oracle Forms?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-4.html"&gt;part 4 of the article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-243455382914560854?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/243455382914560854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=243455382914560854&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/243455382914560854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/243455382914560854'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-5.html' title='Result of  the 2011 Oracle Forms poll - part 5'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-wj7cyAXF54E/TlShwhqx00I/AAAAAAAABzE/hzC0QkQcPPs/s72-c/doag_news_2011_april_1_4.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3167895850624854209</id><published>2011-08-23T11:15:00.001+02:00</published><updated>2011-08-24T09:36:06.502+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 4</title><content type='html'>Question 3: Are you thinking about a migration?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-L6tqAeAdUVg/TlNo8vjpB9I/AAAAAAAABy8/kat7T7gR-DQ/s1600/doag_news_2011_april_1_3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="http://1.bp.blogspot.com/-L6tqAeAdUVg/TlNo8vjpB9I/AAAAAAAABy8/kat7T7gR-DQ/s400/doag_news_2011_april_1_3.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;More than two-thirds of all forms-applications will be migrated to Forms 10g or 11g in the next years.&lt;br /&gt;&lt;br /&gt;That's good news. It means, that all those unsupported old forms-versions went to a modern three tier architecture.&lt;br /&gt;&lt;br /&gt;But what about the 20 percent of the applications, which are still running under Forms 6i Client/Server? Maybe the next question is the answer:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-5.html"&gt;Question 4: Are you thinking about a replacement?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-3.html"&gt;part 3 of the article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3167895850624854209?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3167895850624854209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3167895850624854209&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3167895850624854209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3167895850624854209'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-4.html' title='Result of  the 2011 Oracle Forms poll - part 4'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-L6tqAeAdUVg/TlNo8vjpB9I/AAAAAAAABy8/kat7T7gR-DQ/s72-c/doag_news_2011_april_1_3.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-6270607193788344662</id><published>2011-08-22T09:43:00.001+02:00</published><updated>2011-08-24T09:36:06.502+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 3</title><content type='html'>Question 2: Since how many years did you work with Forms?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-H5EdrrMB0WM/TlH2hC3VmmI/AAAAAAAABy0/KP61F5WwNWw/s1600/doag_news_2011_april_1_2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="http://1.bp.blogspot.com/-H5EdrrMB0WM/TlH2hC3VmmI/AAAAAAAABy0/KP61F5WwNWw/s400/doag_news_2011_april_1_2.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Some answers like "I work with Forms since 2.3" are matched to "24 years" :-)&lt;br /&gt;&lt;br /&gt;The average of all forms-developers work sind 15 years with the toolset. That is an amazing amount of time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-4.html"&gt;Question 3: Are you thinking about a migration?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-2.html"&gt;part 2 of the article&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6270607193788344662?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6270607193788344662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6270607193788344662&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6270607193788344662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6270607193788344662'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-3.html' title='Result of  the 2011 Oracle Forms poll - part 3'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-H5EdrrMB0WM/TlH2hC3VmmI/AAAAAAAABy0/KP61F5WwNWw/s72-c/doag_news_2011_april_1_2.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2766190947805028712</id><published>2011-08-19T10:48:00.005+02:00</published><updated>2011-08-22T09:52:47.753+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 2</title><content type='html'>Question 1: With which forms-version did you work today?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-WpM3toqJjMs/Tk4GvPEVYlI/AAAAAAAAByA/SSLn6SQY4yA/s1600/doag_news_2011_april_1_1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="245" src="http://2.bp.blogspot.com/-WpM3toqJjMs/Tk4GvPEVYlI/AAAAAAAAByA/SSLn6SQY4yA/s400/doag_news_2011_april_1_1.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Nearly 40% of all customers are working with the good old Forms 6i Client/Server. They love their Client/Server and don't want to go to the expensive web-servers of Forms 10g and 11g.&lt;br /&gt;&lt;br /&gt;Less than 10% are working with the new Weblogic Server and Forms 11g. That's quite few. I hope I get more infos about that topic, when I start the next poll in 2012.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-3.html"&gt;Question 2: Since how many years did you work with Forms?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-1.html"&gt;part 1 of the article&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2766190947805028712?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2766190947805028712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2766190947805028712&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2766190947805028712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2766190947805028712'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-2.html' title='Result of  the 2011 Oracle Forms poll - part 2'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-WpM3toqJjMs/Tk4GvPEVYlI/AAAAAAAAByA/SSLn6SQY4yA/s72-c/doag_news_2011_april_1_1.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-6025785246053288707</id><published>2011-08-17T09:52:00.003+02:00</published><updated>2011-08-19T11:56:26.499+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Result of  the 2011 Oracle Forms poll - part 1</title><content type='html'>I realized the last months, that it is not that easy to find some hours in one piece to write down my results of the Oracle Forms poll.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-b74m8ExeXrI/TWuZdZ-NZtI/AAAAAAAABqI/YBtWtJN8oPc/s1600/Forms_Umfrage.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="146" src="http://4.bp.blogspot.com/-b74m8ExeXrI/TWuZdZ-NZtI/AAAAAAAABqI/YBtWtJN8oPc/s400/Forms_Umfrage.JPG" width="237" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So I decided to split it into parts and here is the first one:&lt;br /&gt;&lt;br /&gt;Why did I start the Oracle Forms poll ?&lt;br /&gt;&lt;br /&gt;Ten years ago I heard the first rumors about "Forms is dead and modern software engineers should use Java". It was the time of Forms 6i Client/Server and Forms 6i Web on the Internet Application Servers. &lt;br /&gt;&lt;br /&gt;Some years later we got Forms 9i with a lot of new features and 2006 came Forms 10g, which was the stablest version based on OC4J in the Oracle Application Server. But the rumors didn't end.&lt;br /&gt;&lt;br /&gt;Oracle launched in 2007 a huge 5-day-betatest in Redwood Shores. I got an invitation and had a close look at the newest versions of all products including the new Oracle Forms 11g. That was amazing!&lt;br /&gt;&lt;br /&gt;The new Forms 11g worked so stable in the betatest, that I thought, the production version cannot be far away. One year later Oracle purchased BEA. The new Weblogic Application Server was now strategic and all products had to run on it. This was the reason, why Oracle Forms needed two more years to get ready.&lt;br /&gt;&lt;br /&gt;In those years, Oracle was pushing Java and ADF as the best way for developing applications.&lt;br /&gt;&lt;br /&gt;That was the point, to hear, how the mood of the forms-developer and forms-projects today is. I started a poll and invited nearly 1000 customers to help me and find out, what they think about the future of Oracle Forms.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-2.html"&gt;Question 1: With which forms-version did you work today?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6025785246053288707?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6025785246053288707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6025785246053288707&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6025785246053288707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6025785246053288707'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/08/result-of-2011-oracle-forms-poll-part-1.html' title='Result of  the 2011 Oracle Forms poll - part 1'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-b74m8ExeXrI/TWuZdZ-NZtI/AAAAAAAABqI/YBtWtJN8oPc/s72-c/Forms_Umfrage.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1101825755380963755</id><published>2011-05-02T11:49:00.000+02:00</published><updated>2011-08-16T09:14:08.278+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>SQL Developer Data Modeler is now for free</title><content type='html'>The old SQL Developer Data Modeler was not for free. It was expensive and this was a big problem for customers.&lt;br /&gt;&lt;br /&gt;SQL Developer Data Modeler is now a free data modeling and design tool.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html"&gt;Read this&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KR3kiA3jWw8/Tb58uRhKNeI/AAAAAAAABsQ/M4BFP1wR098/s1600/sql_developer_data_modeler_is_for_free.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="349" src="http://4.bp.blogspot.com/-KR3kiA3jWw8/Tb58uRhKNeI/AAAAAAAABsQ/M4BFP1wR098/s400/sql_developer_data_modeler_is_for_free.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This is another good point for us Oracle Designer Fans to migrate one day to a new Data Modeling Environment from Oracle.&lt;br /&gt;&lt;br /&gt;Thank you Oracle&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1101825755380963755?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1101825755380963755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1101825755380963755&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1101825755380963755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1101825755380963755'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/05/sql-developer-data-modeler-is-now-for.html' title='SQL Developer Data Modeler is now for free'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-KR3kiA3jWw8/Tb58uRhKNeI/AAAAAAAABsQ/M4BFP1wR098/s72-c/sql_developer_data_modeler_is_for_free.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8754478335335164638</id><published>2011-04-19T16:31:00.004+02:00</published><updated>2011-04-21T07:54:51.013+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>SQL Developer 3.0 includes Data Modeler</title><content type='html'>The new version of the SQL Developer is a big step. The data modeler is now integrated part of the toolset!&lt;br /&gt;&lt;br /&gt;The first screenshot shows the differences between the new and old object navigator:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-77tTkiy_eRA/Ta2AO68j4cI/AAAAAAAABqc/aM5mPSLkxjI/s1600/sqldev30_nav_tree.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="385" src="http://2.bp.blogspot.com/-77tTkiy_eRA/Ta2AO68j4cI/AAAAAAAABqc/aM5mPSLkxjI/s400/sqldev30_nav_tree.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;New topics are :&lt;br /&gt;- Editioning Views&lt;br /&gt;- Crossedition-Trigger&lt;br /&gt;- Scheduler&lt;br /&gt;&lt;br /&gt;A little enhancement in the user interface is for example the Close-Button in the tabs. They are permanent visible, not like in the old version, where you had to do a mouse-over, to see, where the buttons are.&lt;br /&gt;&lt;br /&gt;The tables are automatically filtered, so that the recycle bin is excluded.&lt;br /&gt;&lt;br /&gt;In the menus are new menuitems for the data-modeler and the new data-mining:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-lRYNasY1eD8/Ta2H6f5sbeI/AAAAAAAABqk/77QkWFjaMoA/s1600/sqldev30_model_mining.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="341" src="http://1.bp.blogspot.com/-lRYNasY1eD8/Ta2H6f5sbeI/AAAAAAAABqk/77QkWFjaMoA/s400/sqldev30_model_mining.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;To start data modeling you didn't have to start another tool like in version 2.1. Only click on View-&gt;Data Modeler-&gt;Browser and start working.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-DKgQF3874Vw/Ta2Mui1g_WI/AAAAAAAABqs/inmZizBsD8E/s1600/sqldev30_dm_browser.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-DKgQF3874Vw/Ta2Mui1g_WI/AAAAAAAABqs/inmZizBsD8E/s400/sqldev30_dm_browser.JPG" width="220" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You can open an existing model through File-&gt;Data Modeler-&gt;Open or create a new model from scratch via import from the data dictionary. Models are stored in their own directory plus a configuration-file with the extension DMD.&lt;br /&gt;&lt;br /&gt;My next tests will be:&lt;br /&gt;- generating scripts&lt;br /&gt;- creating packages and sourcecodes in the data modeler&lt;br /&gt;&lt;br /&gt;I hope, that all of these topics are big steps too!&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8754478335335164638?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8754478335335164638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8754478335335164638&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8754478335335164638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8754478335335164638'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/04/sql-developer-30-includes-data-modeler.html' title='SQL Developer 3.0 includes Data Modeler'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-77tTkiy_eRA/Ta2AO68j4cI/AAAAAAAABqc/aM5mPSLkxjI/s72-c/sqldev30_nav_tree.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1549199237423318737</id><published>2011-03-30T16:27:00.002+02:00</published><updated>2011-04-04T08:19:36.453+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>SQL Developer 3.0 is available</title><content type='html'>Oracle's breaking news from yesterday :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Breaking News: Oracle SQL Developer 3.0 is now available for download  (29 March 2011)&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FLSWigC32Jw/TZM9Kuh4Q7I/AAAAAAAABqU/ZWBC73Clbe0/s1600/sql_developer_30.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="164" src="http://4.bp.blogspot.com/-FLSWigC32Jw/TZM9Kuh4Q7I/AAAAAAAABqU/ZWBC73Clbe0/s400/sql_developer_30.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I'll test it the next days and I hope, that the Data Modeler now is integrated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1549199237423318737?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1549199237423318737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1549199237423318737&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1549199237423318737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1549199237423318737'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/03/sql-developer-30-is-available.html' title='SQL Developer 3.0 is available'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-FLSWigC32Jw/TZM9Kuh4Q7I/AAAAAAAABqU/ZWBC73Clbe0/s72-c/sql_developer_30.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2630418737130378619</id><published>2011-02-28T14:46:00.001+01:00</published><updated>2011-03-30T12:48:00.943+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Oracle Forms poll "Forms 12 and beyond"</title><content type='html'>6 weeks ago I wrote a posting about the big german poll I wanted to start.&lt;br /&gt;&lt;br /&gt;5 weeks ago I invited nearly thousand companies in germany, austria and switzerland to attend my forms-poll.&lt;br /&gt;&lt;br /&gt;The first results returned 2 minutes after starting the poll.&lt;br /&gt;&lt;br /&gt;The last 2 weeks I used for reviewing and collecting the results, writing my article for the DOAG News and now the article is ready and goes into printing.&lt;br /&gt;&lt;br /&gt;The result of the poll is very interesting. I cannot write here about it, because the DOAG News should publish the article first.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-b74m8ExeXrI/TWuZdZ-NZtI/AAAAAAAABqI/YBtWtJN8oPc/s1600/Forms_Umfrage.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="146" src="http://4.bp.blogspot.com/-b74m8ExeXrI/TWuZdZ-NZtI/AAAAAAAABqI/YBtWtJN8oPc/s400/Forms_Umfrage.JPG" width="237" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So we have to wait another 4 weeks till the April edition is published. Then I'll discuss the poll in detail here in my blog.&lt;br /&gt;&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2630418737130378619?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2630418737130378619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2630418737130378619&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2630418737130378619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2630418737130378619'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/02/oracle-forms-poll-forms-12-and-beyond.html' title='Oracle Forms poll &quot;Forms 12 and beyond&quot;'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-b74m8ExeXrI/TWuZdZ-NZtI/AAAAAAAABqI/YBtWtJN8oPc/s72-c/Forms_Umfrage.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4695385264241504982</id><published>2011-01-17T14:04:00.000+01:00</published><updated>2011-03-30T12:48:41.485+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Versioning forms and comparing sourcecode</title><content type='html'>Comparing sourcecodes of different versions of the same FMB is very important while developing an application or during maintenance.&lt;br /&gt;&lt;br /&gt;If you want to store all versions of your FMB's, then they are two ways:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Manual versioning&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Each version of all files is stored under its name plus the versionnumber. E.g. emp_27.fmb, emp_28.fmb, ... In this case "emp" + "_27" + ".fmb".&lt;br /&gt;&lt;br /&gt;Parallel to each version you store the textversion of the FMB, emp_27.txt, emp_28.txt and so on. You get the textversion in forms through Edit-Administration-"Object list report".&lt;br /&gt;&lt;br /&gt;For viewing the changes between two versions you can use tools like Beyond Compare, my favorite compare tool.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_lwLEB0H9sdo/TTQsfsMEjKI/AAAAAAAABow/g61WfRpyVnM/s1600/beyondcompare.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="33" src="http://1.bp.blogspot.com/_lwLEB0H9sdo/TTQsfsMEjKI/AAAAAAAABow/g61WfRpyVnM/s400/beyondcompare.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Using Subversion, Git or another VCS&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Using a version control software is the other approach. But here we have the problem, that storing the binary file in tools like Subversion didn't solve our origin problem, finding sourcecode differences between two versions. Storing the textversion of the binary FMB plus the forms FMB is here the best practice for the check-in.&lt;br /&gt;&lt;br /&gt;If we now want to see the changes between two version, we can easily use the builtin features of the versioning tool:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_lwLEB0H9sdo/TTQ1UwGCvBI/AAAAAAAABo4/vksOPrr4KEM/s1600/TortoiseSVN.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="95" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/TTQ1UwGCvBI/AAAAAAAABo4/vksOPrr4KEM/s400/TortoiseSVN.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;just use it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4695385264241504982?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4695385264241504982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4695385264241504982&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4695385264241504982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4695385264241504982'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/01/versioning-forms-and-comparing.html' title='Versioning forms and comparing sourcecode'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_lwLEB0H9sdo/TTQsfsMEjKI/AAAAAAAABow/g61WfRpyVnM/s72-c/beyondcompare.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1667579034569336564</id><published>2011-01-11T16:00:00.000+01:00</published><updated>2011-03-30T12:48:00.943+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>The future of Oracle Forms</title><content type='html'>In the last days of 2010 the German Oracle User Group asked me to write an article for the april edition of their magazin.&lt;br /&gt;&lt;br /&gt;First I thought, that I write a normal deep technique article like all the others in the last years.&lt;br /&gt;&lt;br /&gt;But then I reconsidered and found a better topic: "The future of Oracle Forms"&lt;br /&gt;&lt;br /&gt;This  article has two main parts. The first one gives an outlook, what Oracle  integrates in the new Oracle Forms 12 release and the second part is  result of a german wide poll, which I start this week.&lt;br /&gt;&lt;br /&gt;The  poll should give us an overview, what the german forms developer think  about their development tool, which version they actually use, how long  they work with Forms and what they think about the future of Oracle  Forms&lt;br /&gt;&lt;br /&gt;I'm very interested in the results of this poll&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1667579034569336564?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1667579034569336564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1667579034569336564&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1667579034569336564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1667579034569336564'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2011/01/future-of-oracle-forms.html' title='The future of Oracle Forms'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2920032455989807745</id><published>2010-09-27T09:17:00.000+02:00</published><updated>2011-08-17T11:29:45.754+02:00</updated><title type='text'>Upgrading IE in the local development environment</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;If you ever have a stable running IE 6.0 or 7.0 for your Oracle Forms development and you think: Let's use the IE 8.0 or 9.0.&lt;br /&gt;&lt;br /&gt;Then you may run into these problems:&lt;br /&gt;&lt;br /&gt;After the IE 8 Installation you run your application through the Run-Button in the Forms-Builder and see this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_lwLEB0H9sdo/TKA9_nQlA6I/AAAAAAAABnY/f1SZXH-j1zM/s1600/URL_with_IE_8.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="81" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/TKA9_nQlA6I/AAAAAAAABnY/f1SZXH-j1zM/s640/URL_with_IE_8.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;oh no... what an ugly URL you think... &lt;br /&gt;&lt;br /&gt;Now we have to find the problem:&lt;br /&gt;&lt;br /&gt;First point is, that the JInitiator isn't running against the IE 8 and we have to switch to an alternative. OK let's use the sun-plugin.&lt;br /&gt;&lt;br /&gt;Second pitfall may be, that switching to the new "config=my_sunconfig" didn't run with the local forms developer, although you can run the main application on the Application Server.&lt;br /&gt;&lt;br /&gt;This problem occurs, because you may forgot to check the formsweb.cfg on your local machine.&lt;br /&gt;&lt;br /&gt;After changing the environmant to sun-plugin-parameter-values there might be another problem, but only in seldom cases: Under edit-preferences you can set the path for your Internet Explorer. Check, if this is correct, or change it to the new IE 8 destination.&lt;br /&gt;&lt;br /&gt;And now have fun with your IE 8&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2920032455989807745?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2920032455989807745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2920032455989807745&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2920032455989807745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2920032455989807745'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2010/09/upgrading-ie-in-local-development.html' title='Upgrading IE in the local development environment'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_lwLEB0H9sdo/TKA9_nQlA6I/AAAAAAAABnY/f1SZXH-j1zM/s72-c/URL_with_IE_8.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-6456256355901923479</id><published>2010-07-09T21:32:00.000+02:00</published><updated>2010-08-16T10:29:40.660+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New Layout</title><content type='html'>I updated the templates a little bit of my talk2gerd. These are the new features: &lt;br /&gt;&lt;br /&gt;Followers &lt;br /&gt;&lt;br /&gt;- all followers of my blog are welcome here&lt;br /&gt;&lt;br /&gt;Labels&lt;br /&gt;&lt;br /&gt;- here you can see all the different labels I used in my blog. Click on a label and you see only the postings with that label on it.&lt;br /&gt;&lt;br /&gt;have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6456256355901923479?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6456256355901923479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6456256355901923479&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6456256355901923479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6456256355901923479'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2010/07/new-layout.html' title='New Layout'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-7830147550382962293</id><published>2010-07-02T11:28:00.004+02:00</published><updated>2010-07-02T13:12:47.633+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New Statement of Direction, May 2010</title><content type='html'>This is the new &lt;a href="http://www.oracle.com/support/library/brochure/lifetime-support-middleware.pdf"&gt;Statement of Direction&lt;/a&gt; from May 2010. (&lt;a href="http://talk2gerd.blogspot.com/2008/11/new-statement-of-direction-october-2008.html"&gt;My last SoD-Post&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lwLEB0H9sdo/TC20mIbEntI/AAAAAAAABVA/4yMLAw0upJg/s1600/SoD_2010_May.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 205px;" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/TC20mIbEntI/AAAAAAAABVA/4yMLAw0upJg/s400/SoD_2010_May.JPG" alt="" id="BLOGGER_PHOTO_ID_5489242088023563986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are some links to older Statement of Directions:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Fusion_2010_05.pdf"&gt;SoD Oracle Fusion 2010 / 05&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2009_07.pdf"&gt;SoD Forms 2009 / 07&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2008_07.pdf"&gt;SoD Forms 2008 / 07&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2007_11.pdf"&gt;SoD Forms 2007 / 11&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2005_09.pdf"&gt;SoD Forms 2005 / 09&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2005_05.pdf"&gt;SoD Forms 2005 / 05&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2005_03.pdf"&gt;SoD Forms 2005 / 03&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2004_06.pdf"&gt;SoD Forms 2004 / 06&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-7830147550382962293?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/7830147550382962293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=7830147550382962293&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7830147550382962293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7830147550382962293'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2010/07/new-statement-of-direction-may-2010.html' title='New Statement of Direction, May 2010'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_lwLEB0H9sdo/TC20mIbEntI/AAAAAAAABVA/4yMLAw0upJg/s72-c/SoD_2010_May.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-367143053402368038</id><published>2010-06-09T15:53:00.001+02:00</published><updated>2010-08-16T10:30:25.551+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>I just submitted "Forms 11g and the iPhone" for the DOAG Conference 2010</title><content type='html'>In some weeks the Call for Papers for the German Oracle User Group (DOAG) Conference 2010 ends.&lt;br /&gt;&lt;br /&gt;My plan is to hold a presentation about Forms 11g and the iPhone.&lt;br /&gt;&lt;br /&gt;The main topic of the presentation is, how you can extract modules from big Oracle Forms Applications and recreate them in a mobile version on the iPhone.&lt;br /&gt;&lt;br /&gt;The presentation-testcase shows, how much more efficient it is to have a time-reporting on your mobile device versus the old technique, where this app was part of a big legacy application.&lt;br /&gt;&lt;br /&gt;Another topic is to show, how you can communicate bidirectional between Forms 11g and the iPhone App. Using Advanced Queueing in Forms and Push Notifications in the App is the solution.&lt;br /&gt;&lt;br /&gt;5 months to go and I hope I get a slot in the conference.&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-367143053402368038?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/367143053402368038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=367143053402368038&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/367143053402368038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/367143053402368038'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2010/06/i-just-submitted-forms-11g-and-iphone.html' title='I just submitted &quot;Forms 11g and the iPhone&quot; for the DOAG Conference 2010'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5757720283875372853</id><published>2010-05-05T17:12:00.004+02:00</published><updated>2011-08-23T11:35:09.798+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Migrate your charset to UTF8, annotation to step 3</title><content type='html'>After migrating to UTF8 you may have problems with your report-server. This is, when your reports cannot be displayed and internally the server throws a "Canceled as server is shutting down"&lt;br /&gt;&lt;br /&gt;With UTF8 you need a bigger cache-size in "report server-parameter". Easiest way, when you run into problems, double up the value of the parameter.&lt;br /&gt;&lt;br /&gt;Try it&lt;br /&gt;Gerd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2010/04/migrate-your-charset-to-utf8-step-3.html"&gt;part 3 of the article&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5757720283875372853?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5757720283875372853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5757720283875372853&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5757720283875372853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5757720283875372853'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2010/05/migrate-your-charset-to-utf8-annotation.html' title='Migrate your charset to UTF8, annotation to step 3'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-7796123645651214937</id><published>2010-04-28T10:13:00.010+02:00</published><updated>2011-08-23T11:35:06.311+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Migrate your charset to UTF8, step 3</title><content type='html'>Applications without Reports are useless :-)&lt;br /&gt;&lt;br /&gt;So we have to change some things in the Reports Environment to enable UTF8 in PDF-Output.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;First &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;you have to edit in your OAS Report-Server the report-config:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lwLEB0H9sdo/S9ggNMC1MpI/AAAAAAAABS8/GJOZ7aZcAwQ/s1600/UTF8_Report_Config.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 153px;" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/S9ggNMC1MpI/AAAAAAAABS8/GJOZ7aZcAwQ/s400/UTF8_Report_Config.JPG" alt="" id="BLOGGER_PHOTO_ID_5465153558757585554" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lwLEB0H9sdo/S9gfxZgOE0I/AAAAAAAABS0/s3VknA4LqSU/s1600/UTF8_Report_Config.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Add one "environment id" per section. A section is in this example development, test and production. After that, each section has defined it's own NLS_LANG and report-path.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Second&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can use the new sections through Forms. Before starting the report you add another parameter to the paramlist:&lt;br /&gt;&lt;br /&gt;Add_Parameter (V_ParamListe, 'ENVID', TEXT_PARAMETER, 'NLS-PROD');&lt;br /&gt;&lt;br /&gt;Now you can control the NLS_LANG of your reportserver.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Third&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Last checkpoint for your reports is the correct mapping between your fonts and your TrueType-Fonts (in this case we have a windows-system)&lt;br /&gt;&lt;br /&gt;Edit the file "uifont.ali" in the directory &lt;OAS-HOME&gt;\tools\common and add the following lines in the section &lt;span style="font-weight:bold;"&gt;[ PDF:Subset ]&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;Arial..Italic.Bold..             = "c:\windows\fonts\arialbi.ttf"&lt;br /&gt;Arial...Bold..                   = "c:\windows\fonts\arialbd.ttf"&lt;br /&gt;Arial..Italic...                 = "c:\windows\fonts\ariali.ttf"&lt;br /&gt;Arial.....                       = "c:\windows\fonts\arial.ttf"&lt;br /&gt;&lt;br /&gt;"Courier New"..Italic.Bold..     = "c:\windows\fonts\courbi.ttf"&lt;br /&gt;"Courier New"...Bold..           = "c:\windows\fonts\courbd.ttf"&lt;br /&gt;"Courier New"..Italic...         = "c:\windows\fonts\couri.ttf"&lt;br /&gt;"Courier New"                    = "c:\windows\fonts\cour.ttf"&lt;br /&gt;&lt;br /&gt;"Times New Roman"..Italic.Bold.. = "c:\windows\fonts\timesbi.ttf"&lt;br /&gt;"Times New Roman"...Bold..       = "c:\windows\fonts\timesbd.ttf"&lt;br /&gt;"Times New Roman"..Italic...     = "c:\windows\fonts\timesi.ttf"&lt;br /&gt;"Times New Roman"                = "c:\windows\fonts\times.ttf"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In this example windows has its fonts in the directory c:\windows\fonts\&lt;br /&gt;&lt;br /&gt;have fun&lt;br /&gt;Gerd&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2010/05/migrate-your-charset-to-utf8-annotation.html"&gt;Migrate your charset to UTF8, annotation to step 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2010/04/migrate-your-charset-to-utf8-step-2.html"&gt;part 2 of the article&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-7796123645651214937?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/7796123645651214937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=7796123645651214937&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7796123645651214937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7796123645651214937'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2010/04/migrate-your-charset-to-utf8-step-3.html' title='Migrate your charset to UTF8, step 3'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_lwLEB0H9sdo/S9ggNMC1MpI/AAAAAAAABS8/GJOZ7aZcAwQ/s72-c/UTF8_Report_Config.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3853494471338311233</id><published>2010-04-07T12:25:00.005+02:00</published><updated>2011-08-23T11:34:58.424+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Migrate your charset to UTF8, step 2</title><content type='html'>Now, after changing the NLS to UTF8 we may have problems with hotkeys.&lt;br /&gt;&lt;br /&gt;That's because the nls-change to UTF8 will now use a different resource-file. Instead of fmrweb.res the fmrweb_utf8.res is used. The resource-files are located in the forms-home-directory.&lt;br /&gt;&lt;br /&gt;If you have used "term" in your formsweb.cfg - otherparams, then you point hardcoded to a specified file. Here you have to change the value of the parameter or you have to exchange the content of the file.&lt;br /&gt;&lt;br /&gt;e.g. changing the value of the parameter:&lt;br /&gt;old: otherParams=term=&lt;path&gt;\fmrweb.res&lt;br /&gt;new: otherParams=term=&lt;path&gt;\fmrweb_utf8.res&lt;br /&gt;&lt;br /&gt;After this changes you can use the same hotkeys like before&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2010/04/migrate-your-charset-to-utf8-step-3.html"&gt;Migrate your charset to UTF8, step 3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Back to &lt;a href="http://talk2gerd.blogspot.com/2010/03/migrate-your-charset-to-utf8-in-3-steps.html"&gt;part 1 of the article&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3853494471338311233?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3853494471338311233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3853494471338311233&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3853494471338311233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3853494471338311233'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2010/04/migrate-your-charset-to-utf8-step-2.html' title='Migrate your charset to UTF8, step 2'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2041596382765669721</id><published>2010-03-31T09:41:00.006+02:00</published><updated>2011-08-23T11:34:54.117+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Migrate your charset to UTF8 in 3 steps</title><content type='html'>What do we have to do in our forms application, when the database in the backend is upgraded from a single-byte charset to a UTF8-charset.&lt;br /&gt;&lt;br /&gt;First Step&lt;br /&gt;&lt;br /&gt;Make a backup of your forms-sources, your local forms installation and your application server configs.&lt;br /&gt;&lt;br /&gt;After that change the NLS_LANG in your registry. You can create a backup of the parameter, through creating a new parameter named "NLS_old" with the value of the old NLS_LANG-value. The new value of NLS_LANG is for example "GERMAN_GERMANY.UTF8". This change is for your local forms builder, when you recompile your forms sources.&lt;br /&gt;&lt;br /&gt;Now we can edit our local default.env. If there is a line with the NLS_LANG, then change the value to the UTF8-value (see above) or create a new line with the NLS_LANG. This change is for our local OC4J instance only.&lt;br /&gt;&lt;br /&gt;Do the same change on the application server (use the OEM for edits)&lt;br /&gt;&lt;br /&gt;These changes were the basic environment-changes we need for UTF8.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To be continued with &lt;a href="http://talk2gerd.blogspot.com/2010/04/migrate-your-charset-to-utf8-step-2.html"&gt;Migrate your charset to UTF8, step 2&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2041596382765669721?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2041596382765669721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2041596382765669721&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2041596382765669721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2041596382765669721'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2010/03/migrate-your-charset-to-utf8-in-3-steps.html' title='Migrate your charset to UTF8 in 3 steps'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5904255715651418721</id><published>2009-12-03T08:50:00.003+01:00</published><updated>2010-08-16T10:30:25.552+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>The iPhone Developer Conference was great</title><content type='html'>The last two days, when I visited the conference, I got tons of new infos and ideas around the iPhone and how to create applications on it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lwLEB0H9sdo/Sxdy90zK9PI/AAAAAAAABL0/A05C-ZvSjbg/s1600-h/iphonedevcon_09_234x60_statisch_01.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 234px; height: 60px;" src="http://3.bp.blogspot.com/_lwLEB0H9sdo/Sxdy90zK9PI/AAAAAAAABL0/A05C-ZvSjbg/s400/iphonedevcon_09_234x60_statisch_01.gif" alt="" id="BLOGGER_PHOTO_ID_5410919883779798258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think, I'll create a showcase for iPhones, where you can manipulate data through an App and parallel you see those updates automatically in a forms application. Using the newest version Forms 11 with AQ's is the basis of the showcase.&lt;br /&gt;&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5904255715651418721?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5904255715651418721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5904255715651418721&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5904255715651418721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5904255715651418721'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/12/iphone-developer-conference-was-great.html' title='The iPhone Developer Conference was great'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lwLEB0H9sdo/Sxdy90zK9PI/AAAAAAAABL0/A05C-ZvSjbg/s72-c/iphonedevcon_09_234x60_statisch_01.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3038596693010730177</id><published>2009-11-30T16:28:00.003+01:00</published><updated>2010-08-16T10:30:25.552+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>iPhone Developer Conference in Cologne</title><content type='html'>Tomorrow starts the german's iPhone Developer Conference in Cologne.&lt;br /&gt;&lt;br /&gt;I'll have a close look, if this is the new way of creating apps. And maybe I create the first app which can interact with Oracle Forms :-)&lt;br /&gt;&lt;br /&gt;Let's see&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3038596693010730177?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3038596693010730177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3038596693010730177&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3038596693010730177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3038596693010730177'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/11/iphone-developer-conference-in-cologne.html' title='iPhone Developer Conference in Cologne'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5942489130404665048</id><published>2009-10-19T13:49:00.001+02:00</published><updated>2011-03-30T12:48:00.943+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Blogging via Google Wave - First Test through email</title><content type='html'>Google wave is cool. Each day I find new things in this platform.&lt;br&gt;&lt;br&gt;And now is the time to test the connectivity between google wave and my blog.&lt;br&gt;&lt;br&gt;In this first test I write an automated email to the blogger-account. And the second test afterwards is from within the wave&lt;br&gt; &lt;br&gt;I need luck&lt;br&gt;Gerd&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5942489130404665048?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5942489130404665048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5942489130404665048&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5942489130404665048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5942489130404665048'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/10/blogging-via-google-wave-first-test.html' title='Blogging via Google Wave - First Test through email'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2062742087850057933</id><published>2009-09-15T18:03:00.005+02:00</published><updated>2009-09-15T18:55:46.008+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>The presentation for the DOAG conference 2009 is finished</title><content type='html'>The title is: "Shout out: Oracle Designer vs. SQL Developer Data Modeler".&lt;br /&gt;&lt;br /&gt;I'll demonstrate in the presentation the advantages and disadvantages of both tools. I base the demonstration on an EMP / DEPT example, which I design live.&lt;br /&gt;&lt;br /&gt;Chapters of the white paper are&lt;br /&gt;&lt;br /&gt;- Domains&lt;br /&gt;- ER-Design&lt;br /&gt;- Transfer ER to DataModel&lt;br /&gt;- Data Modeling&lt;br /&gt;- Generating DDL-Scripts&lt;br /&gt;- Reverse Engineering&lt;br /&gt;- Guaranteed Future&lt;br /&gt;&lt;br /&gt;The day after the presentation I'll upload the paper to my download-portal on &lt;a href="http://code.google.com/p/forms-framework/wiki/PresentationsSince1997"&gt;google-code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2062742087850057933?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2062742087850057933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2062742087850057933&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2062742087850057933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2062742087850057933'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/09/finished-my-presentation-for-this-years.html' title='The presentation for the DOAG conference 2009 is finished'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8946631314254499951</id><published>2009-08-31T08:18:00.008+02:00</published><updated>2009-08-31T10:31:35.329+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Forms Debugger - hidden Feature</title><content type='html'>The Forms 10g debugger is much better than the Forms 6i debugger. He is completly new written and has the ability to debug remote. So you can look into a running session of an user and search for errors. This is in the new web-environments a powerful method to find problems.&lt;br /&gt;&lt;br /&gt;And that's only one aspect of the new debugger.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_lwLEB0H9sdo/Sptws5no2DI/AAAAAAAABIk/qxxWbJJPdRs/s1600-h/Debugger_01.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 334px; height: 56px;" src="http://1.bp.blogspot.com/_lwLEB0H9sdo/Sptws5no2DI/AAAAAAAABIk/qxxWbJJPdRs/s400/Debugger_01.JPG" alt="" id="BLOGGER_PHOTO_ID_5376014496880449586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The debugger works in two different modes: The stop-mode is well-known, because you can use there all functions of the debugger. He is active, while you investigate the code. You can work in this work, through a breakpoint e.g.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lwLEB0H9sdo/SptwxmWYzMI/AAAAAAAABIs/GtRQjdUV2r8/s1600-h/Debugger_02.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 150px; height: 27px;" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/SptwxmWYzMI/AAAAAAAABIs/GtRQjdUV2r8/s400/Debugger_02.JPG" alt="" id="BLOGGER_PHOTO_ID_5376014577607167170" border="0" /&gt; &lt;/a&gt;&lt;br /&gt;The run-mode is the other one. He can be found only, while the form is running in the foreground.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_lwLEB0H9sdo/Sptw0qm1CyI/AAAAAAAABI0/gZJiP7z_eJs/s1600-h/Debugger_03.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 152px; height: 28px;" src="http://1.bp.blogspot.com/_lwLEB0H9sdo/Sptw0qm1CyI/AAAAAAAABI0/gZJiP7z_eJs/s400/Debugger_03.JPG" alt="" id="BLOGGER_PHOTO_ID_5376014630289476386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And at that point you can press the break-button&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_lwLEB0H9sdo/Spt7MX5SjPI/AAAAAAAABI8/4aP4R0xmBkE/s1600-h/Debugger_04.JPG"&gt;&lt;img style="cursor: pointer; width: 23px; height: 26px;" src="http://1.bp.blogspot.com/_lwLEB0H9sdo/Spt7MX5SjPI/AAAAAAAABI8/4aP4R0xmBkE/s400/Debugger_04.JPG" alt="" id="BLOGGER_PHOTO_ID_5376026032699772146" border="0" /&gt;&lt;/a&gt;, which is one of the most interesting features in the debugger. It creates a breakpoint dynamically in the next line of code, which will be executed.&lt;br /&gt;&lt;br /&gt;So, if you press the button, nothing happens. If you then return from the Forms Builder back to the runform, the next event in the form starts the debugging-process. And then the debugger shows you the first line of code in that trigger, which will be executed next. So you don't have to think to much, where to set breakpoints and so on... just use the break-button.&lt;br /&gt;&lt;br /&gt;That's my tip of the day&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8946631314254499951?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8946631314254499951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8946631314254499951&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8946631314254499951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8946631314254499951'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/08/forms-debugger-hidden-feature.html' title='Forms Debugger - hidden Feature'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_lwLEB0H9sdo/Sptws5no2DI/AAAAAAAABIk/qxxWbJJPdRs/s72-c/Debugger_01.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5243165492993936233</id><published>2009-07-04T10:04:00.005+02:00</published><updated>2009-07-10T08:53:21.525+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Forms 11g is available on OTN</title><content type='html'>Go to &lt;a href="http://www.oracle.com/technology/software/products/middleware/index.html"&gt;Oracle Fusion Middleware 11g&lt;/a&gt; and click on Downloads&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lwLEB0H9sdo/Sk8Pn_um5aI/AAAAAAAABFs/cUTzp-646Kc/s1600-h/Forms_11g_Download_1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 80px; height: 87px;" src="http://3.bp.blogspot.com/_lwLEB0H9sdo/Sk8Pn_um5aI/AAAAAAAABFs/cUTzp-646Kc/s400/Forms_11g_Download_1.JPG" alt="" id="BLOGGER_PHOTO_ID_5354515661763044770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In the list of available tools, search for "Portal, Forms, Reports and Discoverer"&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lwLEB0H9sdo/Sk8QLi3jRmI/AAAAAAAABF0/iC9eua-tTcU/s1600-h/Forms_11g_Download_2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 294px; height: 91px;" src="http://3.bp.blogspot.com/_lwLEB0H9sdo/Sk8QLi3jRmI/AAAAAAAABF0/iC9eua-tTcU/s400/Forms_11g_Download_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5354516272491218530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;then relax, while downloading 2.1 GB and enjoy the new Oracle Forms 11g R1.&lt;br /&gt;&lt;br /&gt;Available on Windows and Linux. Solaris, HP and IBM is "Coming soon"&lt;br /&gt;Have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5243165492993936233?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5243165492993936233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5243165492993936233&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5243165492993936233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5243165492993936233'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/07/forms-11g-is-available-on-otn.html' title='Forms 11g is available on OTN'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lwLEB0H9sdo/Sk8Pn_um5aI/AAAAAAAABFs/cUTzp-646Kc/s72-c/Forms_11g_Download_1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2354582555999477735</id><published>2009-07-03T14:16:00.002+02:00</published><updated>2011-04-21T08:38:39.950+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Oracle Fusion Middleware 11g launched</title><content type='html'>Charles Phillips launched the Oracle Fusion Middleware 11g two days ago in Washington D.C.&lt;br /&gt;&lt;br /&gt;So now the Fusion stack is out and more and more products can use the new middleware. That is a good info for us, where we were waiting for the new platform for our Forms 11g.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/--fMWyehUuts/Ta_Pwpmq4oI/AAAAAAAABro/VijlJujGZ3Y/s1600/OFM_11g_OC3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="224" src="http://2.bp.blogspot.com/--fMWyehUuts/Ta_Pwpmq4oI/AAAAAAAABro/VijlJujGZ3Y/s400/OFM_11g_OC3.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Charles Phillips spoke about Key Partners, which helped him during the development of Fusion with beta testing and trainings. And here are two images from his presentation where we found our OPITZ CONSULTING logo on his main presentations:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mezNK7QLC8g/Ta_PHkjBlLI/AAAAAAAABrg/G53Rhfb8INI/s1600/OFM_11g_OC4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="306" src="http://1.bp.blogspot.com/-mezNK7QLC8g/Ta_PHkjBlLI/AAAAAAAABrg/G53Rhfb8INI/s640/OFM_11g_OC4.JPG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Let's hope, that Forms 11g is launched in the next weeks&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2354582555999477735?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2354582555999477735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2354582555999477735&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2354582555999477735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2354582555999477735'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/07/oracle-fusion-middleware-11g-launched.html' title='Oracle Fusion Middleware 11g launched'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/--fMWyehUuts/Ta_Pwpmq4oI/AAAAAAAABro/VijlJujGZ3Y/s72-c/OFM_11g_OC3.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4993948322028130507</id><published>2009-06-29T08:30:00.004+02:00</published><updated>2009-07-03T14:35:57.542+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Disabling a Trigger</title><content type='html'>If you have a trigger and you want to quickly disable him, then just use the "_"-technique :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lwLEB0H9sdo/SkhfjwwFQNI/AAAAAAAABEE/nk4wttjH1zI/s1600-h/Disabling_Trigger_1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 222px; height: 121px;" src="http://3.bp.blogspot.com/_lwLEB0H9sdo/SkhfjwwFQNI/AAAAAAAABEE/nk4wttjH1zI/s400/Disabling_Trigger_1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5352633225116467410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this case we have a Key-Create-Record-Trigger which should be disabled. Rename the "-" to "_" in the name of the trigger and from that point on the trigger is a user-named-trigger, which won't fire through an event.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lwLEB0H9sdo/SkhfnkziJ7I/AAAAAAAABEM/PTEElQfyso4/s1600-h/Disabling_Trigger_2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 221px; height: 119px;" src="http://3.bp.blogspot.com/_lwLEB0H9sdo/SkhfnkziJ7I/AAAAAAAABEM/PTEElQfyso4/s400/Disabling_Trigger_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5352633290629195698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Important: You can't rename the trigger to "KEY-CREREC2" or something else. The hyphen is in forms reserved for event-triggers.&lt;br /&gt;&lt;br /&gt;To activate the trigger rename it back to "-" and that's all.&lt;br /&gt;&lt;br /&gt;Have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4993948322028130507?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4993948322028130507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4993948322028130507&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4993948322028130507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4993948322028130507'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/06/disabling-trigger.html' title='Disabling a Trigger'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lwLEB0H9sdo/SkhfjwwFQNI/AAAAAAAABEE/nk4wttjH1zI/s72-c/Disabling_Trigger_1.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5918660990607498101</id><published>2009-06-18T12:30:00.003+02:00</published><updated>2009-07-03T14:36:24.731+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>AdSense test finished</title><content type='html'>These two weeks with Googles AdSense were very interesting. You see each day your income in thousands of dollars (oh, I mean cents... and not thousands :-) ) and there are many tools to show up reports, when somewhere clicked on the Ads, and so on...&lt;br /&gt;&lt;br /&gt;But, as I said, this is only a short test for myself and from now on the blog is Ads-Free, as before :-) &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lwLEB0H9sdo/SjoYnn27ZMI/AAAAAAAABDk/G48GzS193RA/s1600-h/090604_Blog_Monetize_cancelled.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 122px;" src="http://2.bp.blogspot.com/_lwLEB0H9sdo/SjoYnn27ZMI/AAAAAAAABDk/G48GzS193RA/s400/090604_Blog_Monetize_cancelled.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5348614576449217730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5918660990607498101?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5918660990607498101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5918660990607498101&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5918660990607498101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5918660990607498101'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/06/adsense-test-finished.html' title='AdSense test finished'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_lwLEB0H9sdo/SjoYnn27ZMI/AAAAAAAABDk/G48GzS193RA/s72-c/090604_Blog_Monetize_cancelled.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5195869261647778895</id><published>2009-06-04T09:46:00.004+02:00</published><updated>2009-07-03T14:36:24.732+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>AdSense in my blog (only for a short time)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lwLEB0H9sdo/Sid-jaoxBXI/AAAAAAAABDc/4tgGdOjvTnM/s1600-h/090604_Blog_Monetize.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 122px;" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/Sid-jaoxBXI/AAAAAAAABDc/4tgGdOjvTnM/s400/090604_Blog_Monetize.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5343378629809210738" /&gt;&lt;/a&gt;&lt;br /&gt;Today I found a new tab on the blogger-UI of this google-blog. It's named "Monetize" and so they want, that all the bloggers think, they get rich, when they start Google's AdSense program. I know, that I not get rich, because I didn't have 2 million clicks the day :-)&lt;br /&gt;&lt;br /&gt;But I start this AdSense for a while to get infos about this technique and how Google implemented the Ads into the blogs.&lt;br /&gt;&lt;br /&gt;Please don't think, that I want to nerve you. My blog will go on and after the test I give you a little feedback, how this Ads work and how they have impact on the user-frequency.&lt;br /&gt;&lt;br /&gt;Let's start the test!&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5195869261647778895?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5195869261647778895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5195869261647778895&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5195869261647778895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5195869261647778895'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/06/adsense-in-my-blog-only-for-short-time.html' title='AdSense in my blog (only for a short time)'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_lwLEB0H9sdo/Sid-jaoxBXI/AAAAAAAABDc/4tgGdOjvTnM/s72-c/090604_Blog_Monetize.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3857973728379015752</id><published>2009-05-29T15:55:00.003+02:00</published><updated>2009-07-03T14:36:24.732+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>And the winners are:</title><content type='html'>In adaption of &lt;a href="http://groundside.com/blog/GrantRonald.php?title=and_the_winner_of_the_best_forms_pjc_is&amp;amp;more=1&amp;amp;c=1&amp;amp;tb=1&amp;amp;pb=1"&gt;Grants Posting&lt;/a&gt; I copy here a list of the 5 best Oracle Forms Java Beans of the April 2009 Contest:&lt;br /&gt;&lt;br /&gt;18,8% Md. Mehbub Islam: &lt;a href="http://www.screentoaster.com/watch/stU0tXQUVIR1paRVtZXF5fUldW/multi_purpose_scanner_bean_part_1"&gt;Scanner Bean&lt;/a&gt;&lt;br /&gt;17,5% Hafed Benteftifa: &lt;a href="http://www.screentoaster.com/watch/stU0pcQEdIR1paRFxdWFhbVFFR/frite_the_html_editor_for_oracle_forms"&gt;FRITE (Forms Rich Text HTML Editor)&lt;/a&gt;&lt;br /&gt;17,5% Vijaynath Nair: &lt;a href="http://sheikyerbouti.developpez.com/forms-pjc-bean/FormsJavaBeanContest/Vijay.swf"&gt;Autocad Integration Bean&lt;/a&gt;&lt;br /&gt;16,2% Francois Degrelle: &lt;a href="http://www.screentoaster.com/watch/stUExVREFIR1pbSFRUX1JdUlFd/carousel_bean"&gt;Carousel Bean&lt;/a&gt;&lt;br /&gt;16,2% Lionel Lasserre: &lt;a href="http://www.screentoaster.com/watch/stUENTRU1IR1pbSF1eXFlYU1NR/dynitems_forms"&gt;Planning Bean&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lwLEB0H9sdo/Sh_vjRdfqfI/AAAAAAAABDU/Rx3d-Nf9NyI/s1600-h/090529_Java_Bean_Contest.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 322px;" src="http://2.bp.blogspot.com/_lwLEB0H9sdo/Sh_vjRdfqfI/AAAAAAAABDU/Rx3d-Nf9NyI/s400/090529_Java_Bean_Contest.JPG" alt="" id="BLOGGER_PHOTO_ID_5341251072346270194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If you have a minute then use this links and see the astonishing beans they have created.&lt;br /&gt;&lt;br /&gt;It's phantastic to see, that all of this run in Oracle Forms and much more. So you can modernize your application so easily and you have to integrate only some little Java Beans.&lt;br /&gt;&lt;br /&gt;Thanks to all of those, who attend at the contest&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3857973728379015752?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3857973728379015752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3857973728379015752&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3857973728379015752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3857973728379015752'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/05/and-winners-are.html' title='And the winners are:'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_lwLEB0H9sdo/Sh_vjRdfqfI/AAAAAAAABDU/Rx3d-Nf9NyI/s72-c/090529_Java_Bean_Contest.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2569494237324676302</id><published>2009-03-25T09:14:00.003+01:00</published><updated>2009-07-03T14:36:24.732+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Data Modeling White Paper</title><content type='html'>It looks like that the Oracle SQL Developer Data Modeling Tool can grow up to the new Oracle Designer.&lt;br /&gt;&lt;br /&gt;And here is a good overview for all of us who want to know more about the data-modeling-capacities &lt;a href="http://www.oracle.com/technology/products/database/sql_developer/pdf/sqldeveloperdatamodelingoverview.pdf"&gt;SQL Developer Overview&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2569494237324676302?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2569494237324676302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2569494237324676302&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2569494237324676302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2569494237324676302'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/03/data-modeling-white-paper.html' title='Data Modeling White Paper'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2425761312688498684</id><published>2009-02-27T09:25:00.008+01:00</published><updated>2009-07-03T14:35:57.542+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Filtering data through multiple rows</title><content type='html'>Lets say we have created a form on the table EMP and want to filter the data, so that only the Employees from Department 20 and 30 are displayed. The best UI for the user is a filter-block, where you see all departments and can mark them.&lt;br /&gt;&lt;br /&gt;In this filter we click on the checkboxes for department 20 and 30:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lwLEB0H9sdo/Saemp3ciRcI/AAAAAAAAA8s/dPmCeaCYyA0/s1600-h/doag_news_q2_2009_1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 366px; height: 396px;" src="http://3.bp.blogspot.com/_lwLEB0H9sdo/Saemp3ciRcI/AAAAAAAAA8s/dPmCeaCYyA0/s400/doag_news_q2_2009_1.JPG" alt="" id="BLOGGER_PHOTO_ID_5307393924067902914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The button &lt;span style="font-weight:bold;"&gt;Query data&lt;/span&gt; (Abfrage starten) starts a query on the emp-block.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lwLEB0H9sdo/SaemwBudMzI/AAAAAAAAA80/awfzLZL39xI/s1600-h/doag_news_q2_2009_2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 276px; height: 400px;" src="http://3.bp.blogspot.com/_lwLEB0H9sdo/SaemwBudMzI/AAAAAAAAA80/awfzLZL39xI/s400/doag_news_q2_2009_2.JPG" alt="" id="BLOGGER_PHOTO_ID_5307394029906637618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What do we need for this technique?&lt;br /&gt;&lt;br /&gt;-) A CONTROL-block with an item TI_Filter_String (char, 2000)&lt;br /&gt;-) A checkbox CB_Filter in the DEPT-block (numeric, 0-unchecked, 1-checked)&lt;br /&gt;&lt;br /&gt;The button, which starts the query, needs a WHEN-BUTTON-PRESSED:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;:Control.TI_Filter_String := ';';&lt;br /&gt;go_block ('DEPT');&lt;br /&gt;first_record;&lt;br /&gt;LOOP&lt;br /&gt;  IF :DEPT.CB_Filter = 1 THEN&lt;br /&gt;    :Control.TI_Filter_String := :Control.TI_Filter_String || :DEPT.DEPTNO || ';';&lt;br /&gt;  END IF;&lt;br /&gt;  IF :SYSTEM.LAST_RECORD = 'TRUE' THEN &lt;br /&gt;    EXIT;&lt;br /&gt;  ELSE&lt;br /&gt;    Next_Record;&lt;br /&gt;  END IF;&lt;br /&gt;END LOOP;&lt;br /&gt;go_block ('EMP');&lt;br /&gt;execute_query;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The EMP-block needs this default-where:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;:Control.TI_Filter_String LIKE '%;' || DEPTNO || ';%'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The trick is, that each deptno from the filter-string can be found using the &lt;span style="font-weight:bold;"&gt;LIKE %;...;% - technique&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lwLEB0H9sdo/Saez6L4KcXI/AAAAAAAAA88/ORUZuDHwZbk/s1600-h/doag_news_q2_2009.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 105px;" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/Saez6L4KcXI/AAAAAAAAA88/ORUZuDHwZbk/s400/doag_news_q2_2009.JPG" alt="" id="BLOGGER_PHOTO_ID_5307408498081558898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Have fun with this little trick!&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2425761312688498684?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2425761312688498684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2425761312688498684&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2425761312688498684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2425761312688498684'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/02/filtering-data-through-multiple-rows.html' title='Filtering data through multiple rows'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lwLEB0H9sdo/Saemp3ciRcI/AAAAAAAAA8s/dPmCeaCYyA0/s72-c/doag_news_q2_2009_1.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-266838811282858010</id><published>2009-01-19T09:22:00.012+01:00</published><updated>2009-07-03T14:35:57.542+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Forms Function Numbers</title><content type='html'>Editing the fmrweb.res to assign hotkeys to Forms Functions is not that easy. The syntax is described inside the file and there are no problems with the parameters JFN, JMN, URKS and URFD. But what IDs are used for FFN ?&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#    JFN : JMN : URKS : FFN : URFD   (whitespace ignored)&lt;br /&gt;#&lt;br /&gt;#      JFN = Java function number&lt;br /&gt;#      JMN = Java modifiers number&lt;br /&gt;#     URKS = User-readable key sequence (double-quoted)&lt;br /&gt;#      FFN = Forms function number&lt;br /&gt;#     URFD = User-readable function description (double-quoted)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Here it the complete list:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  FFN Description&lt;br /&gt;-----+---------------&lt;br /&gt;    1 Next Field&lt;br /&gt;    2 Previous Field&lt;br /&gt;    3 Clear Field&lt;br /&gt;    4 Left Arrow&lt;br /&gt;    5 Right Arrow&lt;br /&gt;    6 Up Arrow&lt;br /&gt;    7 Down Arrow&lt;br /&gt;    8 Goto Beginning of Line&lt;br /&gt;    9 Goto End of Line&lt;br /&gt;   10 Goto Extreme Vertical Up&lt;br /&gt;   11 Goto Extreme Vertical Down&lt;br /&gt;   12 Scroll Up&lt;br /&gt;   13 Scroll Down&lt;br /&gt;   14 Scroll Left&lt;br /&gt;   15 Scroll Right&lt;br /&gt;   16 Delete Character Left&lt;br /&gt;   17 Delete Character Right&lt;br /&gt;   18 Delete Line&lt;br /&gt;   19 Move Cursor Left&lt;br /&gt;   20 Move Cursor Right&lt;br /&gt;   21 Scroll-Up&lt;br /&gt;   22 Invoke Editor for Field&lt;br /&gt;   23 Delete Character  ??&lt;br /&gt;/  23 Insert Line       ??&lt;br /&gt;   24 Search&lt;br /&gt;   25 Toggle Insert/Replace Mode&lt;br /&gt;   26 Select Item&lt;br /&gt;   27 Return&lt;br /&gt;   28 Invoke Menu&lt;br /&gt;   29 List of Values&lt;br /&gt;   30 Help&lt;br /&gt;   31 Redraw Screen&lt;br /&gt;   32 Exit&lt;br /&gt;   35 Show Keys&lt;br /&gt;   36 Accept&lt;br /&gt;   61 Next Primary Key&lt;br /&gt;   62 Clear Record&lt;br /&gt;   63 Delete Record&lt;br /&gt;   64 Duplicate Record&lt;br /&gt;   65 Insert Record&lt;br /&gt;   66 Next Set&lt;br /&gt;   67 Next Record&lt;br /&gt;   68 Previous Record&lt;br /&gt;   69 Clear Block&lt;br /&gt;   70 Block Menu&lt;br /&gt;   71 Next Block&lt;br /&gt;   72 Previous Block&lt;br /&gt;   73 Duplicate Field&lt;br /&gt;   74 Clear Form&lt;br /&gt;   75 Enter&lt;br /&gt;   76 Enter Query&lt;br /&gt;   77 Execute Query&lt;br /&gt;   78 Display Error&lt;br /&gt;   79 Print&lt;br /&gt;   80 Count Query&lt;br /&gt;   81 Update Record&lt;br /&gt;   82 User Defined Key 0&lt;br /&gt;   83 User Defined Key 1&lt;br /&gt;   84 User Defined Key 2&lt;br /&gt;   85 User Defined Key 3&lt;br /&gt;   86 User Defined Key 4&lt;br /&gt;   87 User Defined Key 5&lt;br /&gt;   88 User Defined Key 6&lt;br /&gt;   89 User Defined Key 7&lt;br /&gt;   90 User Defined Key 8&lt;br /&gt;   91 User Defined Key 9&lt;br /&gt;   92 Clear Eol&lt;br /&gt;   95 List Tab Pages&lt;br /&gt;11022 Accelerator Key 1&lt;br /&gt;11023 Accelerator Key 2&lt;br /&gt;11024 Accelerator Key 3&lt;br /&gt;11025 Accelerator Key 4&lt;br /&gt;11026 Accelerator Key 5&lt;br /&gt;11027 Accelerator Key 6&lt;br /&gt;11028 Accelerator Key 7&lt;br /&gt;11029 Accelerator Key 8&lt;br /&gt;11030 Accelerator Key 9&lt;br /&gt;11031 Accelerator Key 10&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Have fun with the Forms Function Numbers !&lt;br /&gt;I'll check as soon as possible, why the Nr. 23 is duplicated in the notes from Oracle...&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-266838811282858010?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/266838811282858010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=266838811282858010&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/266838811282858010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/266838811282858010'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2009/01/forms-function-numbers.html' title='Forms Function Numbers'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3003418171561773541</id><published>2008-12-17T10:25:00.004+01:00</published><updated>2008-12-17T10:57:51.947+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Tab-Canvases and F2</title><content type='html'>I just found an interesting undocumented feature:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lwLEB0H9sdo/SUjFn_zkDqI/AAAAAAAAA7w/dVkGsqs5nkA/s1600-h/Tabpage_Feature_1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 377px;" src="http://2.bp.blogspot.com/_lwLEB0H9sdo/SUjFn_zkDqI/AAAAAAAAA7w/dVkGsqs5nkA/s400/Tabpage_Feature_1.JPG" alt="" id="BLOGGER_PHOTO_ID_5280687854025182882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;While the cursor is inside a tab-canvas you can press F2&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lwLEB0H9sdo/SUjG4h4l5tI/AAAAAAAAA8A/wmNd6OF5th8/s1600-h/Tabpage_Feature_3.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 319px; height: 374px;" src="http://2.bp.blogspot.com/_lwLEB0H9sdo/SUjG4h4l5tI/AAAAAAAAA8A/wmNd6OF5th8/s400/Tabpage_Feature_3.JPG" alt="" id="BLOGGER_PHOTO_ID_5280689237562615506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then you see a little list-item in the upper-right corner of the tab-canvas. There you can move up, down and press Enter or Return.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_lwLEB0H9sdo/SUjFycJ2iGI/AAAAAAAAA74/9R9sgQnMsAg/s1600-h/Tabpage_Feature_2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 377px;" src="http://2.bp.blogspot.com/_lwLEB0H9sdo/SUjFycJ2iGI/AAAAAAAAA74/9R9sgQnMsAg/s400/Tabpage_Feature_2.JPG" alt="" id="BLOGGER_PHOTO_ID_5280688033433552994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This starts the WHEN-TAB-PAGE-CHANGED-trigger. Here you can do whatever you want. For example a navigation to a block and starting a query.&lt;br /&gt;&lt;br /&gt;Have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3003418171561773541?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3003418171561773541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3003418171561773541&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3003418171561773541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3003418171561773541'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/12/tab-canvases-and-f2.html' title='Tab-Canvases and F2'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_lwLEB0H9sdo/SUjFn_zkDqI/AAAAAAAAA7w/dVkGsqs5nkA/s72-c/Tabpage_Feature_1.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1986277770590039155</id><published>2008-11-20T09:47:00.005+01:00</published><updated>2008-12-17T10:58:40.261+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New Statement of Direction, October 2008</title><content type='html'>This is the new &lt;a href="http://www.oracle.com/technology/products/forms/pdf/10g/ToolsSOD.pdf"&gt;Statement of Direction&lt;/a&gt; from October 2008. (&lt;a href="http://talk2gerd.blogspot.com/2008/08/new-statement-of-direction-july-2008.html"&gt;Link&lt;/a&gt; to my last SoD-Post)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lwLEB0H9sdo/SSUlZGq8EhI/AAAAAAAAAyc/X2pxsgfUCk8/s1600-h/sod_2008_10.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 230px;" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/SSUlZGq8EhI/AAAAAAAAAyc/X2pxsgfUCk8/s400/sod_2008_10.JPG" alt="" id="BLOGGER_PHOTO_ID_5270660052124701202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What's different?&lt;br /&gt;&lt;br /&gt;The graphical timeline is erased in the document. And nothing else has changed!&lt;br /&gt;&lt;br /&gt;Here are some links to older Statement of Directions:&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2008_07.pdf"&gt;SoD 2008 / 07&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2007_11.pdf"&gt;SoD 2007 / 11&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2005_09.pdf"&gt;SoD 2005 / 09&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2005_05.pdf"&gt;SoD 2005 / 05&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2005_03.pdf"&gt;SoD 2005 / 03&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forms-framework.googlecode.com/files/SoD_Forms_2004_06.pdf"&gt;SoD 2004 / 06&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1986277770590039155?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1986277770590039155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1986277770590039155&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1986277770590039155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1986277770590039155'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/11/new-statement-of-direction-october-2008.html' title='New Statement of Direction, October 2008'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_lwLEB0H9sdo/SSUlZGq8EhI/AAAAAAAAAyc/X2pxsgfUCk8/s72-c/sod_2008_10.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2647125481763319958</id><published>2008-10-16T13:51:00.013+02:00</published><updated>2008-12-17T10:58:40.261+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>SQL Developer Data Modeling</title><content type='html'>Here are the first screenshots of the new data modeling tool, called Oracle SQL Developer Data Modeling (OSDM), which is part of the SQL Developer:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_lwLEB0H9sdo/SPcroRC5JCI/AAAAAAAAAxc/7rTnogFVanA/s1600-h/osdm_startup.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_lwLEB0H9sdo/SPcroRC5JCI/AAAAAAAAAxc/7rTnogFVanA/s400/osdm_startup.JPG" alt="" id="BLOGGER_PHOTO_ID_5257719060748641314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;First of all I tested the capability of a table capture. Few clicks and he grabbed my datamodell and placed it in the relational-section of the OSDM.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lwLEB0H9sdo/SPcwqaPAizI/AAAAAAAAAx0/5RXGBO6rMuQ/s1600-h/osdm_relational_model.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_lwLEB0H9sdo/SPcwqaPAizI/AAAAAAAAAx0/5RXGBO6rMuQ/s400/osdm_relational_model.JPG" alt="" id="BLOGGER_PHOTO_ID_5257724595133254450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then you can "Engineer to Logical Model": After that you have an ER-Model:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_lwLEB0H9sdo/SPcwtvqpRsI/AAAAAAAAAx8/nT_pnqCvISE/s1600-h/osdm_logical_model.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_lwLEB0H9sdo/SPcwtvqpRsI/AAAAAAAAAx8/nT_pnqCvISE/s400/osdm_logical_model.JPG" alt="" id="BLOGGER_PHOTO_ID_5257724652425922242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here is the link to the download-area on OTN: &lt;a href="http://www.oracle.com/technology/products/database/sql_developer/files/Modeling.html"&gt;Oracle SQL Developer Data Modeling&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll test more in the next days and write down the next experiences&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2647125481763319958?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2647125481763319958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2647125481763319958&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2647125481763319958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2647125481763319958'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/10/sql-developer-data-modeling.html' title='SQL Developer Data Modeling'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_lwLEB0H9sdo/SPcroRC5JCI/AAAAAAAAAxc/7rTnogFVanA/s72-c/osdm_startup.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3241633002917865072</id><published>2008-10-15T09:47:00.004+02:00</published><updated>2008-10-15T10:45:44.827+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Views based on Year, Month and Day</title><content type='html'>While developing applications I need often list-of-values, which have a result-set of years, months or days.&lt;br /&gt;&lt;br /&gt;You can hard-code those selects each time in each form, but much more elegant is to create views, which do the whole work. &lt;br /&gt;&lt;br /&gt;Here are 3 views for years, months and days:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CREATE OR REPLACE FORCE VIEW YEARS_V &lt;br /&gt;  (YDATE) AS&lt;br /&gt;SELECT add_months (trunc (sysdate, 'YYYY'), 12 * (50 - Level))&lt;br /&gt;  FROM Dual&lt;br /&gt;CONNECT BY Level &lt;= 100;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE FORCE VIEW MONTHS_V &lt;br /&gt;  (MDATE) AS &lt;br /&gt;SELECT add_months (trunc (sysdate, 'MM'), 500 - Level)&lt;br /&gt;  FROM Dual&lt;br /&gt;CONNECT BY Level &lt;= 1000;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE FORCE VIEW DAYS_V &lt;br /&gt;  (DDATE) AS &lt;br /&gt;SELECT trunc (sysdate) + 15000 - Level&lt;br /&gt;  FROM Dual&lt;br /&gt;CONNECT BY Level &lt;= 30000;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Those Views helps us to Select Data for the&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;- actual year  +/- 50 years&lt;br /&gt;- actual month +/- 500 months&lt;br /&gt;- actual day   +/- 15000 days&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In a Record-Group you can use those views:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;LOV of the next 10 years&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SELECT YDATE&lt;br /&gt;  FROM Years_V&lt;br /&gt; WHERE YDATE BETWEEN trunc (sysdate, 'YYYY') &lt;br /&gt;             AND add_months (trunc (sysdate, 'YYYY'), 10*12);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;LOV of the last 30 and the next 10 days&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SELECT DDATE&lt;br /&gt;  FROM Days_V&lt;br /&gt; WHERE DDATE BETWEEN trunc (sysdate-30) AND trunc (sysdate+10);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Try it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3241633002917865072?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3241633002917865072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3241633002917865072&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3241633002917865072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3241633002917865072'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/10/view-based-on-year-month-or-day.html' title='Views based on Year, Month and Day'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1405201819030754237</id><published>2008-09-26T15:36:00.002+02:00</published><updated>2008-09-26T15:38:59.075+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>New Oracle Designer ? - part 2</title><content type='html'>I just found an interesting link to the first pictures of the new "Oracle Designer".&lt;br /&gt;&lt;br /&gt;The data modeling functions are implemented in the SQL Developer.&lt;br /&gt;&lt;br /&gt;Have fun reading Jared's post: &lt;a href="http://jkstill.blogspot.com/2008/09/data-modeling-with-sql-developer.html"&gt;Data modeling with SQL Developer&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1405201819030754237?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1405201819030754237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1405201819030754237&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1405201819030754237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1405201819030754237'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/09/new-oracle-designer-part-2.html' title='New Oracle Designer ? - part 2'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4615538129142287201</id><published>2008-08-05T12:35:00.011+02:00</published><updated>2008-09-16T14:04:13.804+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New Statement of Direction, July 2008</title><content type='html'>Oracle announced this &lt;a href="http://www.oracle.com/technology/products/forms/pdf/10g/ToolsSOD.pdf"&gt;Statement of Direction&lt;/a&gt; some days ago.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lwLEB0H9sdo/SJhDY8n9-KI/AAAAAAAAAw0/bkXIevDWyz4/s1600-h/sod_2008.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_lwLEB0H9sdo/SJhDY8n9-KI/AAAAAAAAAw0/bkXIevDWyz4/s400/sod_2008.JPG" alt="" id="BLOGGER_PHOTO_ID_5231005063060519074" border="0" /&gt;&lt;/a&gt;What's new ?&lt;br /&gt;&lt;br /&gt;1) A link to the &lt;a href="http://www.oracle.com/support/library/data-sheet/oracle-lifetime-support-policy-datasheet.pdf"&gt;Oracle lifetime-support&lt;/a&gt; whitepaper. There is a redirect to this &lt;a href="http://www.oracle.com/support/lifetime-support-policy.html"&gt;URL&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;2) And 4 years more support (minimum). In the &lt;a href="http://talk2gerd.blogspot.com/2007/12/new-statement-of-direction-nov-2007.html"&gt;last&lt;/a&gt; statement of direction 2013 was the minimum support-date. Now it is 2017!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_lwLEB0H9sdo/SJhEBedEN8I/AAAAAAAAAw8/nR3GFrHXGjw/s1600-h/sod_2008_2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_lwLEB0H9sdo/SJhEBedEN8I/AAAAAAAAAw8/nR3GFrHXGjw/s400/sod_2008_2.JPG" alt="" id="BLOGGER_PHOTO_ID_5231005759336363970" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4615538129142287201?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4615538129142287201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4615538129142287201&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4615538129142287201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4615538129142287201'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/08/new-statement-of-direction-july-2008.html' title='New Statement of Direction, July 2008'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_lwLEB0H9sdo/SJhDY8n9-KI/AAAAAAAAAw0/bkXIevDWyz4/s72-c/sod_2008.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5046430712800185137</id><published>2008-07-21T15:50:00.004+02:00</published><updated>2008-07-22T11:04:36.645+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Finding all Items in the layout-editor at once</title><content type='html'>To find all items, which are displayed in the layout editor at once in the Object Navigator, press Ctrl+A, for select All.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_lwLEB0H9sdo/SISWYCyZwlI/AAAAAAAAAwE/UPbeuisI7sg/s1600-h/T2G_Mark_All_1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_lwLEB0H9sdo/SISWYCyZwlI/AAAAAAAAAwE/UPbeuisI7sg/s400/T2G_Mark_All_1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5225466807465919058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After the Ctrl+A you have all Objects marked in the Tree:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lwLEB0H9sdo/SISWbiG6mUI/AAAAAAAAAwM/4yyrb06w6ZA/s1600-h/T2G_Mark_All_2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_lwLEB0H9sdo/SISWbiG6mUI/AAAAAAAAAwM/4yyrb06w6ZA/s400/T2G_Mark_All_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5225466867413064002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5046430712800185137?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5046430712800185137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5046430712800185137&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5046430712800185137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5046430712800185137'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/07/finding-all-items-in-layout-editor-at.html' title='Finding all Items in the layout-editor at once'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_lwLEB0H9sdo/SISWYCyZwlI/AAAAAAAAAwE/UPbeuisI7sg/s72-c/T2G_Mark_All_1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-904396631976823805</id><published>2008-07-02T16:47:00.004+02:00</published><updated>2008-07-18T15:15:46.913+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New Oracle Designer ?</title><content type='html'>I can't believe it...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/database/sql_developer/files/sqldeveloperstatementofdirection.htm"&gt;Oracle SQL-Developer&lt;/a&gt; is announcing modeling-support in an upcoming release.&lt;br /&gt;&lt;br /&gt;Here are the top features:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Database Data Modeling to support:&lt;br /&gt;&lt;br /&gt;    * Designing logical Entity Relation Diagrams&lt;br /&gt;    * Building physical schema designs&lt;br /&gt;    * Generating and executing DDL scripts&lt;br /&gt;    * Reverse and forward engineering of existing relational data structures&lt;br /&gt;    * Data domain administration&lt;br /&gt;    * Naming standardization&lt;br /&gt;    * Model formatting (font, colors)&lt;br /&gt;    * Importing data models from CA Erwin and Oracle Designer&lt;br /&gt;    * Compare and merge facilities&lt;br /&gt;    * Multiple database support&lt;br /&gt;          o Oracle Database&lt;br /&gt;          o DB2 (Mainframe &amp; UDB)&lt;br /&gt;          o Microsoft SQL Server&lt;br /&gt;    * Logical and physical multi-dimensional modeling&lt;br /&gt;    * Object relational Data Types&lt;br /&gt;    * Spatial Modeling&lt;br /&gt;    * Multi-level logical and physical design environments&lt;br /&gt;    * Model validation rules&lt;br /&gt;    * Offline (file based) and Repository based modeling&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;what a wonderful news. The old designer is not the best choice today, since it got the codefreeze years ago.&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-904396631976823805?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/904396631976823805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=904396631976823805&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/904396631976823805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/904396631976823805'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/07/new-oracle-designer.html' title='New Oracle Designer ?'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4282757906231628303</id><published>2008-07-01T13:23:00.007+02:00</published><updated>2008-07-02T07:56:32.201+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Talk2Gerd in a new Look</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img238.imageshack.us/img238/898/0509280192kd5.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://img238.imageshack.us/img238/898/0509280192kd5.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Those of you with sharp eyes can see the golden gate bridge to the left. I shot the picture Sept. 2005, Shorebird Park, Oakland.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4282757906231628303?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4282757906231628303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4282757906231628303&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4282757906231628303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4282757906231628303'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/07/talk2gerd-in-new-look.html' title='Talk2Gerd in a new Look'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3998459953412822495</id><published>2008-06-26T07:40:00.004+02:00</published><updated>2008-06-27T15:30:08.978+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Faster compilation in Forms Builder</title><content type='html'>You can speed up the time for a "Compile All", when you close all nodes in the Object Navigator, so that the form shows only the name of the form. Then you press Ctrl+Shift+K for Compile All.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lwLEB0H9sdo/SGNP5Bqt5OI/AAAAAAAAAtE/mmTxm-p6vEU/s1600-h/object_navigator.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_lwLEB0H9sdo/SGNP5Bqt5OI/AAAAAAAAAtE/mmTxm-p6vEU/s400/object_navigator.JPG" alt="" id="BLOGGER_PHOTO_ID_5216100634543908066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Compile-Times of a normal pl/sql-library with 70 program units&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;closed nodes :  2 sec&lt;br /&gt;open nodes   : 18 sec&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Compile-Times of a big pl/sql-library with 130 program units&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;closed nodes :  2 sec&lt;br /&gt;open nodes   : 34 sec&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Compile-Times of a medium form with 14 blocks&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;closed nodes :  3 sec&lt;br /&gt;open nodes   : 12 sec&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Compile-Times of a big form with 24 blocks and much sourcecode&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;closed nodes :  6 sec&lt;br /&gt;open nodes   : 37 sec&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_lwLEB0H9sdo/SGNOoCb6r6I/AAAAAAAAAsk/nj-j8ieJnxA/s1600-h/compile_time.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_lwLEB0H9sdo/SGNOoCb6r6I/AAAAAAAAAsk/nj-j8ieJnxA/s400/compile_time.JPG" alt="" id="BLOGGER_PHOTO_ID_5216099243180863394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With this little trick you can compile really fast !&lt;br /&gt;try it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3998459953412822495?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3998459953412822495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3998459953412822495&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3998459953412822495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3998459953412822495'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/06/faster-compilation-in-forms-builder.html' title='Faster compilation in Forms Builder'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_lwLEB0H9sdo/SGNP5Bqt5OI/AAAAAAAAAtE/mmTxm-p6vEU/s72-c/object_navigator.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3887545552656590431</id><published>2008-06-19T10:31:00.007+02:00</published><updated>2008-06-27T15:30:08.978+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Compile or Compile All ?</title><content type='html'>What is the best way to compile a form? Before I answer this question here are some explanations:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Compile Incremental      :         Ctrl + K&lt;br /&gt;Compile All              : Shift + Ctrl + K&lt;br /&gt;Compile Module (Generate):         Ctrl + T&lt;br /&gt;Run                      :         Ctrl + R&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In the older versions of Forms the Compile Module was known as Generate. I prefer this, because the Ctrl+T generates the FMX.&lt;br /&gt;&lt;br /&gt;During my daily work I open forms and maintain them. If I use the Ctrl+T to generate the FMX, then Oracle Forms starts implicitly a Compile Incremental before the Generate.&lt;br /&gt;&lt;br /&gt;And that's the problem. In 9 of 10 cases the generated FMX is OK, but sometimes the automatical Compile Incremental didn't work properly. It results in non-reproducable errors at runtime.&lt;br /&gt;&lt;br /&gt;My solution for this problem is:&lt;br /&gt;&lt;br /&gt;After opening a form I start immediately a &lt;span style="font-weight:bold;"&gt;Compile All&lt;/span&gt;. Each &lt;span style="font-weight:bold;"&gt;Incremental Compile&lt;/span&gt; and each &lt;span style="font-weight:bold;"&gt;Generate&lt;/span&gt; now works without runtime-problems.&lt;br /&gt;&lt;br /&gt;Try it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3887545552656590431?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3887545552656590431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3887545552656590431&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3887545552656590431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3887545552656590431'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/06/compile-or-compile-all.html' title='Compile or Compile All ?'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4486898668106039386</id><published>2008-06-05T12:00:00.016+02:00</published><updated>2008-06-05T15:41:36.946+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Forms Shutdown</title><content type='html'>In the article &lt;a href="http://talk2gerd.blogspot.com/2007/10/forms-startup-part-1.html"&gt;forms-startup&lt;/a&gt; I wrote last year how to hide the browser-window, while starting a forms-application. Another problem is: How can we close the browser-window after exiting the forms-application. Here is my favorite solution:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1)&lt;/span&gt; Create a new html-file e.g. &lt;span style="font-weight:bold;"&gt;close.html&lt;/span&gt; in your html-directory. This is the main routine, which closes the browser-window.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt; BODY onLoad="window.close();" &gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2)&lt;/span&gt; Set the formsweb.cfg parameter &lt;span style="font-weight:bold;"&gt;HTMLbeforeForm&lt;/span&gt; in the server-directory. This eliminates the security-question "Do you want to close the browser-window".&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;HTMLbeforeForm=&lt; SCRIPT LANGUAGE="JavaScript" &gt;window.opener = top;&lt; /SCRIPT &gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3)&lt;/span&gt; The form, which closes the main-application needs a &lt;span style="font-weight:bold;"&gt;POST-FORM-trigger&lt;/span&gt;. /forms/html is a virtual-directory, which points to the close.html.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;web.show_document ('/forms/html/close.html', '_self');&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Used directories:&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt; DevSuite-Home &gt;      : Your Developer-Suite Home Directory&lt;br /&gt;html-directory         : &lt; DevSuite-Home &gt;\tools\web\html&lt;br /&gt;server-directory       : &lt; DevSuite-Home &gt;\forms\server&lt;br /&gt;virtual-html-directory : /forms/html      defined in forms.conf&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Many thanks to &lt;a href="http://www.groundside.com/blog/content/DuncanMills/"&gt;Duncan Mills&lt;/a&gt;, &lt;a href="http://thepeninsulasedge.com/frank_nimphius/"&gt;Frank Nimphius&lt;/a&gt; and Richard Squires, who posted this code in the OTN years ago.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Pro)&lt;/span&gt; This technique works on IE 6 and IE 7, tested with JInitiator and Sun-Plugin. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Contra)&lt;/span&gt; No Firefox-Support. Since Firefox 2.0 it isn't allowed to close a window via JavaScript.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Important: &lt;/span&gt;The limitations of this blog forced me to write blanks after each "&lt;" and before each "&gt;". Don't write them, when you use this technique !&lt;br /&gt;&lt;br /&gt;have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4486898668106039386?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4486898668106039386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4486898668106039386&amp;isPopup=true' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4486898668106039386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4486898668106039386'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/06/forms-shutdown.html' title='Forms Shutdown'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-6654808046742778474</id><published>2008-06-03T10:29:00.013+02:00</published><updated>2008-06-05T15:12:20.466+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Sourcecode-Formatting in the OTN-Forum</title><content type='html'>Nearly each day I see unformatted code in the OTN-Forum. Why?&lt;br /&gt;&lt;br /&gt;The problem is, that many poster don't know, how to format sourcecodes. Example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/*&lt;br /&gt;|| Selecting the sum from all sub-order's&lt;br /&gt;*/&lt;br /&gt;if :control.sub_order_id is not null then&lt;br /&gt;select sum (value)&lt;br /&gt;into :control.sum&lt;br /&gt;from sum_orders&lt;br /&gt;where order_id in (select order_id &lt;br /&gt;from sub_orders &lt;br /&gt;where sub_order_id = :control.sub_order_id&lt;br /&gt;and sub_order_type = 'ONLINE');&lt;br /&gt;else&lt;br /&gt;:control.sum := 0;&lt;br /&gt;end if;&lt;br /&gt;/*&lt;br /&gt;|| now we use the sum in the ...&lt;br /&gt;*/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Who can read that? I love puzzling, but not in sourcecodes. How can we solve this problem?&lt;br /&gt;&lt;br /&gt;Use &lt;span style="font-weight:bold;"&gt;[pre]&lt;/span&gt; before your sourcecode and &lt;span style="font-weight:bold;"&gt;[/pre]&lt;/span&gt; after the sourcecode. Then it is readable like your original code:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[pre]&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;if :control.sub_order_id is not null then&lt;br /&gt;  select sum (value)&lt;br /&gt;    into :control.sum&lt;br /&gt;...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[/pre]&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and here is the solution of the above example after using the preformat-tags:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/*&lt;br /&gt;|| Selecting the sum from all sub-order's&lt;br /&gt;*/&lt;br /&gt;if :control.sub_order_id is not null then&lt;br /&gt;  select sum (value)&lt;br /&gt;    into :control.sum&lt;br /&gt;    from sum_orders&lt;br /&gt;   where order_id in (select order_id &lt;br /&gt;                        from sub_orders &lt;br /&gt;                       where sub_order_id = :control.sub_order_id&lt;br /&gt;                         and sub_order_type = 'ONLINE');&lt;br /&gt;else&lt;br /&gt;  :control.sum := 0;&lt;br /&gt;end if;&lt;br /&gt;/*&lt;br /&gt;|| now we use the sum in the ...&lt;br /&gt;*/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This is readable code at it's best!&lt;br /&gt;&lt;br /&gt;Try it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6654808046742778474?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6654808046742778474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6654808046742778474&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6654808046742778474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6654808046742778474'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/06/sourcecode-formatting-in-otn-forum.html' title='Sourcecode-Formatting in the OTN-Forum'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4941465781355938494</id><published>2008-06-02T12:00:00.005+02:00</published><updated>2008-06-02T16:30:01.811+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Open-Form and the Exit-Strategy (2)</title><content type='html'>Sometimes you use your source-codes since years and think - there is no easier, better and smarter way to do something, like the way in that piece of code.&lt;br /&gt;&lt;br /&gt;So here. After writing and testing my last post everything runs well!&lt;br /&gt;&lt;br /&gt;Today I refactored some parts of my exit-strategy code and created this much easier solution (normally this is not the goal of refactoring !):&lt;br /&gt;&lt;br /&gt;all you need is a &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;KEY-EXIT&lt;/span&gt; in the startform:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;COPY ('TRUE', 'GLOBAL.EXIT_IMMEDIATE');&lt;br /&gt;EXIT_FORM (no_validate);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and a &lt;span style="font-weight:bold;"&gt;WHEN-FORM-NAVIGATE&lt;/span&gt; in all other forms&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DEFAULT_VALUE ('FALSE', 'GLOBAL.EXIT_IMMEDIATE');&lt;br /&gt;IF :GLOBAL.EXIT_IMMEDIATE = 'TRUE' THEN&lt;br /&gt;  EXIT_FORM (no_validate);&lt;br /&gt;END IF;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now we have a chain reaction, when exiting the startform. Each closing form will let the focus jump to another open form. Then the WHEN-FORM-NAVIGATE triggers and closes this form too. Because the global variable was set to AUTOCLOSE = TRUE.&lt;br /&gt;&lt;br /&gt;After the last form the whole application is closed and that's the best way to close an entire application.&lt;br /&gt;&lt;br /&gt;If some of those forms started other forms through call_form, then you have to use the WHEN-WINDOW-ACTIVATED, because the WHEN-FORM-NAVIGATE won't trigger while getting the focus.&lt;br /&gt;&lt;br /&gt;Isn't that a really easy solution?&lt;br /&gt;Have fun with it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4941465781355938494?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4941465781355938494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4941465781355938494&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4941465781355938494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4941465781355938494'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/06/open-form-and-exit-strategy-2.html' title='Open-Form and the Exit-Strategy (2)'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-6251498844918661020</id><published>2008-05-26T12:00:00.010+02:00</published><updated>2008-06-02T13:31:59.260+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Open-Form needs an Exit-Form-Strategy</title><content type='html'>This article is for all of us, who work with OPEN_FORM instead of CALL_FORM.&lt;br /&gt;&lt;br /&gt;OPEN_FORM has benefits and problems. The user can easily switch between all open forms, but when he closes one of the forms, he only closes the current form.&lt;br /&gt;&lt;br /&gt;Solution: Normally all applications have a startform, from where all other forms were opened. When the user is in this form and he presses exit-form, then he wants to close the whole application and not only the startform. In this case we need a method, which loops through all open forms and closes them.&lt;br /&gt;&lt;br /&gt;Finding all open forms is a hard job. So, the best way is to store all of them in a global list named GLOBAL.OPEN_FORMS. Values are separated by semicolons, like: ;STARTFORM;EMP;DEPT;&lt;br /&gt;&lt;br /&gt;We need a PRE-FORM and a POST-FORM-trigger for all forms, except the startform. The Pre-Form appends the name of the current form to the list, the Post-Form erases an entry.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PRE-FORM :&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DEFAULT_VALUE (';', 'GLOBAL.OPEN_FORMS');&lt;br /&gt;:GLOBAL.OPEN_FORMS := :GLOBAL.OPEN_FORMS || &lt;br /&gt;                      :SYSTEM.CURRENT_FORM || ';';&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;POST-FORM :&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;:GLOBAL.OPEN_FORMS := REPLACE (:GLOBAL.OPEN_FORMS, &lt;br /&gt;                               ';' || :SYSTEM.CURRENT_FORM || ';', &lt;br /&gt;                               ';');&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now we have the names of all open forms in a global list.&lt;br /&gt;&lt;br /&gt;The KEY-EXIT trigger in the startform needs a loop, which closes all other forms and at then startform.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;KEY-EXIT&lt;/span&gt; in &lt;span style="font-weight:bold;"&gt;startform :&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  V_Form         VARCHAR2 (30);&lt;br /&gt;BEGIN   &lt;br /&gt;  One_Time_Timer.Initialize ('EXIT_STARTFORM');&lt;br /&gt;  DEFAULT_VALUE (';', 'GLOBAL.OPEN_FORMS');&lt;br /&gt;  WHILE :GLOBAL.OPEN_FORMS != ';'&lt;br /&gt;  LOOP&lt;br /&gt;    V_Form := Substr (:GLOBAL.OPEN_FORMS, &lt;br /&gt;                      2, &lt;br /&gt;                      InStr (:GLOBAL.OPEN_FORMS, ';', 1, 2) - 2);&lt;br /&gt;    COPY ('J', 'GLOBAL.EXIT_IMMEDIATE');&lt;br /&gt;    GO_FORM (V_Form);&lt;br /&gt;  END LOOP;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The &lt;span style="font-weight:bold;"&gt;startform&lt;/span&gt; is closed through &lt;span style="font-weight:bold;"&gt;WHEN-TIMER-EXPIRED :&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;IF One_Time_Timer.Get_Value = 'EXIT_STARTFORM' THEN&lt;br /&gt;  EXIT_FORM (no_validate);&lt;br /&gt;END IF;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;All &lt;span style="font-weight:bold;"&gt;other forms&lt;/span&gt; need a &lt;span style="font-weight:bold;"&gt;WHEN-FORM-NAVIGATE&lt;/span&gt; trigger:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DEFAULT_VALUE ('N', 'GLOBAL.EXIT_IMMEDIATE');&lt;br /&gt;IF :GLOBAL.EXIT_IMMEDIATE = 'J' THEN&lt;br /&gt;  EXIT_FORM (no_validate);&lt;br /&gt;END IF;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now you have a powerful autoclose-method for all opened forms.&lt;br /&gt;&lt;br /&gt;Have fun&lt;br /&gt;Gerd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Remember the &lt;a href="http://talk2gerd.blogspot.com/2007/01/one-time-timer.html"&gt;One-Time-Timer article&lt;/a&gt; or use this packages:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PACKAGE Const IS&lt;br /&gt;  gbl_One_Time_Timer CONSTANT VARCHAR2 (61) := &lt;br /&gt;    upper ('global.One_Time_Timer');&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;PACKAGE One_Time_Timer IS&lt;br /&gt;  FUNCTION Get_Value RETURN VARCHAR2;&lt;br /&gt;  PROCEDURE Initialize (P_Event IN VARCHAR2);&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;PACKAGE BODY One_Time_Timer IS&lt;br /&gt;  FUNCTION Get_Value RETURN VARCHAR2 IS&lt;br /&gt;  BEGIN&lt;br /&gt;    Default_Value (NULL, Const.gbl_One_Time_Timer);&lt;br /&gt;    RETURN (NAME_IN (Const.gbl_One_Time_Timer));&lt;br /&gt;  END;&lt;br /&gt;  &lt;br /&gt;  PROCEDURE Initialize (P_Event IN VARCHAR2) IS&lt;br /&gt;    tm_id   timer;&lt;br /&gt;    tm_name VARCHAR2 (30) := 'ONE_TIME_TIMER';&lt;br /&gt;  BEGIN&lt;br /&gt;    tm_id := Find_Timer (tm_name);&lt;br /&gt;    IF ID_Null (tm_id) THEN&lt;br /&gt;      tm_id := Create_Timer (tm_name, 10, NO_REPEAT);&lt;br /&gt;      COPY (p_Event, Const.gbl_One_Time_Timer);&lt;br /&gt;    END IF;&lt;br /&gt;  END;&lt;br /&gt;END One_Time_Timer;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6251498844918661020?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6251498844918661020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6251498844918661020&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6251498844918661020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6251498844918661020'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/05/open-form-needs-intelligent-exit-form.html' title='Open-Form needs an Exit-Form-Strategy'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5655126133038698715</id><published>2008-04-14T17:52:00.002+02:00</published><updated>2008-06-02T13:32:51.100+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Forms 11g - Poll</title><content type='html'>After writing the last posts about Forms 11g, I'm very interested in getting your opinion, which of this new features is so important, that you directly include it into your daily work.&lt;br /&gt;&lt;br /&gt;And: What other feature do you really need in the next patches and releases?&lt;br /&gt;&lt;br /&gt;Please write them as comments to this post.&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5655126133038698715?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5655126133038698715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5655126133038698715&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5655126133038698715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5655126133038698715'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/04/forms-11g-poll.html' title='Forms 11g - Poll'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-6512583200095612161</id><published>2008-03-26T12:00:00.000+01:00</published><updated>2008-03-26T14:38:59.049+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>Forms 11g new features: Javascript-API</title><content type='html'>Forms 11g allows the direct communication between the generic java-applet in the browser and the world around. The new JavaScript-API implements this functionality.&lt;br /&gt;&lt;br /&gt;In Forms 11g we have a new trigger, system-variables and built-ins for the communication with the JavaScript-API.&lt;br /&gt;&lt;br /&gt;The trigger &lt;span style="font-weight:bold;"&gt;WHEN-CUSTOM-JAVASCRIPT-EVENT&lt;/span&gt; fires each time, when JavaScript raises an event to forms. In the trigger we can use the payload which is stored in two system-variables. &lt;span style="font-weight:bold;"&gt;system.javascript_event_name&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;:system.javascript_event_value&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_lwLEB0H9sdo/R-pIE8U06fI/AAAAAAAAArM/W1-Z5NayL-k/s1600-h/Forms11g_Javascript_01.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_lwLEB0H9sdo/R-pIE8U06fI/AAAAAAAAArM/W1-Z5NayL-k/s400/Forms11g_Javascript_01.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5182033570993334770" /&gt;&lt;/a&gt;&lt;br /&gt;Informations, which were transfered from HTML to Forms, can be easily used:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lwLEB0H9sdo/R-pIPsU06gI/AAAAAAAAArU/TQiA0HiaBSw/s1600-h/Forms11g_Javascript_02.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_lwLEB0H9sdo/R-pIPsU06gI/AAAAAAAAArU/TQiA0HiaBSw/s400/Forms11g_Javascript_02.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5182033755676928514" /&gt;&lt;/a&gt;&lt;br /&gt;In this little example we transfer in the payload the event-name "NewForm" and in the event-value the name of a form. The data is transfered from the internet-page in this way::&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt; INPUT id="outside_field_id"&gt;&lt;br /&gt;&lt; SCRIPT&gt;&lt;br /&gt;  function set_field (field_id, myValue) {&lt;br /&gt;    document.getElementById(field_id).value=myValue;&lt;br /&gt;  };&lt;br /&gt;  function clickEvent1()&lt;br /&gt;  {&lt;br /&gt;    document.forms_applet.raiseEvent("NewForm", "payload");&lt;br /&gt;  }&lt;br /&gt;&lt; /SCRIPT&gt;&lt;br /&gt;&lt; INPUT id="button1" type="button" onClick="void clickEvent1();" value="NewForm"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Internally the method raiseEvent of the class forms_applet is used. The applet's name has to be assigned in the formsweb.cfg to the parameter applet_name.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;applet_name=forms_applet&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Forms can communicate bi-directional with the HTML. Therefore we can use the new built-ins web.javascript_eval_expr and web.javascript_eval_function.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; web.javascript_eval_expr&lt;br /&gt;    ('document.getElementById("outside_field_id").value="' ||&lt;br /&gt;     :control.ti_inside || '";');&lt;br /&gt;  web.javascript_eval_expr &lt;br /&gt;    ('set_field("outside_field_id", "' || :control.ti_inside&lt;br /&gt;     || '")');&lt;br /&gt;  :control.ti_get_value := web.javascript_eval_function&lt;br /&gt;    ('document.etElementById("outside_field_id").value');&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This example-code fills in the HTML-page a field named "outside_field_id" through the built-in web.javascript_eval_expr. Two techniques can be used. Direct Assignment or the call of a javascript-function, e.g. „set_field“. &lt;br /&gt;You can read field through web.javascript_eval_function. The returnvalue is the value of the corresponding field in the HTML, in this case "outside_field_id".&lt;br /&gt;&lt;br /&gt;This is another example of how important the new features in Forms 11g are. Now it's possible for forms to communicate with the world outside the browser's applet!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6512583200095612161?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6512583200095612161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6512583200095612161&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6512583200095612161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6512583200095612161'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2023/01/forms-11g-new-features-javascript-api.html' title='Forms 11g new features: Javascript-API'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_lwLEB0H9sdo/R-pIE8U06fI/AAAAAAAAArM/W1-Z5NayL-k/s72-c/Forms11g_Javascript_01.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3745774804658324958</id><published>2008-02-08T08:44:00.000+01:00</published><updated>2008-06-02T13:32:44.912+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>LOV with splitted data</title><content type='html'>I found an easy technique to visualize data in lov's like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_lwLEB0H9sdo/R6wO-4DXnqI/AAAAAAAAAqA/oHiuzk203_0/s1600-h/lov_splitted.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_lwLEB0H9sdo/R6wO-4DXnqI/AAAAAAAAAqA/oHiuzk203_0/s400/lov_splitted.JPG" alt="" id="BLOGGER_PHOTO_ID_5164519346048310946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Use multiple UNION ALL's to concatenate the data :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;select '---new colleagues---' ename, NULL job, NULL hiredate&lt;br /&gt; from dual&lt;br /&gt;UNION ALL&lt;br /&gt;select ename, job, to_char (hiredate, 'DD.MM.YYYY')&lt;br /&gt; from emp where hiredate &gt;= to_date ('01.07.1981', 'DD.MM.YYYY')&lt;br /&gt;UNION ALL&lt;br /&gt;select '---before 07/81---' ename, NULL job, NULL hiredate&lt;br /&gt; from dual&lt;br /&gt;UNION ALL&lt;br /&gt;select ename, job, to_char (hiredate, 'DD.MM.YYYY')&lt;br /&gt; from emp where hiredate &lt; to_date ('01.07.1981', 'DD.MM.YYYY')&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;have fun and use it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3745774804658324958?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3745774804658324958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3745774804658324958&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3745774804658324958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3745774804658324958'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/02/lov-with-splitted-data.html' title='LOV with splitted data'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_lwLEB0H9sdo/R6wO-4DXnqI/AAAAAAAAAqA/oHiuzk203_0/s72-c/lov_splitted.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1356235119481486909</id><published>2008-01-11T13:16:00.000+01:00</published><updated>2008-01-11T13:30:24.079+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Hotkey F1 in Forms 10g</title><content type='html'>Since Forms 10g we have problems with F1. He doesn't work like in the older versions.&lt;br /&gt;&lt;br /&gt;The Key-Mapping for KEY-HELP e.g. is now Ctrl+H instead of the good old F1.&lt;br /&gt;&lt;br /&gt;If you want to have it work like in Forms 6i, then you can change the fmrweb.res:&lt;br /&gt;&lt;br /&gt;The internal ID of F1 is 112, the ID of KEY-HELP-Trigger is 30:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;...&lt;br /&gt;113  : 0 : "F2"             : 95 : "List Tab Pages"&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;112  : 0 : "F1"             : 30 : "Help"&lt;/span&gt;&lt;br /&gt;72   : 2 : "Ctrl+H"         : 30 : "Help"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1356235119481486909?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1356235119481486909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1356235119481486909&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1356235119481486909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1356235119481486909'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2008/01/hotkey-f1-in-forms-10g.html' title='Hotkey F1 in Forms 10g'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8377473237153537755</id><published>2007-12-13T14:20:00.000+01:00</published><updated>2007-12-13T15:51:43.218+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>The new german Talk2Gerd</title><content type='html'>Today I learned from &lt;a href="http://inside-apex.blogspot.com/"&gt;Patrick Wolf&lt;/a&gt;, how easy it is to duplicate a blog into another languages. This link here is now the german version of &lt;a href="http://talk2gerd-de.blogspot.com/"&gt;Talk2Gerd&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And last but not least, here is a picture of my &lt;a href="http://www.opitz-consulting.de/"&gt;company&lt;/a&gt; after snowfall... and we had a lot of snow in the last years:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_lwLEB0H9sdo/R2Ez7Id2pZI/AAAAAAAAAoA/ctxHVhQYZbE/s1600-h/oc_winter_50.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_lwLEB0H9sdo/R2Ez7Id2pZI/AAAAAAAAAoA/ctxHVhQYZbE/s400/oc_winter_50.JPG" alt="" id="BLOGGER_PHOTO_ID_5143449340411815314" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8377473237153537755?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8377473237153537755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8377473237153537755&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8377473237153537755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8377473237153537755'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/12/new-german-talk2gerd.html' title='The new german Talk2Gerd'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_lwLEB0H9sdo/R2Ez7Id2pZI/AAAAAAAAAoA/ctxHVhQYZbE/s72-c/oc_winter_50.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5173445168879283216</id><published>2007-12-12T12:59:00.000+01:00</published><updated>2007-12-13T14:06:57.699+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Libraries: PLL vs. PLX</title><content type='html'>One big problem while developing an application is the question: Should I use attached libraries as *.pll or *.plx?&lt;br /&gt;&lt;br /&gt;Let's have a look at some cases:&lt;br /&gt;&lt;br /&gt;A) You use pll+plx while developing the application. The Forms Builder uses the working directory C:\Forms and the FORMS_PATH has an additional path to the directory C:\Forms\Lib. The Sourcefiles have the name Lib.pll, the Menu.mmb and EMP.fmb.&lt;br /&gt;&lt;br /&gt;If there is a generated Lib.plx in c:\forms or c:\forms\lib, then this is the version, which will be used at runtime.&lt;br /&gt;&lt;br /&gt;This is the direction of how Forms searches for attached libraries:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1) If Lib.plx is in your working directory - take it&lt;br /&gt;2) If not found, search in the FORMS_PATH for Lib.plx&lt;br /&gt;3) If not found, search in the working directory for Lib.pll&lt;br /&gt;4) If not found, search in the FORMS_PATH for Lib.pll&lt;br /&gt;5) If the library can't be found - Forms raises an error&lt;br /&gt;&lt;br /&gt;This is identical to menu-mmx and forms-fmx&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_lwLEB0H9sdo/R1_XA__V2QI/AAAAAAAAAn4/cHQQ9AntJhw/s1600-h/Library_Path.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_lwLEB0H9sdo/R1_XA__V2QI/AAAAAAAAAn4/cHQQ9AntJhw/s400/Library_Path.JPG" alt="" id="BLOGGER_PHOTO_ID_5143065711657474306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If the plx in the local working directory is an older version than the pll, this will cause big problems while running the forms-application. Finding errors is very tricky, if the developer didn't look on the timestamps of the libraries.&lt;br /&gt;&lt;br /&gt;B) You use only pll's in your application.&lt;br /&gt;&lt;br /&gt;You have no problems while developing the application or at runtime. If a library in your working directory didn't exist, then the library can be found in the FORMS_PATH.&lt;br /&gt;&lt;br /&gt;Summary:&lt;br /&gt;&lt;br /&gt;I never use plx because I saw many projects run into the plx-trap. &lt;br /&gt;&lt;br /&gt;Many developer say: plx is faster, but I never had performance problems with the pll's. &lt;br /&gt;&lt;br /&gt;Other developer say: plx is only the compiled code, so nobody can steal my sourcecode or something valuable from within the code - in that case try this example:&lt;br /&gt;&lt;br /&gt;Create a library with a package and this variable:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PACKAGE Const IS&lt;br /&gt;  HiddenPW                     CONSTANT Varchar2 (100) := 'HiddenPW';&lt;br /&gt;END Const; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Generate the plx and open it in an editor. Search for "HiddenPW". You'll find the name of the variable and the string associated to the var. That's not secure in my eyes. Only the sourcecode is hidden. I think, that a pll on an Application Server is secure enough.&lt;br /&gt;&lt;br /&gt;If the application is standard software and not for free, then you must use the plx-technique and wrapped packages in the database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5173445168879283216?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5173445168879283216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5173445168879283216&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5173445168879283216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5173445168879283216'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/12/plsql-libraries-pll-vs-plx.html' title='Libraries: PLL vs. PLX'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_lwLEB0H9sdo/R1_XA__V2QI/AAAAAAAAAn4/cHQQ9AntJhw/s72-c/Library_Path.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-7709731203368917865</id><published>2007-12-11T14:55:00.000+01:00</published><updated>2007-12-14T10:04:11.377+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>DOAG Top News: Forms 11g</title><content type='html'>The German Oracle User Group (DOAG) has launched a little Forms 11g note from me as their actual &lt;a href="http://www.doag.de/"&gt;Top News&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I wrote some lines  about the new features of Forms 11g and the huge capabilities in the new SOA world of tomorrow. Here is the translation:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.doag.de/aktuell/topnews"&gt;Forms 11g unterwegs in Richtung SOA&lt;/a&gt; : Forms 11g's direction to SOA&lt;br /&gt;&lt;br /&gt;After 6 years is this the first Forms Version which integrates new features into the Forms Builder. The two new important features found are:&lt;br /&gt;&lt;br /&gt;The first one is the communication between the database and Forms via Advanced Queuing. There is a new object-typ called Event, who communicates with a queue. New data in a Queue starts an event-trigger, which runs in Forms.&lt;br /&gt;&lt;br /&gt;The second highlight is the Javascript-API. HTML-pages can exchange data with Forms via Javascript. In the old days you could do this only using java applets. With the new technique you have WHEN-CUSTOM-JAVASCRIPT-EVENT-trigger which can be used from the developer. The communication runs in both directions and it's possible to change data in the HTML-page through Forms via Javascript&lt;br /&gt;&lt;br /&gt;Those two new techniques are indications, that Oracle Forms is ready for the future. It is one of the main SOA-parts of the new Oracle Fusion Middleware 11g.&lt;br /&gt;&lt;br /&gt;Additional information to Forms 11g can be found in the &lt;a href="http://www.oracle.com/global/de/community/forms/index.html"&gt;German Forms Community&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks to DOAG&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-7709731203368917865?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/7709731203368917865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=7709731203368917865&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7709731203368917865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7709731203368917865'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/12/forms-11g-is-doag-top-news.html' title='DOAG Top News: Forms 11g'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-7872838640832514255</id><published>2007-12-01T12:00:00.001+01:00</published><updated>2008-08-05T13:58:13.771+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New Statement of Direction, Nov. 2007</title><content type='html'>This is the actual timeline for Oracle Forms&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lwLEB0H9sdo/SJg_da_3HnI/AAAAAAAAAws/OlTEtFHobpY/s1600-h/sod_2007.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_lwLEB0H9sdo/SJg_da_3HnI/AAAAAAAAAws/OlTEtFHobpY/s400/sod_2007.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5231000741886762610" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-7872838640832514255?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/7872838640832514255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=7872838640832514255&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7872838640832514255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7872838640832514255'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/12/new-statement-of-direction-nov-2007.html' title='New Statement of Direction, Nov. 2007'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_lwLEB0H9sdo/SJg_da_3HnI/AAAAAAAAAws/OlTEtFHobpY/s72-c/sod_2007.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-230784995055134638</id><published>2007-11-26T15:00:00.000+01:00</published><updated>2007-12-14T10:06:34.680+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Forms 11g new features: Events</title><content type='html'>My &lt;a href="http://www.doag.de/konferenz/doag/2007/"&gt;DOAG Conference 2007&lt;/a&gt; presentation was "Forms 11g: A look behind the scenes"&lt;br /&gt;&lt;br /&gt;The main two new features are: Advanced Queuing and Javascript-API. Today I explain the AQ-technique with Forms-Events.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Events - Interaction with Advanced Queuing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is the first big new change in Forms Builder since 6 years. We can create Events and assign them to queues. If someone inserts new data in this AQ, the appropriate new trigger WHEN-EVENT-RAISED starts.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_lwLEB0H9sdo/R16UVP_V2PI/AAAAAAAAAnw/CR5RvgYr6VA/s1600-h/f11_aq.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_lwLEB0H9sdo/R16UVP_V2PI/AAAAAAAAAnw/CR5RvgYr6VA/s400/f11_aq.JPG" alt="" id="BLOGGER_PHOTO_ID_5142710917294053618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Allowed Properties for Events&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Event Type        : &lt;span style="font-weight: bold;"&gt;Data Base&lt;/span&gt;, User Defined&lt;br /&gt;Subscription Name : &lt;span style="font-weight: bold;"&gt;AQ-Name&lt;/span&gt; (LOV)&lt;br /&gt;Scope             : &lt;span style="font-weight: bold;"&gt;Application&lt;/span&gt;, Form&lt;br /&gt;Auto Subscribe    : &lt;span style="font-weight: bold;"&gt;Yes&lt;/span&gt;, No&lt;br /&gt;Correlation ID    :&lt;br /&gt;View Mode         : &lt;span style="font-weight: bold;"&gt;Browse&lt;/span&gt;, Locked, Removed&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;formsweb.cfg&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;maxEventWait=1000&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The new parameter &lt;span style="font-weight: bold;"&gt;maxEventWait&lt;/span&gt; is important. The value is in milliseconds and means the intervall, in which the AQ's used by forms get refreshed against the database. Without this parameter the form refreshes only, if the user interacts with the runform.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Code-Snippet&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BEGIN&lt;br /&gt;:CONTROL.TI_Payload := get_event_object_property ('EV_Default', Event_Payload);&lt;br /&gt;IF upper (:CONTROL.TI_Payload) = 'ATTACH DEBUG' THEN&lt;br /&gt; DEBUG.Attach;&lt;br /&gt; ...&lt;br /&gt;END IF;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This example is a remote control for remote debugging. You can insert a command into the queue, which is assigned to the Event &lt;span style="font-weight: bold;"&gt;EV_DEFAULT&lt;/span&gt; and each time, when the payload has the value &lt;span style="font-weight: bold;"&gt;ATTACH DEBUG&lt;/span&gt; a debug-process starts in the forms runtime.&lt;br /&gt;&lt;br /&gt;In my &lt;a href="http://code.google.com/p/forms-framework/wiki/PresentationsSince1997"&gt;Download-Section&lt;/a&gt; is a link to my presentation (in german).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-230784995055134638?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/230784995055134638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=230784995055134638&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/230784995055134638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/230784995055134638'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/11/forms-11g-new-features-events.html' title='Forms 11g new features: Events'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_lwLEB0H9sdo/R16UVP_V2PI/AAAAAAAAAnw/CR5RvgYr6VA/s72-c/f11_aq.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8495595749123365325</id><published>2007-11-22T22:57:00.000+01:00</published><updated>2007-11-26T15:40:23.709+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>DOAG Conference 2007</title><content type='html'>Today was the last day of this years conference. The DOAG (German Oracle User Group) is now 20 years old and so we had some slots in the conference like "Oracle 5.0 New Features)&lt;br /&gt;&lt;br /&gt;That was a funny presentation from Dierk Lenz. He used his 20 years old slides and presented us all the new features from the database in 1988.&lt;br /&gt;&lt;br /&gt;In the presentation he started a vmWare with DOS 6.22 and SQL*Forms 2&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_lwLEB0H9sdo/R0X85Pv2hrI/AAAAAAAAAg0/xJAufTfah1Y/s1600-h/photo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_lwLEB0H9sdo/R0X85Pv2hrI/AAAAAAAAAg0/xJAufTfah1Y/s400/photo.jpg" alt="" id="BLOGGER_PHOTO_ID_5135789010495899314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this presentation we were nearly 200 people ! To have a look on the new Features of Oracle 5.0 :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8495595749123365325?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8495595749123365325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8495595749123365325&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8495595749123365325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8495595749123365325'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/11/doag-conference-2007.html' title='DOAG Conference 2007'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_lwLEB0H9sdo/R0X85Pv2hrI/AAAAAAAAAg0/xJAufTfah1Y/s72-c/photo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-6601957029081328283</id><published>2007-10-01T12:49:00.000+02:00</published><updated>2007-12-14T23:32:00.530+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Forms Startup (part 1)</title><content type='html'>This is the first article of a serial. Different methods of enhancing the Forms Startup-Phase are discussed here. In most projects I saw techniques, where the Browser-HTML were changed, so that the user cannot easily close the browser for example.&lt;br /&gt;&lt;br /&gt;My first example is from Francois Degrelle. He gave me the tip with a self-hiding Internet Explorer on Forms Startup. The only parameter which has to be changed is the HTMLbodyAttrs in the formsweb.cfg:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;HTMLbodyAttrs=onLoad='javascript:self.moveTo(2000,2000)'&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After the forms-application-startup the browser-window moves to the x,y-position 2000, 2000. This is far behind the normal range of the visible screen. And so the user thinks, that the Browser closed hisself. The icon in the taskbar is still available, but the Browser didn't went visible, when the user clicks on the task-symbol.&lt;br /&gt;&lt;br /&gt;pro:&lt;br /&gt;- the user thinks, that the browser hides hisself&lt;br /&gt;- only the forms-runtime window is visible (in separateFrame=True - mode)&lt;br /&gt;&lt;br /&gt;contra:&lt;br /&gt;- the active task of the browser is visible and can't be activated, only closed&lt;br /&gt;&lt;br /&gt;this is actually my favorite technique&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6601957029081328283?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6601957029081328283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6601957029081328283&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6601957029081328283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6601957029081328283'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/10/forms-startup-part-1.html' title='Forms Startup (part 1)'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-7213248471757771050</id><published>2007-09-17T17:46:00.000+02:00</published><updated>2007-09-19T15:28:29.852+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Bigger. taller. better :-)</title><content type='html'>I played a little bit with the Template-HTML and found better properties for my Blog.&lt;br /&gt;&lt;br /&gt;The old width for example was a bit problematic, because sourcecodes were often too long for the small size of the blog. Now I have 50% more space for my snippets :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-7213248471757771050?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/7213248471757771050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=7213248471757771050&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7213248471757771050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7213248471757771050'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/09/bigger-taller-better.html' title='Bigger. taller. better :-)'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3336646340237363085</id><published>2007-09-13T15:23:00.000+02:00</published><updated>2007-09-19T15:31:24.377+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Easy logging and debugging in Forms</title><content type='html'>Each forms-application needs a simple way to log errors and find them. This technique can be used also to debug Forms, Reports and pure PL/SQL.&lt;br /&gt;&lt;br /&gt;First create the table, sequence and view to store the logging-information:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CREATE TABLE Logging (&lt;br /&gt;  ID                         NUMBER(8,0) NOT NULL,&lt;br /&gt;  SESSION_ID                 NUMBER(8,0),&lt;br /&gt;  INSERT_DATE                DATE NOT NULL,&lt;br /&gt;  TEXT                       VARCHAR2(2000) NOT NULL);&lt;br /&gt;&lt;br /&gt;CREATE SEQUENCE Logging_SEQ;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE VIEW V_Logging_desc &lt;br /&gt;         (ID, SESSION_ID, INSERT_DATE, TEXT)&lt;br /&gt;AS SELECT ID, SESSION_ID, INSERT_DATE, TEXT&lt;br /&gt;     FROM Logging&lt;br /&gt;ORDER BY SESSION_ID DESC, ID DESC;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You need also a package with some functions to start the logging-process&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;CREATE OR REPLACE PACKAGE PK_DEBUG IS&lt;br /&gt;  FUNCTION Debug_allowed RETURN BOOLEAN;&lt;br /&gt;  FUNCTION Next_ID       RETURN NUMBER;&lt;br /&gt;&lt;br /&gt;  PROCEDURE Disable;&lt;br /&gt;  PROCEDURE Enable;&lt;br /&gt;  PROCEDURE Destroy;&lt;br /&gt;  PROCEDURE Init  (P_Debug_allowed IN BOOLEAN DEFAULT TRUE);&lt;br /&gt;  PROCEDURE Write (P_Text IN VARCHAR2,&lt;br /&gt;                   P_Session_ID IN NUMBER DEFAULT NULL);&lt;br /&gt;&lt;br /&gt;  G_Debug_allowed BOOLEAN := TRUE;&lt;br /&gt;  G_Session_ID    NUMBER;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;CREATE OR REPLACE PACKAGE BODY PK_DEBUG IS&lt;br /&gt;FUNCTION Debug_allowed RETURN BOOLEAN IS&lt;br /&gt;BEGIN&lt;br /&gt;  RETURN (G_Debug_allowed);&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;FUNCTION Next_ID RETURN NUMBER IS&lt;br /&gt;  V_ID NUMBER;&lt;br /&gt;BEGIN&lt;br /&gt;  SELECT Logging_SEQ.nextval&lt;br /&gt;    INTO V_ID&lt;br /&gt;    FROM DUAL;&lt;br /&gt;  RETURN (V_ID);&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;PROCEDURE Disable IS&lt;br /&gt;BEGIN&lt;br /&gt;  G_Debug_allowed := FALSE;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;PROCEDURE Enable IS&lt;br /&gt;BEGIN&lt;br /&gt;  G_Debug_allowed := TRUE;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;PROCEDURE Destroy IS&lt;br /&gt;BEGIN&lt;br /&gt;  Write ('----------------------stopp '&lt;br /&gt;    || to_char (G_Session_ID) || '--');&lt;br /&gt;  G_Session_ID := NULL;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;PROCEDURE Init (&lt;br /&gt;  P_Debug_allowed IN BOOLEAN DEFAULT TRUE) IS&lt;br /&gt;BEGIN&lt;br /&gt;  G_Debug_allowed := P_Debug_allowed;&lt;br /&gt;  G_Session_ID := Next_ID;&lt;br /&gt;  Write ('--start ' || to_char (G_Session_ID)&lt;br /&gt;    || '----------------------');&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;PROCEDURE Write (&lt;br /&gt;  P_Text       IN VARCHAR2,&lt;br /&gt;  P_Session_ID IN NUMBER DEFAULT NULL) IS&lt;br /&gt;  PRAGMA AUTONOMOUS_TRANSACTION;&lt;br /&gt;BEGIN&lt;br /&gt;  IF Debug_allowed THEN&lt;br /&gt;    IF G_Session_ID IS NULL THEN&lt;br /&gt;      Init;&lt;br /&gt;    END IF;&lt;br /&gt;    INSERT INTO Logging (ID,&lt;br /&gt;      Session_ID, Insert_Date, Text)&lt;br /&gt;    VALUES (Next_ID,&lt;br /&gt;      NVL (P_Session_ID, G_Session_ID),&lt;br /&gt;      Sysdate, P_Text);&lt;br /&gt;    COMMIT;&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You start the debug with &lt;span style="font-weight:bold;"&gt;INIT&lt;/span&gt; and end it with &lt;span style="font-weight:bold;"&gt;DESTROY&lt;/span&gt;. Error-Messages are logged through &lt;span style="font-weight:bold;"&gt;WRITE&lt;/span&gt;. For example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;pk_Debug.Write ('Hello World - ' || V_Test);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Parts of your debugging can be deactivated with &lt;span style="font-weight:bold;"&gt;DISABLE&lt;/span&gt; and from this point on nothing will be written into the logging-table till &lt;span style="font-weight:bold;"&gt;ENABLE&lt;/span&gt; is called.&lt;br /&gt;&lt;br /&gt;The view &lt;span style="font-weight:bold;"&gt;V_Logging_desc&lt;/span&gt; shows you the logging-data, grouped by the newest session-id.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;ID Session Insert-Date     Text&lt;br /&gt;============================================&lt;br /&gt;24    21   10.09.-12:38:48 -------stopp 21--&lt;br /&gt;23    21   10.09.-12:38:48 Hello World - 42&lt;br /&gt;22    21   10.09.-12:38:48 --start 21-------&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Try it and have fun&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3336646340237363085?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3336646340237363085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3336646340237363085&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3336646340237363085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3336646340237363085'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/09/easy-logging-and-debugging-in-forms.html' title='Easy logging and debugging in Forms'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-7162916213814025645</id><published>2007-08-31T17:39:00.000+02:00</published><updated>2007-09-07T08:37:12.442+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>San Francisco Impressions</title><content type='html'>Here are some impressions from the city, shot in the days after the test-event&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_lwLEB0H9sdo/RthBYxMgAJI/AAAAAAAAAGc/BLLW5MZlA8w/s1600-h/SF.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_lwLEB0H9sdo/RthBYxMgAJI/AAAAAAAAAGc/BLLW5MZlA8w/s400/SF.JPG" alt="" id="BLOGGER_PHOTO_ID_5104902071402889362" border="0" /&gt;&lt;/a&gt;From Lombard Street to Coit Tower&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lwLEB0H9sdo/RthBJBMgAGI/AAAAAAAAAGE/M9kAAcsHFnA/s1600-h/17MilesDrive.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_lwLEB0H9sdo/RthBJBMgAGI/AAAAAAAAAGE/M9kAAcsHFnA/s400/17MilesDrive.JPG" alt="" id="BLOGGER_PHOTO_ID_5104901800819949666" border="0" /&gt;&lt;/a&gt;17 Miles Drive&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a dragover="true" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_lwLEB0H9sdo/RthBUxMgAII/AAAAAAAAAGU/48HY_lTXH64/s1600-h/MuirWoods.JPG"&gt;&lt;img dragover="true" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_lwLEB0H9sdo/RthBUxMgAII/AAAAAAAAAGU/48HY_lTXH64/s400/MuirWoods.JPG" alt="" id="BLOGGER_PHOTO_ID_5104902002683412610" border="0" /&gt;&lt;/a&gt;Muir Woods&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a dragover="true" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lwLEB0H9sdo/RthBPBMgAHI/AAAAAAAAAGM/rpA1GG9GEkw/s1600-h/SecondLife.JPG"&gt;&lt;img dragover="true" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_lwLEB0H9sdo/RthBPBMgAHI/AAAAAAAAAGM/rpA1GG9GEkw/s400/SecondLife.JPG" alt="" id="BLOGGER_PHOTO_ID_5104901903899164786" border="0" /&gt;&lt;/a&gt;Another proof: Second Life exists in reality and not in virtuality&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a dragover="true" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_lwLEB0H9sdo/RthBuBMgAKI/AAAAAAAAAGk/yt1jLaVqCns/s1600-h/StoneArt.JPG"&gt;&lt;img dragover="true" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_lwLEB0H9sdo/RthBuBMgAKI/AAAAAAAAAGk/yt1jLaVqCns/s400/StoneArt.JPG" alt="" id="BLOGGER_PHOTO_ID_5104902436475109538" border="0" /&gt;&lt;/a&gt;Stone Art in Sausalito&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_lwLEB0H9sdo/RthA4hMgAFI/AAAAAAAAAF8/HHyfzPivfZg/s1600-h/GG.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_lwLEB0H9sdo/RthA4hMgAFI/AAAAAAAAAF8/HHyfzPivfZg/s400/GG.JPG" alt="" id="BLOGGER_PHOTO_ID_5104901517352108114" border="0" /&gt;&lt;/a&gt;The Golden Gate&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-7162916213814025645?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/7162916213814025645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=7162916213814025645&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7162916213814025645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7162916213814025645'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/08/san-francisco-impressions.html' title='San Francisco Impressions'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_lwLEB0H9sdo/RthBYxMgAJI/AAAAAAAAAGc/BLLW5MZlA8w/s72-c/SF.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4396394137988417218</id><published>2007-08-24T19:00:00.000+02:00</published><updated>2007-08-30T18:10:35.784+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Oracle Fusion Middleware 11g Beta Test - Last Day</title><content type='html'>Today was the last Day of the Beta-Test. After the last testings started the big Feedback-Session in Oracle's Conference Center.&lt;br /&gt;&lt;br /&gt;All customers which tested this week and fifty Oracle experts came together, plus dozens through a Web-Conference. In the next 3 hours all products of the Fusion Middleware-Stack got feedback from us. The only tester for Oracle Forms (myself) gave this feedback to Oracle:&lt;br /&gt;&lt;br /&gt;First of all: Forms is a really big platform in germany and this Beta 2 program showed us in the last days the first Oracle Forms, which has new functionality in the Forms Builder itself.&lt;br /&gt;&lt;br /&gt;After that I described the new features and how important they are for the Forms Community.&lt;br /&gt;&lt;br /&gt;In the end I had time to explain, which functionality I personally wish to have in the Forms Builder :&lt;br /&gt;&lt;br /&gt;* an object called Web-Service at form-level&lt;br /&gt;* the integration of BI-Beans&lt;br /&gt;&lt;span dragover="true" style="font-weight: bold;"&gt;* and most important: a new PL/SQL-Editor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That was my statement and now I have to thank &lt;span style="font-weight:bold;"&gt;Oracle&lt;/span&gt; for the invitation to this event, &lt;span style="font-weight:bold;"&gt;Duncan&lt;/span&gt; and his group for the best support that you can have in such a week. It was fantastic to have the chance to work with such profis.&lt;br /&gt;&lt;br /&gt;And the last thanks went to &lt;span style="font-weight: bold;"&gt;Rolf&lt;/span&gt; (my boss) who sponsored this trip, &lt;span style="font-weight: bold;"&gt;Manuela&lt;/span&gt; (who let me go) and &lt;span style="font-weight: bold;"&gt;Andreas&lt;/span&gt;, who backup'd me for this week in Krefeld. Many many thanks to you !&lt;br /&gt;&lt;br /&gt;This must be the proof, that Duncan's career started in the NBA, before Oracle found him (I'm 6'7"):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_lwLEB0H9sdo/RtbmgBMgAEI/AAAAAAAAAF0/v0hhuJroxsg/s1600-h/DuncanMills.JPG"&gt;&lt;img dragover="true" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_lwLEB0H9sdo/RtbmgBMgAEI/AAAAAAAAAF0/v0hhuJroxsg/s400/DuncanMills.JPG" alt="" id="BLOGGER_PHOTO_ID_5104520665422102594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;PS: If you wonder, why I don't name the new features by name or describe, which functionality they have.  Please excuse for that, but I had to sign many Documents at Oracle, which don't allow that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4396394137988417218?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4396394137988417218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4396394137988417218&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4396394137988417218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4396394137988417218'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/08/oracle-fusion-middleware-11g-beta-test.html' title='Oracle Fusion Middleware 11g Beta Test - Last Day'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_lwLEB0H9sdo/RtbmgBMgAEI/AAAAAAAAAF0/v0hhuJroxsg/s72-c/DuncanMills.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2689126731356393536</id><published>2007-08-23T19:00:00.000+02:00</published><updated>2007-08-28T21:37:16.532+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Forms Beta-Test, Day 4</title><content type='html'>&lt;a href="http://www.groundside.com/blog/DuncanMills.php"&gt;Duncan&lt;/a&gt; and I invented a new feature in mind some days ago and today I was able to develop it in Forms 11g and have now a showcase:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Remote Debugging-Start through AQ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The idea is simple: A developer enqueues a payload to a Forms-AQ, where all running forms-applications have to listen on. Then the payload is transfered to a specific forms-runtime and starts a new AQ-Trigger. The user is asked, if he wants to switch into debugging mode. After a &lt;span style="font-weight:bold;"&gt;Yes&lt;/span&gt; the form starts a &lt;span style="font-weight:bold;"&gt;debug.attach&lt;/span&gt; and developer can use his Forms Builder to attach to the clients runtime.&lt;br /&gt;&lt;br /&gt;This is a new and interesting remote debugging extension which can be used in Forms 11g.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2689126731356393536?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2689126731356393536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2689126731356393536&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2689126731356393536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2689126731356393536'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/08/forms-beta-test-day-4.html' title='Forms Beta-Test, Day 4'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5854198801939352103</id><published>2007-08-22T19:00:00.000+02:00</published><updated>2007-08-28T21:37:16.532+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Forms Beta-Test, Day 3</title><content type='html'>Today Duncan and Phil Kuhn worked hard on some of my forms issues. It's great to see, how they and the team behind them work.&lt;br /&gt;&lt;br /&gt;It's the first Oracle Forms Version since seven years, which has new functionality, new objects and new triggers in the Oracle Forms Builder!&lt;br /&gt;&lt;br /&gt;All those, who propagated the end of Oracle Forms get invalidated, when the new release is launched.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5854198801939352103?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5854198801939352103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5854198801939352103&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5854198801939352103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5854198801939352103'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/08/forms-beta-test-day-3.html' title='Forms Beta-Test, Day 3'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-930296200931370684</id><published>2007-08-21T19:00:00.000+02:00</published><updated>2007-08-28T21:37:16.532+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Forms Beta-Test, Day 2</title><content type='html'>The second day of the Beta-Test started with a big overview of the new Application Server. Four sessions were presented on this tuesday. The rest ot the time was testing Oracle Forms 11g.&lt;br /&gt;&lt;br /&gt;At the end of the day Oracle invited us to a nice restaurant near the HQ.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-930296200931370684?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/930296200931370684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=930296200931370684&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/930296200931370684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/930296200931370684'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/08/forms-beta-test-day-2.html' title='Forms Beta-Test, Day 2'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-7058358069773596909</id><published>2007-08-20T19:00:00.000+02:00</published><updated>2007-08-28T21:37:16.533+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Invitation to Oracle Forms beta-testing</title><content type='html'>Oracle HQ in Redwood Shores invited me to participate at the 2007' Beta-Test for the Fusion product-stack.&lt;br /&gt;&lt;br /&gt;Today we started at Oracle HQ with 16 other companies. In addition to us testers Oracle supports us with nearly 50 Oracle Cracks. For example Duncan Mills as Oracle Forms Guru&lt;br /&gt;&lt;br /&gt;They created large test-szenarios for our 5 day testings. So we can test all parts of the new versions and look deep into them.&lt;br /&gt;&lt;br /&gt;The spirit of the event is great!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-7058358069773596909?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/7058358069773596909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=7058358069773596909&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7058358069773596909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/7058358069773596909'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/08/invitation-to-oracle-forms-beta-testing.html' title='Invitation to Oracle Forms beta-testing'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-6095220030721961514</id><published>2007-08-03T14:46:00.001+02:00</published><updated>2007-08-09T16:11:42.660+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Set Record-Status to Query after a POST-QUERY</title><content type='html'>In a block with a &lt;span style="font-weight:bold;"&gt;POST-QUERY&lt;/span&gt;-trigger you often have the problem, that the Record-Status changes to &lt;span style="font-weight:bold;"&gt;CHANGED&lt;/span&gt;, if non-basetable-items were changed through the &lt;span style="font-weight:bold;"&gt;POST-QUERY&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Setting the recordstatus back to QUERY is a good method to solve this problem. First create a procedure for setting the record-status to &lt;span style="font-weight:bold;"&gt;QUERY&lt;/span&gt;:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PROCEDURE &lt;span style="font-weight:bold;"&gt;Set_Record_Query_Status&lt;/span&gt; IS &lt;br /&gt;BEGIN&lt;br /&gt;  Set_Record_Property (NAME_IN ('SYSTEM.TRIGGER_RECORD'), &lt;br /&gt;                       NAME_IN ('SYSTEM.TRIGGER_BLOCK'), &lt;br /&gt;                       STATUS, &lt;br /&gt;                       QUERY_STATUS);&lt;br /&gt;END; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;then use it in your &lt;span style="font-weight:bold;"&gt;POST-QUERY&lt;/span&gt;-triggers:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  SELECT someColumns&lt;br /&gt;    INTO :myBlock.nonBasetable_Item&lt;br /&gt;    FROM myTable&lt;br /&gt;   WHERE someFilter;&lt;br /&gt;&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;Set_Record_Query_Status;&lt;/span&gt;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After resetting each record to &lt;span style="font-weight:bold;"&gt;QUERY&lt;/span&gt;-Status you don't have problems with the fetched data in this block. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Important: &lt;/span&gt;If the &lt;span style="font-weight:bold;"&gt;POST-QUERY&lt;/span&gt; changes Basetable-Items in the record you create record-locks, if the block-locking is &lt;span style="font-weight:bold;"&gt;Immediate&lt;/span&gt;. This problem can be solved:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  Set_Block_Property ('myBlock', LOCKING_MODE, Delayed);&lt;br /&gt;&lt;br /&gt;  SELECT someColumns&lt;br /&gt;    INTO :myBlock.nonBasetable_Item&lt;br /&gt;    FROM myTable&lt;br /&gt;   WHERE someFilter;&lt;br /&gt;&lt;br /&gt;  Set_Block_Property ('myBlock', LOCKING_MODE, Immediate);&lt;br /&gt;&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;Set_Record_Query_Status;&lt;/span&gt;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;try it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-6095220030721961514?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/6095220030721961514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=6095220030721961514&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6095220030721961514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/6095220030721961514'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/08/set-record-status-to-query-after-post.html' title='Set Record-Status to Query after a POST-QUERY'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4599666250239603038</id><published>2007-08-01T16:54:00.001+02:00</published><updated>2007-08-02T19:29:49.136+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Oracle Certified Trainer</title><content type='html'>Since last Friday I'm an Oracle Certified Trainer. It is the precondition to work for Oracle University.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4599666250239603038?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4599666250239603038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4599666250239603038&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4599666250239603038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4599666250239603038'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/08/oracle-certified-trainer.html' title='Oracle Certified Trainer'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3121813829349746780</id><published>2007-07-20T23:09:00.000+02:00</published><updated>2007-07-22T11:47:50.799+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New launch of my Forms Framework project</title><content type='html'>A place, where you host your open-source-project must be &lt;br /&gt;&lt;br /&gt;- easy to use&lt;br /&gt;- easy to administer&lt;br /&gt;- easy to find&lt;br /&gt;&lt;br /&gt;and two days ago I found Google Code. That's a gorgeous place to share own projects !&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/forms-framework/"&gt;http://code.google.com/p/forms-framework/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Actually I started deploying the main PL/SQL library + Forms Template&lt;br /&gt;&lt;br /&gt;have fun with this project and the next releases&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3121813829349746780?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3121813829349746780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3121813829349746780&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3121813829349746780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3121813829349746780'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/07/new-launch-of-my-forms-framework.html' title='New launch of my Forms Framework project'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5563065631305795644</id><published>2007-07-19T12:35:00.000+02:00</published><updated>2007-07-20T10:22:51.098+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Check Form_Success for each Built-In</title><content type='html'>Many Built-Ins have the problem, that they don't throw exceptions. (only in the  &lt;a href="http://talk2gerd.blogspot.com/2006/12/best-practices-on-error-and-on-message.html"&gt;ON-ERROR&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Example: You want to navigate to the block &lt;span style="font-weight: bold;"&gt;Customer&lt;/span&gt; and wrote a typo:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Go_Block ('CUSTOMR');&lt;br /&gt;Do_something_after_Go_Block;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Go_Block can't navigate to the block, because you wrote &lt;span style="font-weight: bold;"&gt;CUSTOMR&lt;/span&gt;. But no exception is thrown inside the PL/SQL-Block. This means, the code didn't stop and the execution of &lt;span style="font-weight:bold;"&gt;Do_something_after_Go_Block&lt;/span&gt; starts. This is a big problem in most cases!&lt;br /&gt;&lt;br /&gt;Solution: Create a procedure &lt;span style="font-weight: bold;"&gt;Check_Builtin&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PROCEDURE &lt;span style="font-weight:bold;"&gt;Check_Builtin&lt;/span&gt; IS&lt;br /&gt;BEGIN&lt;br /&gt;  IF NOT Form_Success THEN&lt;br /&gt;    RAISE Form_Trigger_Failure;&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Use this procedure after each Built-In:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  Go_Block ('CUSTOMR');&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;Check_Builtin&lt;/span&gt;;&lt;br /&gt;  Do_something_after_Go_Block;&lt;br /&gt;EXCEPTION&lt;br /&gt;  WHEN FORM_TRIGGER_FAILURE THEN&lt;br /&gt;    -- do something ...&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Also you can create your own Built-In for example &lt;span style="font-weight:bold;"&gt;Goto_Block&lt;/span&gt; instead of &lt;span style="font-weight:bold;"&gt;Go_Block&lt;/span&gt;: This new procedure works internally with the new Check_Builtin&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PROCEDURE &lt;span style="font-weight:bold;"&gt;Goto_Block&lt;/span&gt; (P_Block IN VARCHAR2) IS&lt;br /&gt;BEGIN&lt;br /&gt;  Go_Block (P_Block);&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;Check_Builtin&lt;/span&gt;;&lt;br /&gt;  Do_something_after_Go_Block;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and then :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;Goto_Block&lt;/span&gt; ('CUSTOMR');&lt;br /&gt;  Do_something_after_Go_Block;&lt;br /&gt;EXCEPTION&lt;br /&gt;  WHEN FORM_TRIGGER_FAILURE THEN&lt;br /&gt;    -- do something ...&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Important: When you use this technique you have to write an exception-handling and check the &lt;span style="font-weight:bold;"&gt;FORM_TRIGGER_FAILURE&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This technique is similiar to Oracle's Check_Package_Failure, but this procedure can only be used, when you work with master-detail-relations.&lt;br /&gt;&lt;br /&gt;use Check_Builtin&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5563065631305795644?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5563065631305795644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5563065631305795644&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5563065631305795644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5563065631305795644'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/07/check-formsuccess-for-each-built-in.html' title='Check Form_Success for each Built-In'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2655192606103475591</id><published>2007-07-10T14:26:00.000+02:00</published><updated>2007-07-17T08:19:03.127+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Concatenate big Default-Where-Clauses</title><content type='html'>The simplest way to concatenate a Where-Clause is this:&lt;br /&gt;&lt;br /&gt;Example: An empty form with table DEPT. Let's say you have three rules, which controls the concatenation of the blocks Default-Where. The problem is: From the second &lt;span style="font-weight:bold;"&gt;IF&lt;/span&gt; on you have to check the value of &lt;span style="font-weight:bold;"&gt;V_Default_Where&lt;/span&gt;. If it is filled you must concatenate &lt;span style="font-weight:bold;"&gt;' AND '&lt;/span&gt; before each new part of the string.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  V_Default_Where VARCHAR2 (2000);&lt;br /&gt;BEGIN&lt;br /&gt;  IF Rule_1_is_TRUE THEN&lt;br /&gt;    V_Default_Where := 'DEPTNO IN (10, 20, 30)';&lt;br /&gt;  END IF;&lt;br /&gt;&lt;br /&gt;  IF Rule_2_is_TRUE THEN&lt;br /&gt;    IF V_Default_Where IS NOT NULL THEN&lt;br /&gt;      V_Default_Where := V_Default_Where || &lt;br /&gt;                         ' AND DNAME != ''SALES'' ';&lt;br /&gt;    ELSE&lt;br /&gt;      V_Default_Where := 'DNAME != ''SALES'' ';&lt;br /&gt;    END IF;&lt;br /&gt;  END IF;&lt;br /&gt;  &lt;br /&gt;  IF Rule_3_is_TRUE THEN&lt;br /&gt;    IF V_Default_Where IS NOT NULL THEN&lt;br /&gt;      V_Default_Where := V_Default_Where || &lt;br /&gt;                         ' AND LOC IS NOT NULL';&lt;br /&gt;    ELSE&lt;br /&gt;      V_Default_Where := 'LOC IS NOT NULL';&lt;br /&gt;    END IF;&lt;br /&gt;  END IF;&lt;br /&gt;&lt;br /&gt;  Set_Block_Property ('DEPT', DEFAULT_WHERE, &lt;br /&gt;                      V_Default_Where);&lt;br /&gt;  Go_Block ('DEPT');&lt;br /&gt;  Execute_Query;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;These IF's are not maintainable. Changes in the where-clauses result in two changes in the code:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    ...&lt;br /&gt;      V_Default_Where := V_Default_Where || &lt;br /&gt;                         ' AND LOC IS NULL';&lt;br /&gt;    ELSE&lt;br /&gt;      V_Default_Where := 'LOC IS NULL';&lt;br /&gt;    ...&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;A better approach is to use the ' AND ' at the beginning of each concatenation:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  V_Default_Where VARCHAR2 (2000);&lt;br /&gt;BEGIN&lt;br /&gt;  IF Rule_1_is_TRUE THEN&lt;br /&gt;    V_Default_Where := ' AND DEPTNO IN (10, 20, 30)';&lt;br /&gt;  END IF;&lt;br /&gt;&lt;br /&gt;  IF Rule_2_is_TRUE THEN&lt;br /&gt;    V_Default_Where := V_Default_Where || &lt;br /&gt;                       ' AND DNAME != ''SALES'' ';&lt;br /&gt;  END IF;&lt;br /&gt;  &lt;br /&gt;  IF Rule_3_is_TRUE THEN&lt;br /&gt;    V_Default_Where := V_Default_Where || &lt;br /&gt;                       ' AND LOC IS NOT NULL';&lt;br /&gt;  END IF;&lt;br /&gt;&lt;br /&gt;  Set_Block_Property ('DEPT', DEFAULT_WHERE, &lt;br /&gt;                      Substr (V_Default_Where, 6));&lt;br /&gt;  Go_Block ('DEPT');&lt;br /&gt;  Execute_Query;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;the &lt;span style="font-weight:bold;"&gt;Substr (V_Default_Where, 6)&lt;/span&gt; eliminates the first ' AND '.&lt;br /&gt;&lt;br /&gt;Really easy and readable code!&lt;br /&gt;&lt;br /&gt;PS: Read in the comments, why I didn't use "1=1"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2655192606103475591?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2655192606103475591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2655192606103475591&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2655192606103475591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2655192606103475591'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/07/concatenate-big-default-where-clauses.html' title='Concatenate big Default-Where-Clauses'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-357436062434536899</id><published>2007-06-27T15:38:00.001+02:00</published><updated>2007-07-02T15:20:21.289+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>German Weekday</title><content type='html'>The big problem of the date-conversion "to_char (sysdate, 'D')" is, that depending on the NLS you get different results:&lt;br /&gt;&lt;br /&gt;Sunday is the first day in the US&lt;br /&gt;Monday is the first day in Germany&lt;br /&gt;&lt;br /&gt;For the Green-Thursday of 2000 you get:&lt;br /&gt;&lt;br /&gt;Green_Thursday := to_date ('23.03.2000', 'DD.MM.YYYY');&lt;br /&gt;America: to_char (Green_Thursday, 'D') = 5 &lt;br /&gt;Germany: to_char (Green_Thursday, 'D') = 4&lt;br /&gt;&lt;br /&gt;this is sub-optimal, because it's a format-mask, which is based on the underlying NLS and not on a strict rule.&lt;br /&gt;&lt;br /&gt;My solution in this case is: The function German_Weekday&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;FUNCTION German_Weekday (P_Date IN DATE)&lt;br /&gt;RETURN NUMBER IS&lt;br /&gt;  V_Delta NUMBER;&lt;br /&gt;BEGIN&lt;br /&gt;  -- Reference-Day: Green Thursday 2000 = Day 4 in Germany&lt;br /&gt;  V_Delta := TO_NUMBER (TO_CHAR (TO_DATE ('23.03.2000',&lt;br /&gt;                                          'DD.MM.YYYY'),&lt;br /&gt;                                 'D')) - 4;&lt;br /&gt;  RETURN (TO_NUMBER (TO_CHAR (P_Date-V_Delta, 'D')));&lt;br /&gt;END;&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;and American_Weekday&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;FUNCTION American_Weekday (P_Date IN DATE)&lt;br /&gt;RETURN NUMBER IS&lt;br /&gt;  V_Delta NUMBER;&lt;br /&gt;BEGIN&lt;br /&gt;  -- Reference-Day: Green Thursday 2000 = Day 5 in the US&lt;br /&gt;  V_Delta := TO_NUMBER (TO_CHAR (TO_DATE ('23.03.2000',&lt;br /&gt;                                          'DD.MM.YYYY'), &lt;br /&gt;                                 'D')) - 5;&lt;br /&gt;  RETURN (TO_NUMBER (TO_CHAR (P_Date-V_Delta, 'D')));&lt;br /&gt;END;&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;this function always returns the correct german 'D'-formatmask, indepent of the NLS.&lt;br /&gt;&lt;br /&gt;have fun and use it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-357436062434536899?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/357436062434536899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=357436062434536899&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/357436062434536899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/357436062434536899'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/06/german-weekday_27.html' title='German Weekday'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5659574864066149956</id><published>2007-06-23T09:55:00.000+02:00</published><updated>2007-12-14T14:33:46.816+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Forms 11g Release Date</title><content type='html'>Nobody knows the day, when Forms 11g will be released.&lt;br /&gt;&lt;br /&gt;But the newest official news about "when" and "where" is:&lt;br /&gt;&lt;br /&gt;"Version 11 of Forms will be in the production version of Application Server version 11 which is currently scheduled for fiscal year 2008."&lt;br /&gt;&lt;br /&gt;Read the post in the &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=520724&amp;tstart=0"&gt;OTN-Discussion Forum&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5659574864066149956?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5659574864066149956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5659574864066149956&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5659574864066149956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5659574864066149956'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/06/forms-11g-and-release-date.html' title='Forms 11g Release Date'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1490138127502325573</id><published>2007-06-22T11:49:00.000+02:00</published><updated>2011-08-17T11:23:12.397+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>Oracle Develop in Munich</title><content type='html'>The start of the week I attend at the Oracle Develop in the Arabella Sheraton Munich. Nice place, but we had to run between the presentation from one hotel to another. And the coffee machine was only in the hotel, where only one slot from five slots were...&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Day 1:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Monday morning I started with Frank Nimphius presentation about Forms, the future of Forms and the integration into Java, SOA, ...&lt;br /&gt;&lt;br /&gt;Marc Sewtz and his "SQL Developer Features" was nice, because we saw a bunch of new features in the actual release.&lt;br /&gt;&lt;br /&gt;After lunch the famous Bryn Llewellyn started his "PL/SQL Performance: Debunking the Myths". Gorgeous! Next time I hope he gets 2 hours for all the tips and tricks he explained&lt;br /&gt;&lt;br /&gt;Parallel to the presentations Oracle served us 3 labs. Monday evening I went into the APEX 3.0 Lab, where we learned, how to work with the new version of Application Express.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Day 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bad news at the coffee-front. We had to get our coffee in Hotel A and run some 100 meters down the road to Hotel B...&lt;br /&gt;&lt;br /&gt;Tuesday I started with the next lab: "Developing and Deploying Oracle and PHP". Interesting to see, how easy it can be, working with PHP&lt;br /&gt;&lt;br /&gt;After that Bryn presented the new PL/SQL-Enhancements of the new Oracle DB 11g. I love compound triggers ! And all the other stuff too. Accessing sequences without selecting against DUAL !!&lt;br /&gt;&lt;br /&gt;Post-Lunch Frank explained "Building Rich UI using JavaServer Faces and AJAX. That was another highlight too me at the conference.&lt;br /&gt;&lt;br /&gt;Interesting, how much Microsoft-Stuff was presented through many slots. The "Microsoft Interoperability with Oracle Fusion Middleware" showed the SOA-integration made by the Office-Toolstack. Nice to see a different world to Oracle.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Summary:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Presentations and labs: TOP&lt;br /&gt;No Coffee: FLOP&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1490138127502325573?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1490138127502325573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1490138127502325573&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1490138127502325573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1490138127502325573'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/06/oracle-develop-in-munich.html' title='Oracle Develop in Munich'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-8680865476327484615</id><published>2007-05-10T11:58:00.000+02:00</published><updated>2007-05-10T12:49:49.484+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>New Forms Look &amp; Feel</title><content type='html'>Good news for all Forms-Developer who need a new Look &amp;amp; Feel for their applications.&lt;br /&gt;&lt;br /&gt;In Grant's newest &lt;a href="http://groundside.com/blog/GrantRonald.php?title=new_forms_look_and_feel_interview_with_f"&gt;interview&lt;/a&gt; he spoke with Francois Degrelle, about his &lt;a href="http://www.oracle.com/technology/products/forms/pdf/10gR2/community_paper_forms_look_and_feel.pdf"&gt;Forms Look &amp; Feel White Paper&lt;/a&gt; from April 2007.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-8680865476327484615?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/8680865476327484615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=8680865476327484615&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8680865476327484615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/8680865476327484615'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/05/new-forms-look-feel.html' title='New Forms Look &amp; Feel'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5533599579365449676</id><published>2007-04-17T10:21:00.000+02:00</published><updated>2007-04-27T13:04:37.792+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Faster Forms-Start with synchronize</title><content type='html'>I can't believe it, but it is true in some cases !&lt;br /&gt;&lt;br /&gt;If you have a forms-application and some form-starts are too slow in your mind, then you can try to use a synchronize to speed up the initial display. The user now thinks, that the form itself starts faster, but internally only the first display-refresh is faster.&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;WHEN-NEW-FORM-INSTANCE - trigger &lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  synchronize;&lt;br /&gt;  -- your WHEN-NEW-FORM-INSTANCE-code&lt;br /&gt;END;&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;try it and believe it too !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5533599579365449676?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5533599579365449676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5533599579365449676&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5533599579365449676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5533599579365449676'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/04/faster-forms-start-with-synchronize.html' title='Faster Forms-Start with synchronize'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1794074348328272396</id><published>2007-04-05T09:12:00.000+02:00</published><updated>2007-12-19T10:26:25.381+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>EOUC 2007 has been canceled</title><content type='html'>oh no...&lt;br /&gt;&lt;br /&gt;the EMEA-Oracle-User-Council-Conference in Amsterdam has been canceled:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eouc2007.org"&gt;EOUC 2007&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Update Dez. 2007: the URL is now canceled too&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1794074348328272396?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1794074348328272396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1794074348328272396&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1794074348328272396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1794074348328272396'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/04/eouc-is-cancelled.html' title='EOUC 2007 has been canceled'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-5888711861586970847</id><published>2007-04-04T10:50:00.000+02:00</published><updated>2007-04-04T11:51:54.581+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Multi-Select from DUAL</title><content type='html'>An easy way to generate records from scratch is using an easy CONNECT BY against DUAL.&lt;br /&gt;&lt;br /&gt;e.g. you need a Forms-LOV which shows the last 12 months. &lt;br /&gt;So you have to create a record-group-select which gives you exactly 12 records. After that you combine it with sysdate. Let's see:&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt; SELECT Level LVL&lt;br /&gt;   FROM Dual&lt;br /&gt;CONNECT BY Level &lt;= 12;&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;then you integrate the sysdate into the statement:&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt; SELECT add_months (trunc (sysdate, 'MM'), -1*Level) Month&lt;br /&gt;   FROM Dual&lt;br /&gt;CONNECT BY Level &lt;= 12;&lt;br /&gt;&lt;br /&gt;MONTH&lt;br /&gt;--------&lt;br /&gt;01.03.07&lt;br /&gt;01.02.07&lt;br /&gt;01.01.07&lt;br /&gt;01.12.06&lt;br /&gt;01.11.06&lt;br /&gt;01.10.06&lt;br /&gt;01.09.06&lt;br /&gt;01.08.06&lt;br /&gt;01.07.06&lt;br /&gt;01.06.06&lt;br /&gt;01.05.06&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;isn't that a pretty easy solution for getting generically the last 12 months?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-5888711861586970847?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/5888711861586970847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=5888711861586970847&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5888711861586970847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/5888711861586970847'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/04/multi-select-from-dual.html' title='Multi-Select from DUAL'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-4512662060144314340</id><published>2007-03-14T13:46:00.000+01:00</published><updated>2007-04-27T13:04:42.622+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Assertions</title><content type='html'>Using assertions in sourcecodes is well known in Java and other programming-languages, but not in PL/SQL. Why?&lt;br /&gt;&lt;br /&gt;That's a good question and I solved it for myself through using this technique:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  e_Assertion EXCEPTION;&lt;br /&gt;BEGIN&lt;br /&gt;  IF condition1 = 'value'&lt;br /&gt;  OR boolean = TRUE&lt;br /&gt;  OR something_else THEN&lt;br /&gt;    RAISE e_Assertion;&lt;br /&gt;  END IF;&lt;br /&gt;&lt;br /&gt;-- your code:&lt;br /&gt;...&lt;br /&gt;EXCEPTION&lt;br /&gt;  WHEN e_Assertion THEN&lt;br /&gt;    NULL;&lt;br /&gt;  WHEN OTHERS THEN&lt;br /&gt;    -- when-others-exception-handling&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In this example you write all your negative assertions under each other and raise the assertion-exception, which does nothing in the exception-handling.&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PROCEDURE Double_Manager_Salary (P_EMPNO IN NUMBER, P_JOB IN VARCHAR2) IS&lt;br /&gt;  e_Assertion EXCEPTION;&lt;br /&gt;BEGIN&lt;br /&gt;  IF P_Job != 'MGR' THEN&lt;br /&gt;    RAISE e_Assertion;&lt;br /&gt;  END IF;&lt;br /&gt;&lt;br /&gt;  UPDATE EMP SET&lt;br /&gt;         SAL = SAL * 2&lt;br /&gt;   WHERE EMPNO = P_EMPNO;&lt;br /&gt;&lt;br /&gt;EXCEPTION&lt;br /&gt;  WHEN e_Assertion THEN&lt;br /&gt;    NULL;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;what we see here is very simple: If you assert, that only manager get doubled salaries, then you cancel the procedure directly after it starts. You jump into the e_Assertion-Exception and do nothing.&lt;br /&gt;&lt;br /&gt;Try and use it&lt;br /&gt;Gerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-4512662060144314340?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/4512662060144314340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=4512662060144314340&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4512662060144314340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/4512662060144314340'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/03/assertions.html' title='Assertions'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-2023015729281191424</id><published>2007-02-12T09:44:00.000+01:00</published><updated>2011-08-17T11:23:58.055+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>Invitation to EOUC 2007</title><content type='html'>The EMEA Oracle User Council's conference is this year in Amsterdam, Netherland, from May 2nd - May 3rd.&lt;br /&gt;&lt;br /&gt;My abstract, sent to the conference some months ago was:&lt;br /&gt;&lt;br /&gt;Oracle Forms 10g and the integration into BPEL&lt;br /&gt;&lt;br /&gt;And now I got an invitation for May 3rd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-2023015729281191424?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/2023015729281191424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=2023015729281191424&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2023015729281191424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/2023015729281191424'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/02/invitation-to-eouc-2007.html' title='Invitation to EOUC 2007'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1594705249782958738</id><published>2007-01-20T10:03:00.001+01:00</published><updated>2009-09-07T15:07:50.346+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>One Time Timer</title><content type='html'>Many times I want to code a go_item, go_block or execute_query while validating an item. But restricted functions can't be used in many triggers. So we need a workaround.&lt;br /&gt;&lt;br /&gt;And here comes my "One Time Timer" :&lt;br /&gt;&lt;br /&gt;Example: I have a non-basetable control-block with some items. Below this block is a multi-record block based on EMP. The control-block should be used as filter on the EMP-block.&lt;br /&gt;&lt;br /&gt;The user wish to enter filter-criteria in the master-block and when navigating to the next item, they automatically want a new query-result in the block EMP. This is impossible with standard validation-triggers, because the navigation has to go into a block and execute a query, while validating an item.&lt;br /&gt;&lt;br /&gt;Solution: create a form-level WHEN-TIMER-EXPIRED:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DECLARE&lt;br /&gt; V_Item   VARCHAR2 (61);&lt;br /&gt;BEGIN&lt;br /&gt; V_Item := :SYSTEM.CURSOR_ITEM;&lt;br /&gt;&lt;br /&gt; IF One_Time_Timer.Get_Value = Const.ott_Query_in_EMP THEN&lt;br /&gt;   Go_Block ('EMP');&lt;br /&gt;   Execute_Query;&lt;br /&gt;   Go_Item (V_Item);&lt;br /&gt; ELSIF One_Time_Timer.Get_Value = Const.ott_Something_Else&lt;br /&gt; THEN&lt;br /&gt;   -- if more One-Time-Timer are needed,&lt;br /&gt;   -- create one for each Branch&lt;br /&gt;   NULL;&lt;br /&gt; END IF;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;create a &lt;a href="http://talk2gerd.blogspot.com/2005/10/global-constant-package.html"&gt;Const-Package&lt;/a&gt; with some constants:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PACKAGE Const IS&lt;br /&gt;&lt;br /&gt;-- Globals&lt;br /&gt; gbl_One_Time_Timer CONSTANT VARCHAR2 (61) :=&lt;br /&gt;   upper ('global.One_Time_Timer');&lt;br /&gt;&lt;br /&gt;-- One-Time-Timer&lt;br /&gt; ott_Query_in_EMP   CONSTANT VARCHAR2 (30) :=&lt;br /&gt;   'Filter EMP-Block';&lt;br /&gt; ott_Something_Else CONSTANT VARCHAR2 (30) :=&lt;br /&gt;   'Something else';&lt;br /&gt;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and a package for general functions:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PACKAGE One_Time_Timer IS&lt;br /&gt; FUNCTION Get_Value RETURN VARCHAR2;&lt;br /&gt; PROCEDURE Initialize (P_Event IN VARCHAR2);&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;PACKAGE BODY One_Time_Timer IS&lt;br /&gt; FUNCTION Get_Value RETURN VARCHAR2 IS&lt;br /&gt; BEGIN&lt;br /&gt;   Default_Value (NULL, Const.gbl_One_Time_Timer);&lt;br /&gt;   RETURN (NAME_IN (Const.gbl_One_Time_Timer));&lt;br /&gt; END;&lt;br /&gt;&lt;br /&gt; PROCEDURE Initialize (P_Event IN VARCHAR2) IS&lt;br /&gt;   tm_id   timer;&lt;br /&gt;   tm_name VARCHAR2 (30) := 'ONE_TIME_TIMER';&lt;br /&gt; BEGIN&lt;br /&gt;   tm_id := Find_Timer (tm_name);&lt;br /&gt;   IF ID_Null (tm_id) THEN&lt;br /&gt;     tm_id := Create_Timer (tm_name, 10, NO_REPEAT);&lt;br /&gt;     COPY (p_Event, Const.gbl_One_Time_Timer);&lt;br /&gt;   END IF;&lt;br /&gt; END;&lt;br /&gt;END One_Time_Timer;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;the control-block (named "Filter") has e.g. two items: ENAME and SAL&lt;br /&gt;&lt;br /&gt;create a WHEN-VALIDATE-ITEM on ENAME :&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BEGIN&lt;br /&gt; One_Time_Timer.Initialize (Const.ott_Query_in_EMP);&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;last step: the EMP-block needs a PRE-QUERY-trigger on block-level:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BEGIN&lt;br /&gt; IF :Filter.ENAME IS NOT NULL THEN&lt;br /&gt;   :EMP.ENAME := :Filter.ENAME;&lt;br /&gt; END IF;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;what happens?&lt;br /&gt;After changing the value of ENAME in the FILTER-block the WHEN-VALIDATE-ITEM fires. He initializes the One-Time-Timer. The "global.One_Time_Timer" get the value of Const.ott_Query_in_EMP (which is "Filter EMP-Block"). After that a timer is created which fires 10 ms later.&lt;br /&gt;&lt;br /&gt;10ms later:&lt;br /&gt;The WHEN-TIMER-EXPIRED fires and does an execute_query in the EMP-block and returns afterwards back to the original item. In the EMP-block starts the PRE-QUERY and the data of the EMP-block gets filtered through ":EMP.ENAME := :Filter.ENAME"&lt;br /&gt;&lt;br /&gt;that's the whole story. Try it and have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1594705249782958738?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1594705249782958738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1594705249782958738&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1594705249782958738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1594705249782958738'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2007/01/one-time-timer.html' title='One Time Timer'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-1666333162428114079</id><published>2006-12-20T15:09:00.000+01:00</published><updated>2006-12-20T15:47:41.299+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Undo</title><content type='html'>Retrieving data from the database and changing the data is really easy. But what, if the user changes data and want to do an UNDO?&lt;br /&gt;&lt;br /&gt;Doing a new query is the easiest way. The limitations are: &lt;br /&gt;&lt;br /&gt;- in a multi-record-block you have to position in the correct record after the query &lt;br /&gt;- if the query was executed via ENTER-QUERY mode you can't jump to the old record because the query-result has changed.&lt;br /&gt;&lt;br /&gt;So you have to use a new technique.&lt;br /&gt;&lt;br /&gt;The solution is this function. All database-items get their old values back:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;PROCEDURE Undo IS&lt;br /&gt;  V_Block  VARCHAR2 (30) := :SYSTEM.CURSOR_BLOCK;&lt;br /&gt;  V_Field  VARCHAR2 (61);&lt;br /&gt;  V_Item   VARCHAR2 (61);&lt;br /&gt;BEGIN&lt;br /&gt;  Validate (Item_Scope);&lt;br /&gt;  IF :SYSTEM.RECORD_STATUS = 'CHANGED' THEN&lt;br /&gt;    V_Field := Get_Block_Property (V_Block, FIRST_ITEM);&lt;br /&gt;    V_Item := V_Block || '.' || V_Field;&lt;br /&gt;    WHILE V_Field IS NOT NULL&lt;br /&gt;    LOOP&lt;br /&gt;      IF Get_Item_Property (V_Item, ITEM_TYPE) &lt;br /&gt;         IN ('DISPLAY ITEM', 'CHECKBOX', 'LIST', &lt;br /&gt;             'RADIO GROUP',  'TEXT ITEM')&lt;br /&gt;      AND Get_Item_Property (V_Item, BASE_TABLE) = 'TRUE' &lt;br /&gt;      THEN&lt;br /&gt;        COPY (Get_Item_Property (V_Item, DATABASE_VALUE), &lt;br /&gt;              V_Item);&lt;br /&gt;      END IF;&lt;br /&gt;      V_Field := Get_Item_Property (V_Item, NextItem);&lt;br /&gt;      V_Item := V_Block || '.' || V_Field;&lt;br /&gt;    END LOOP;&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Best practice is to start this undo-procedure from a menu (e.g. EDIT - UNDO) or handle it through a shortcut.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-1666333162428114079?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/1666333162428114079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=1666333162428114079&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1666333162428114079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/1666333162428114079'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/12/undo.html' title='Undo'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3705095309880522356</id><published>2006-12-15T13:00:00.000+01:00</published><updated>2007-12-19T10:54:34.103+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Equal and UnEqual</title><content type='html'>Sometimes you have to check the Equality of two variables.&lt;br /&gt;&lt;br /&gt;Writing "IF A = B THEN" is not the solution for all cases. If one variable is NULL the whole statement is NULL and NULL becomes FALSE in an IF-Statement. So you have to work with a different technique:&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;FUNCTION Equal (P_String1  IN VARCHAR2,&lt;br /&gt;                P_String2  IN VARCHAR2) RETURN BOOLEAN IS&lt;br /&gt;BEGIN&lt;br /&gt;  IF P_String1 = P_String2&lt;br /&gt;  OR (P_String1 IS NULL AND P_String2 IS NULL) THEN&lt;br /&gt;    RETURN (TRUE);&lt;br /&gt;  ELSE&lt;br /&gt;    RETURN (FALSE);&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;FUNCTION UnEqual (P_String1  IN VARCHAR2,&lt;br /&gt;                  P_String2  IN VARCHAR2) RETURN BOOLEAN IS&lt;br /&gt;BEGIN&lt;br /&gt;  IF P_String1 != P_String2&lt;br /&gt;  OR (    P_String1 IS     NULL&lt;br /&gt;      AND P_String2 IS NOT NULL)&lt;br /&gt;  OR (    P_String1 IS NOT NULL&lt;br /&gt;      AND P_String2 IS     NULL) THEN&lt;br /&gt;    RETURN (TRUE);&lt;br /&gt;  ELSE&lt;br /&gt;    RETURN (FALSE);&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;Now you can easily use Equal and UnEqual&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;IF UnEqual (Var1, Var2) THEN&lt;br /&gt;  -- do something&lt;br /&gt;ELSE&lt;br /&gt;  -- do something different&lt;br /&gt;END IF;&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;br /&gt;try it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3705095309880522356?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3705095309880522356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3705095309880522356&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3705095309880522356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3705095309880522356'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/12/equal-and-notequal.html' title='Equal and UnEqual'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-3426474487692277824</id><published>2006-12-05T10:59:00.000+01:00</published><updated>2006-12-06T14:15:46.233+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>ON-ERROR and ON-MESSAGE-trigger</title><content type='html'>Many developer have problems with messages which popup in forms, for example "FRM-40401: No changes to save".&lt;br /&gt;&lt;br /&gt;Then they look for workarounds and one of the easiest is manipulating the :system.message_level:&lt;br /&gt;&lt;br /&gt;KEY-COMMIT - trigger on form-level (quick and dirty)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  :System.Message_Level := 25;&lt;br /&gt;  COMMIT;&lt;br /&gt;  :System.Message_Level := 5;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;or KEY-COMMIT - trigger&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DECLARE&lt;br /&gt; V_Message_Level NUMBER;&lt;br /&gt;BEGIN&lt;br /&gt; V_Message_Level := :System.Message_Level;&lt;br /&gt; :System.Message_Level := 25;&lt;br /&gt; COMMIT;&lt;br /&gt; :System.Message_Level := V_Message_Level;&lt;br /&gt;END;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;these are not best practices. Because you have to write those codes in hundreds of procedures and tons of code.&lt;br /&gt;&lt;br /&gt;Filtering the errors and messages is the key to have a powerful message-handling. Here is an easy procedure which shows you the technique:&lt;br /&gt;&lt;br /&gt;ON-ERROR - trigger on form-level&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  V_Error_Code       NUMBER;&lt;br /&gt;  V_Error_Text       VARCHAR2 (2000);&lt;br /&gt;  V_DBMS_Error_Code  NUMBER;&lt;br /&gt;  V_DBMS_Error_Text  VARCHAR2 (2000);&lt;br /&gt;BEGIN&lt;br /&gt;  V_Error_Code      := Error_Code;&lt;br /&gt;  V_Error_Text      := Error_Text;&lt;br /&gt; V_DBMS_Error_Code := DBMS_Error_Code;&lt;br /&gt;  V_DBMS_Error_Text := DBMS_Error_Text;&lt;br /&gt; &lt;br /&gt;  IF V_Error_Code IN (40401, 40405) THEN&lt;br /&gt;    /*&lt;br /&gt;    || 40401, 40405 - no changes to save / apply  get filtered&lt;br /&gt;    */&lt;br /&gt;    NULL;&lt;br /&gt;  ELSIF V_Error_Code IN (-1034, -3114) THEN&lt;br /&gt;    /*&lt;br /&gt;    || -1034, -3114 - not connected to database&lt;br /&gt;    */&lt;br /&gt;    Message ('Not connect to database, exiting Form');&lt;br /&gt;    Exit_Form (no_validate);&lt;br /&gt;  ELSIF V_Error_Code IN (40508, 40735)&lt;br /&gt;  AND   V_DBMS_Error_Code BETWEEN -20999 AND -20000 THEN&lt;br /&gt;    /*&lt;br /&gt;    || -20000 errors are raised by RAISE_APPLICATION_ERROR &lt;br /&gt;    || They are handled in a different way&lt;br /&gt;    */&lt;br /&gt;    Show_and_Log_DB_Error (V_DBMS_Error_Text);&lt;br /&gt;  ELSE&lt;br /&gt;    /*&lt;br /&gt;    || All other errors went into Show_and_Log_Error, where they&lt;br /&gt;    || get inspected, analyzed and logged.&lt;br /&gt;    */&lt;br /&gt;    Show_and_Log_Error (V_Error_Code);&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-3426474487692277824?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/3426474487692277824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=3426474487692277824&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3426474487692277824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/3426474487692277824'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/12/best-practices-on-error-and-on-message.html' title='ON-ERROR and ON-MESSAGE-trigger'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-116281992050085771</id><published>2006-11-06T10:28:00.000+01:00</published><updated>2007-12-19T11:55:08.488+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>OOW Summary</title><content type='html'>Here you see the Howard-Street, during the OOW 2006. The whole street was one big tent:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061024_USA%20001_low.jpg"&gt;&lt;img dragover="true" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061024_USA%20001_low.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061024_USA%20006_low.jpg"&gt;&lt;img dragover="true" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061024_USA%20006_low.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Regis Louis and his overview about JDeveloper 11g was very refreshing, because the toolset is the center of Oracles new Fusion-Technology.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061024_USA%20011_low.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061024_USA%20011_low.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Steven Feuerstein discused in his presentations new ways to create exception-handling in PL/SQL and how to use a professionell unit-testing-software like utPLSQL.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061026_USA%20003_low.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061026_USA%20003_low.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Very interesting was his announcement, that he will publish a new application named Quest Code Tester, which helps you creating test-cases for automated PL/SQL-unittests. Production Releases are available in 6 months. This is the link to the new homepage for all tools around those new applications:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/logo_toadworld.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/logo_toadworld.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.toadworld.com/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bryn Llewellyn (creator of PL/SQL) showed us in his "Meet the Guru"-hour the new features of the Oracle Database 11.&lt;br /&gt;&lt;br /&gt;The most powerful new topic is the "edition". This means that you can create a complete new version of a package / view / table. With an easy "alter system set edition = ..." you change to different versions.&lt;br /&gt;&lt;br /&gt;e.g. when you have a set of new packages and want test them on the production-db. So you create the new packages in a new "edition". After that you can change the usage of the two versions online while the database is running. Testing the new packages and reseting to the old ones is done in seconds !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061026_USA%20007_low.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061026_USA%20007_low.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These were some of the most interesting news of the Oracle Open World&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-116281992050085771?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/116281992050085771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=116281992050085771&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/116281992050085771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/116281992050085771'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/11/oow-summary.html' title='OOW Summary'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-116187014052140540</id><published>2006-10-26T14:09:00.000+02:00</published><updated>2006-11-13T10:14:55.351+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>Oracle Open World 2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061025_USA%20043_.0.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061025_USA%20043_.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;Big, bigger, moscone! This is what I'm aware about, when thinking back to this years Oracle OpenWorld.&lt;br /&gt;&lt;br /&gt;42000 people attend Larry's big show and it become more and more each year&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Larry's announcement this year was: "We give you Red Hat Linux-Support, better than anybody else in the market and less expensive".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This years toy :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061025_USA%20020_2_.jpg"&gt;&lt;img dragover="true" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/200/061025_USA%20020_2_.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-116187014052140540?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/116187014052140540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=116187014052140540&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/116187014052140540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/116187014052140540'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/10/oracle-open-world-2006.html' title='Oracle Open World 2006'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-116153810886663701</id><published>2006-10-22T18:31:00.000+02:00</published><updated>2006-12-06T10:35:39.997+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>Arriving in San Francisco</title><content type='html'>Yesterday was the starting day of my oow-vacation.&lt;br /&gt;&lt;br /&gt;Here are some impressions of the first night. Today at 7 AM was starting time of the Nike's Woman Marathon in San Francisco at the Union Square&lt;br /&gt;&lt;br /&gt;The best runner started at 6:40.&lt;br /&gt;&lt;br /&gt;&lt;div dragover="true" style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061022_USA%20017_.jpg"&gt;&lt;img dragover="true" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061022_USA%20017_.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061022_USA%20031_.jpg"&gt;&lt;img dragover="true" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061022_USA%20031_.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div dragover="true" style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061022_USA%20038_.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061022_USA%20038_.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/061022_USA%20058_.jpg"&gt;&lt;img dragover="true" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/061022_USA%20058_.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-116153810886663701?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/116153810886663701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=116153810886663701&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/116153810886663701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/116153810886663701'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/10/arriving-in-san-francisco.html' title='Arriving in San Francisco'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-116126489995778327</id><published>2006-10-19T15:10:00.000+02:00</published><updated>2006-11-13T10:14:54.717+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>AOUG Conference 2006</title><content type='html'>Yesterday I was invited to hold a presentation at the yearly Austrian Oracle User Group in Vienna.&lt;br /&gt;&lt;br /&gt;Did you know Vienna? It's such a lovely city with castle's, old buildings and coffee-houses. You'll love it, too.&lt;br /&gt;&lt;br /&gt;My presentation was "Oracle Forms 10g and the communication with SOA via BPEL"&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1711/358/1600/Wien.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger/1711/358/320/Wien.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-116126489995778327?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/116126489995778327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=116126489995778327&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/116126489995778327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/116126489995778327'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/10/aoug-conference-2006.html' title='AOUG Conference 2006'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-115952922978482350</id><published>2006-09-29T13:04:00.000+02:00</published><updated>2006-11-13T10:14:54.459+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>OOW is coming closer</title><content type='html'>Gosh!   Is that a damn hard work to build an oow-schedule in the biggest schedule builder I've ever seen.&lt;br /&gt;&lt;br /&gt;Hundreds of good presentations and all of them are parallel at four days and only a few possible timeslots. So you sit before your browser and have to check in to the best presentations. But where are the best presentation when you scroll through 60 parallel slots per time-slot?  It's hard work to read all the titles and authors.&lt;br /&gt;&lt;br /&gt;and then: Tom's presentation is full - oh no! - a waitlist for those, who came late&lt;br /&gt;but: Steven's isn't full yet! So let's book the last seat - and do it fast&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-115952922978482350?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/115952922978482350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=115952922978482350&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/115952922978482350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/115952922978482350'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/09/oow-is-coming-closer.html' title='OOW is coming closer'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17069431.post-115459370210757450</id><published>2006-08-03T10:15:00.000+02:00</published><updated>2006-11-13T10:14:54.271+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conferences'/><title type='text'>Different presentation</title><content type='html'>last week was a hard week !&lt;br /&gt;&lt;br /&gt;Monday I got my invitation to the Oracle World from the EOUC. &lt;br /&gt;&lt;br /&gt;Friday Oracle rejected my presentation about Forms-Integration in BPEL, because they have the same topic. But they gave me the chance to post a different presentation.&lt;br /&gt;&lt;br /&gt;This Wednesday I got the invitation from oracle to present BI Beans&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Developing Powerful Oracle Business Intelligence Beans in Oracle Forms&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;BI Beans replaced Oracle Graphics as the new graphical standard in Forms. For this new java based technology forms developers do not need java experience. In the presentation you learn the easy way to install BI Beans, communication between Forms and BI Beans and how to develop powerful graphical applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17069431-115459370210757450?l=talk2gerd.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://talk2gerd.blogspot.com/feeds/115459370210757450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17069431&amp;postID=115459370210757450&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/115459370210757450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17069431/posts/default/115459370210757450'/><link rel='alternate' type='text/html' href='http://talk2gerd.blogspot.com/2006/08/different-presentation.html' title='Different presentation'/><author><name>Gerd Volberg</name><uri>http://www.blogger.com/profile/00634342057996329457</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_lwLEB0H9sdo/SUjLHqdnlrI/AAAAAAAAA8M/MyZfTjv-1e4/s1600-R/volbergxingsi9.jpg'/></author><thr:total>1</thr:total></entry></feed>
