<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEcCR3w-fyp7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656</id><updated>2011-11-28T00:21:06.257+01:00</updated><category term="WORKSPACE_IMAGES" /><category term="jQuery" /><category term="javascript" /><category term="accordion menu" /><category term="CSS" /><category term="translation" /><category term="Oracle XE" /><category term="intro" /><category term="pl/sql" /><category term="IMAGE_PREFIX" /><category term="Polska" /><category term="APEX" /><category term="jQuery UI" /><category term="info" /><category term="tłumaczenie" /><category term="book" /><category term="informacje" /><category term="polski" /><category term="APP_IMAGES" /><title>Przemek Staniszewski - Oracle APEX &amp; me</title><subtitle type="html">Blog about me and my work. Especially Oracle Application Express (APEX), internet technologies, Matlab and my science activity – speech enhancement. Sometimes about my friends, my family, my country and other things that I am interested in.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://pstaniszewski.blogspot.com/" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/PrzemekStaniszewski-OracleApexMe" /><feedburner:info uri="przemekstaniszewski-oracleapexme" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;C0cNSX8zcCp7ImA9WhZRF0Q.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-5942342398068122569</id><published>2011-04-14T14:24:00.001+02:00</published><updated>2011-04-14T16:24:58.188+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-14T16:24:58.188+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><category scheme="http://www.blogger.com/atom/ns#" term="book" /><title>Oracle APEX 4.0 Cookbook</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://ecx.images-amazon.com/images/I/51jaln-7HWL._SL500_SS75_.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://ecx.images-amazon.com/images/I/51jaln-7HWL._SL500_SS75_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-US" style="font-size: 10pt;"&gt;Recently I’ve read several APEX books. There was a time when there was nothing but OTN forum and APEX instruction to read something about Application Express, but fortunately nowadays lots of good books are coming out. One of them is Oracle APEX 4.0 Cookbook written by &lt;/span&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="EN-US" style="color: #444444; font-size: 10pt;"&gt;Michel van Zoest and Marcel van der Plas&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="EN-US" style="color: #444444; font-size: 10pt;"&gt;As far as I know it’s first book 100% focused on version 4.0, what means if you think about starting APEX 4 development, it’s good point of start. Especially that the book looks like designed for someone who want to learn APEX 4 pretty fast and has experience with previous versions. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="EN-US" style="color: #444444; font-size: 10pt;"&gt;12 chapters are arranged from “Basic Application” to “APEX administration” and “Team Development”.&amp;nbsp; Authors raised some advantage subjects like Web Services, APEX API and creating Plug-ins. I like very much Chapter 10 – “APEX Environment”, which discuss very practical topics like version control, debugging and SQL Developer integration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="EN-US" style="color: #444444; font-size: 10pt;"&gt;As the title suggest, chapters contain set of full recipes for selected issue. There are no multipage descriptions – each recipe leads you step by step to solve your problem. It makes the book very useful during daily routines at work, so you can use it just like manual or…cookbook (we have very similar document for new workers at &lt;a href="http://www.pretius.com/"&gt;Pretius&lt;/a&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="EN-US" style="color: #444444; font-size: 10pt;"&gt;I like this book for its simplicity and I wouldn’t hesitate to recommend it for someone who has started working with APEX 4 and had worked with previous versions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8950055419858926656-5942342398068122569?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/77fyHlM0nMk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/5942342398068122569/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=5942342398068122569" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5942342398068122569?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5942342398068122569?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/77fyHlM0nMk/recently-ive-read-several-apex-books.html" title="Oracle APEX 4.0 Cookbook" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2011/04/recently-ive-read-several-apex-books.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMDRnY7eip7ImA9WhZRF0U.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-5627553041242901978</id><published>2011-04-14T14:16:00.001+02:00</published><updated>2011-04-14T14:17:57.802+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-14T14:17:57.802+02:00</app:edited><title>Restart...</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;a href="http://openiconlibrary.sourceforge.net/gallery2/open_icon_library-full/icons/png/48x48/apps/system-restart.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://openiconlibrary.sourceforge.net/gallery2/open_icon_library-full/icons/png/48x48/apps/system-restart.png" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="color: #444444; font-size: 13px;"&gt;After long brake, I’m coming back. I’ve been running several projects and had no time for usual blogging, but now I hope I’ll be able to share my experience with you keeping regular time.&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="EN-US" style="color: #444444; font-size: 10pt;"&gt;Next month I’m getting married (bye, bye freedom :), but by the end of April I’m going to publish some post about advantage APEX charts and dashboards. I also would like to change blog layout and start running my demo application.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span class="apple-style-span"&gt;&lt;span lang="EN-US" style="color: #444444; font-size: 10pt;"&gt;See you soon!&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size: 10pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8950055419858926656-5627553041242901978?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/tLGOlMRNZ5E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/5627553041242901978/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=5627553041242901978" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5627553041242901978?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5627553041242901978?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/tLGOlMRNZ5E/restart.html" title="Restart..." /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2011/04/restart.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEABQ34-cSp7ImA9WxFRFk4.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-3199149655389511164</id><published>2010-04-30T15:05:00.000+02:00</published><updated>2010-04-30T15:05:52.059+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-30T15:05:52.059+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IMAGE_PREFIX" /><category scheme="http://www.blogger.com/atom/ns#" term="APP_IMAGES" /><category scheme="http://www.blogger.com/atom/ns#" term="WORKSPACE_IMAGES" /><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><title>Referencing substitution strings</title><content type="html">Recently some people asked me why I use &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;#IMAGE_PREFIX#&lt;/span&gt; substitution string instead of &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/i/&lt;/span&gt; in my application when I refer to server located files. The reason is quite simple – it’s not always &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/i/&lt;/span&gt;. You can configure your server files path in &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Home&amp;gt;Application Builder&amp;gt;Application&amp;gt;Shared Components&amp;gt;Edit Application Definition&lt;/span&gt; by editing "Image prefix" option.&lt;br /&gt;
&lt;br /&gt;
So it's better idea to use universal:&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script type="text/javascript" src="#IMAGE_PREFIX#jQuery/js/jquery-1.4.2.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
than hardcoded:&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script type="text/javascript" src="/i/jQuery/js/jquery-1.4.2.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Remember also about difference between three referencing substitution strings:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;#IMAGE_PREFIX#&lt;/b&gt; points to virtual path of server "images" directory (default &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/i/&lt;/span&gt;);&lt;/li&gt;
&lt;li&gt;&lt;b&gt;#APP_IMAGES#&lt;/b&gt; points to static files uploaded with APEX upload utility (so saved in database), that are related to specific application (and only this application can use them);&lt;/li&gt;
&lt;li&gt;&lt;b&gt;#WORKSPACE_IMAGES#&lt;/b&gt; points to static files uploaded with APEX upload utility (so&amp;nbsp;saved in database), that are related to the workspace (any application can use them).&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8950055419858926656-3199149655389511164?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/CZRI-MErUVI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/3199149655389511164/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=3199149655389511164" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/3199149655389511164?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/3199149655389511164?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/CZRI-MErUVI/referencing-substitution-strings.html" title="Referencing substitution strings" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2010/04/referencing-substitution-strings.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IASX8zeyp7ImA9WxFRFU4.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-3392258670861752579</id><published>2010-04-29T12:05:00.000+02:00</published><updated>2010-04-29T12:05:48.183+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-29T12:05:48.183+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jQuery UI" /><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><title>jQuery calendar in all APEX datepickers</title><content type="html">Would you like to have nice datepickers inside your application without any special coding or changing existing date fields?&lt;br /&gt;
&lt;br /&gt;
If you use jQuery, just add this code to your page template HTML header and enjoy jQuery datepickers in every place where you have APEX datepicker item.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script type=”text/javascript”&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;$(document).ready(function () {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; $(".datepicker &amp;gt; input[id]").datepicker();&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8950055419858926656-3392258670861752579?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/DBl-Np-v4rw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/3392258670861752579/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=3392258670861752579" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/3392258670861752579?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/3392258670861752579?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/DBl-Np-v4rw/jquery-calendar-in-all-apex-datepickers.html" title="jQuery calendar in all APEX datepickers" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2010/04/jquery-calendar-in-all-apex-datepickers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4HQ3Yzfyp7ImA9WxFRFU4.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-2555041180832248942</id><published>2010-04-23T15:56:00.008+02:00</published><updated>2010-04-29T11:22:12.887+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-29T11:22:12.887+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="accordion menu" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery UI" /><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><title>Accordion menu in APEX</title><content type="html">Menu system built into Application Express is quite easy and very useful when you develop simple application. However there are situations when this template doesn't work or has limitations like:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;when you have a lot of parent and standard tabs, you'll face problems with menu size;&lt;/li&gt;
&lt;li&gt;if you want to use some page as a common detail level of reports related to different tabs, you must choice one tab to be highlighted as current;&lt;/li&gt;
&lt;li&gt;to access submenu link, you must first load page, that is first in parent tab definition.&lt;/li&gt;
&lt;/ul&gt;It would be nice to build more dynamic menu (like accordion) that solves above problems, but is still based on the same tabs system, so we don't need to create menu again in different way (using lists or hardcoded links).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The plan&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To build accordion menu in APEX we need to do several things:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;attach jQuery and jQuery UI libraries and styles to our template;&lt;/li&gt;
&lt;li&gt;create dedicated place in our page template where we'll display menu;&lt;/li&gt;
&lt;li&gt;create process that will read parent and standard tabs (you must have them!) from APEX views and generate menu code including security rules;&lt;/li&gt;
&lt;li&gt;get it together and invoke jQuery accordion function.&lt;/li&gt;
&lt;/ul&gt;The idea is to generate menu code before page is loaded, write the code to global variable and use jQuery to show menu based on its value.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;jQuery integration&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
You can find jQuery and jQuery UI files on official website (www.jquery.com), where you can also customize its style. To integrate jQuery and APEX you must import downloaded files to the application or copy them directly on APEX server and refer them to in page HTML.&lt;br /&gt;
&lt;br /&gt;
More information about integrating jQuery and APEX you can find in previous post (&lt;a href="http://pstaniszewski.blogspot.com/2010/04/apex-and-jquery-ui-integration.html"&gt;APEX and jQuery integration&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Menu building&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
First we must edit page template (Home&amp;gt;Application Builder&amp;gt;Application&amp;gt;Shared Components&amp;gt;Templates), to turn off standard menu, and create region to display accordion.&lt;br /&gt;
If you edit Two Level Tab page template, find #PARENT_TAB_CELLS# and # TAB_CELLS# strings and remove them. Simpler and faster is to use template without menu.&lt;br /&gt;
Then write &amp;lt;div id="menu"&amp;gt;&amp;lt;/div&amp;gt; in place where you want to see new menu.&lt;br /&gt;
You'll need to edit some HTML and CSS to get nice look and place menu region exactly where you want to see it.&lt;br /&gt;
&lt;br /&gt;
If you don't have page zero, create it. Go there and create two hidden items (let's name them P0_MENU and P0_MENU_ACTIVE).&lt;br /&gt;
&lt;br /&gt;
Go to Application Processes (Home&amp;gt;Application Builder&amp;gt;Application&amp;gt;Shared Components&amp;gt; Application Processes) and create new "On Load: Before header" (no conditions) process with following code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;DECLARE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_result varchar2(32000); -- menu code&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_parent_tab number := 0;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_active_parent_tab number; -- active parent tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_tabs_for_page number := 0;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- session data&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_session_id NUMBER := v('SESSION'); -- session ID&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_application_id NUMBER := v('APP_ID'); -- application number&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_page_id NUMBER := v('APP_PAGE_ID'); -- current page&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- checking if current page has related tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;SELECT count(*) into v_tabs_for_page FROM apex_application_tabs WHERE application_id=v_application_id AND (tab_page = v_page_id OR instr(','||TAB_ALSO_CURRENT_FOR_PAGES||',',','||v_page_id||',')&amp;gt;0);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- if so we generate menu&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IF (v_tabs_for_page&amp;gt;0) THEN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- In two loops we generate menu code&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- First loop - for each parent tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FOR y IN (SELECT * FROM apex_application_parent_tabs WHERE application_id=v_application_id ORDER BY DISPLAY_SEQUENCE)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;LOOP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- If user can see parent tab, we add it and create second loop&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IF (y.AUTHORIZATION_SCHEME is null OR APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION(y.AUTHORIZATION_SCHEME)) THEN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- checking active parent tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IF (v_parent_tab is not null and v_parent_tab&amp;gt;0) THEN&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_result := v_result||'&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_parent_tab := v_parent_tab + 1;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_parent_tab := 1;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;END IF;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- adding parent tab link to menu&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_result := v_result||'&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;'||y.tab_label||'&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt;';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- reating second loop of children tabs for current parent tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FOR x IN (SELECT * FROM apex_application_tabs WHERE application_id=v_application_id AND TAB_SET = y.CURRENT_FOR_TABSET ORDER BY DISPLAY_SEQUENCE)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;LOOP&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- Authorization check&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IF (x.AUTHORIZATION_SCHEME is null OR APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION(x.AUTHORIZATION_SCHEME)) THEN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- if tab is related to current page, we make its name bold, if not we just add its code&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IF (x.tab_page = v_page_id OR instr(','||x.TAB_ALSO_CURRENT_FOR_PAGES||',',','||v_page_id||',')&amp;gt;0) THEN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_result := v_result||'&amp;lt;li&amp;gt;&amp;lt;B&amp;gt;&amp;lt;a href="'||APEX_UTIL.PREPARE_URL('f?p='||v_application_id||':'||x.tab_page||':'||v_session_id)||'"&amp;gt;'||x.tab_label||'&amp;lt;/a&amp;gt;&amp;lt;/B&amp;gt;&amp;lt;/li&amp;gt;';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_active_parent_tab := v_parent_tab; -- setting active parent tab&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_result := v_result||'&amp;lt;li&amp;gt;&amp;lt;a href="'||APEX_UTIL.PREPARE_URL('f?p='||v_application_id||':'||x.tab_page||':'||v_session_id)||'"&amp;gt;'||x.tab_label||'&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;END IF;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;END IF;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;END LOOP;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;END IF;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;END LOOP;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- Closing tabs list&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;v_result := v_result||'&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;-- setting menu code to global variable&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;:P0_MENU := '&amp;lt;div id="accordion"&amp;gt;'||v_result||'&amp;lt;/div&amp;gt;';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;:P0_MENU_ACTIVE := v_active_parent_tab-1;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;END IF; -- if not we don't change menu&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;END;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It'll generate and adapt menu, and then write its code to P0_MENU item every time you enter new page in your application.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
Return to page template and in Header section write:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_1zAobewUTzw/S9GpCEyvxjI/AAAAAAAAHMM/r-sGj86vOiA/s1600/accordion.bmp" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_1zAobewUTzw/S9GpCEyvxjI/AAAAAAAAHMM/r-sGj86vOiA/s320/accordion.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;$(document).ready(function () {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; $("#menu").html($('#P0_MENU').val());&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; $("#accordion").accordion({&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;autoHeight: false,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;animated: 'fold',&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;active: Number($('#P0_MENU_ACTIVE').val())&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; });&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;});&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Apply changes and run application. If your page uses template that you've just changed, you should see accordion menu filled with parent (as sections) and standard tabs (as links).&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
This method has been tested with APEX 3.2.1 and jQuery 1.4.2 (UI 1.8). It works with all browsers.&lt;br /&gt;
&lt;div&gt;&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/8950055419858926656-2555041180832248942?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/KkDdM4okC5c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/2555041180832248942/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=2555041180832248942" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/2555041180832248942?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/2555041180832248942?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/KkDdM4okC5c/accordion-menu-in-apex.html" title="Accordion menu in APEX" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_1zAobewUTzw/S9GpCEyvxjI/AAAAAAAAHMM/r-sGj86vOiA/s72-c/accordion.bmp" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2010/04/accordion-menu-in-apex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YAQXs9eip7ImA9WxFaF08.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-5894349719280132161</id><published>2010-04-23T13:40:00.012+02:00</published><updated>2010-07-21T17:12:20.562+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-21T17:12:20.562+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jQuery UI" /><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><title>APEX and jQuery UI integration</title><content type="html">&lt;div class="MsoNoSpacing"&gt;We can import every javascript library (including jQuery) to Oracle APEX using standard import file process available from application level (&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Home&amp;gt;Application Builder&amp;gt;Application&amp;gt;Shared Components&amp;gt;Static Files&lt;/span&gt;) and then reference it in page header using #APP_IMAGES# or #WORKSPACE_IMAGES# as file source.&lt;br /&gt;
&lt;br /&gt;
However files imported this way won’t be cached by browser (they are in database, not in server’s file system) and using this technique it’s hard to import packages containing several files referencing &amp;nbsp;to each other (like jQuery UI).&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_1zAobewUTzw/S9GK1YwCnyI/AAAAAAAAHL8/WbrH2OSFsqU/s1600/apex_tree.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/_1zAobewUTzw/S9GK1YwCnyI/AAAAAAAAHL8/WbrH2OSFsqU/s200/apex_tree.PNG" width="65" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
So if it’s possible you should upload jQuery and jQuery UI files directly on APEX server. To do this, find APEX folder and "images" catalogue inside. In&amp;nbsp;"images" create subfolder "jQuery" and copy there jQuery and jQuery UI files.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Files from server&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In&amp;nbsp;"images" folder you should find imagelist.xml file. Edit it and add all dictionaries and all files you’ve just copied. Save the file, run SQL*Plus and execute script:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;SQL&amp;gt; @apxldimg.sql PATH&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
where PATH is your APEX folder path. After several minutes all files will be available.&lt;br /&gt;
&lt;br /&gt;
To use jQuery you must reference to imported files in HTML header (on single page or in page template) using:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;link rel="stylesheet" &amp;nbsp;type="text/css" href="#IMAGE_PREFIX#jQuery/css/ui-lightness/jquery-ui-1.8rc2.custom.css" /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script type="text/javascript" src="#IMAGE_PREFIX#jQuery/js/jquery-1.4.2.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script type="text/javascript" src="#IMAGE_PREFIX#jQuery/js/jquery-ui-1.8rc2.custom.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Files from external source&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
If you don't want or simply can't import jQuery libraries and CSS in this way you can load them from external source (it's good idea for OTN applications). Just put this text in HTML header:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script src="http://www.google.com/jsapi"&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; google.load('jquery', '1.4.2');&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; google.load('jqueryui', '1.8.1');&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/redmond/jquery-ui.css" /&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Test&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To check if everything works fine, create new datepicker item on your page. In page HTML header put following code:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;script type=”text/javascript”&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;$(document).ready(function () {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; $(".datepicker &amp;gt; input[id]").datepicker( { dateFormat: 'yy-mm-dd' });&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
After page refresh, when you click inside datepicker field, calendar region should appear.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_1zAobewUTzw/S9GLJX94dRI/AAAAAAAAHME/74owTxr__XY/s1600/datepicker.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="125" src="http://1.bp.blogspot.com/_1zAobewUTzw/S9GLJX94dRI/AAAAAAAAHME/74owTxr__XY/s200/datepicker.PNG" width="200" /&gt;&lt;/a&gt;&lt;/div&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/8950055419858926656-5894349719280132161?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/ECoIF4DACM8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/5894349719280132161/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=5894349719280132161" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5894349719280132161?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5894349719280132161?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/ECoIF4DACM8/apex-and-jquery-ui-integration.html" title="APEX and jQuery UI integration" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_1zAobewUTzw/S9GK1YwCnyI/AAAAAAAAHL8/WbrH2OSFsqU/s72-c/apex_tree.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2010/04/apex-and-jquery-ui-integration.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8CRng5fSp7ImA9WxBUFkw.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-5534115980350155371</id><published>2010-03-03T12:19:00.005+01:00</published><updated>2010-03-03T13:21:07.625+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-03T13:21:07.625+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle XE" /><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><title>Common installation errors (APEX &amp; Oracle XE)</title><content type="html">&lt;div class="MsoNoSpacing"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Recently I’ve installed new instance of APEX with Oracle XE on computer connected to corporation network. During this process I experienced a few problems with installation and APEX performance.&lt;br /&gt;
&lt;br /&gt;
I was unable to complete installation of Oracle XE without turning network adapter off. There were no error messages, but after installation I was unable to enter database homepage (404 error) and login to database using SQL*Plus. You can solve this problem by unplugging network or turning off proxy. There must be some problem with proxy or DNS settings.&lt;br /&gt;
&lt;br /&gt;
Another (this time quite common) problem is APEX performance just after new installation. If you feel, that your APEX runs pretty slow, you should probably change SHARED_SERVERS parameter in your database.&lt;br /&gt;
Just run SQL*Plus, connect as database administrator and write:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; ALTER SYSTEM SET SHARED_SERVERS = 20;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This way you can increase number of connections available for HTTP requests &amp;nbsp;that render your page.&lt;br /&gt;
&lt;br /&gt;
If you use IE, then good idea (especially if APEX with Firefox works much faster) is to check HTTP 1.1 settings in Tools &amp;gt; Internet options &amp;gt; Advanced.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8950055419858926656-5534115980350155371?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/1RCRoWPGv_E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/5534115980350155371/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=5534115980350155371" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5534115980350155371?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5534115980350155371?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/1RCRoWPGv_E/common-installation-errors-apex-oracle.html" title="Common installation errors (APEX &amp; Oracle XE)" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2010/03/common-installation-errors-apex-oracle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEADRXk7fSp7ImA9WxNbE04.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-1696550426892375235</id><published>2009-11-16T01:51:00.002+01:00</published><updated>2009-11-16T01:52:54.705+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-16T01:52:54.705+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="polski" /><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><category scheme="http://www.blogger.com/atom/ns#" term="tłumaczenie" /><title>Tłumaczenie kalendarza i wbudowanych komunikatów</title><content type="html">&lt;div class="MsoNormal"&gt;&lt;span style="font-family: inherit;"&gt;Zgodnie ze wcześniejszą deklaracją, niektóre wiadomości będą umieszczane w dwóch językach. Zwłaszcza te dotyczące tworzenia aplikacji wielojęzycznych.&lt;br /&gt;
&lt;br /&gt;
Jeżeli tworzymy przy pomocy APEXa aplikację w języku innym niż język angielski, z pewnością napotkamy problem związany z komunikatami wyświetlanymi przez silnik APEXa, których nie da się bezpośrednio przetłumaczyć.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
Dotyczy to głównie kalendarza oraz wiadomości o błędach pojawiających się po procesie walidacji (&lt;/span&gt;&lt;i&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;“X errors occurred”&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: inherit;"&gt;&lt;i&gt;&lt;/i&gt;) i po podaniu nieprawidłowego loginu lub hasła podczas logowania (&lt;/span&gt;&lt;i&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;“Invalid login credentials”&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: inherit;"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: inherit;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
Aby poradzić sobie z pierwszym problemem wystarczy zmienić dwie opcję w menu zarządzania językami. &lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;span style="font-family: inherit;"&gt;Należy w tym calu przejść do &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="color: #333333;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Shared Components -&amp;gt; Edit Globalization Attributes&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;. &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;Następnie zmieniamy Application Primary Language np. na język polski i ustawiamy Application Language Derived From na "Use Application Primary Language" aby zawsze zachować wybrany język (chyba, że zależy nam na innej z dostępnych opcji – np. pobierania języka użytkownika z przeglądar&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: black;"&gt;ki).&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black;"&gt;W celu przetłumacze&lt;/span&gt;nia wbudowanych komunikatów na język polski należy przejść do &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Shared Components -&amp;gt; Text Messages&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;i utworzyć nową wiadomość tekstową o nazwie nadpisującej już istniejącą w systemie. Przykładowo aby zmienić komunikat błędu logowania, musimy nazwać nową wiadomość “INVALID_CREDENTIALS” i napisać nowy tekst w dostępnym&amp;nbsp;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: black;"&gt;polu.&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black;"&gt;Więcej inform&lt;/span&gt;acji o tłumaczeniu aplikacji oraz pełną listę wiadomości możliwych do podmienienia znajdziemy w dokumentacji APEXa:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="font-family: inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="color: #999999;"&gt;&lt;a href="http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/global.htm#CHDJFHBD"&gt;&lt;span lang="PL" style="color: #336699;"&gt;&lt;span style="font-family: inherit;"&gt;http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/global.htm#CHDJFHBD&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&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/8950055419858926656-1696550426892375235?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/wplVAW73czc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/1696550426892375235/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=1696550426892375235" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/1696550426892375235?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/1696550426892375235?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/wplVAW73czc/tumaczenie-kalendarza-i-wbudowanych.html" title="Tłumaczenie kalendarza i wbudowanych komunikatów" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2009/11/tumaczenie-kalendarza-i-wbudowanych.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QGQn88eip7ImA9WxNbFUQ.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-5482612298902843911</id><published>2009-11-15T23:58:00.003+01:00</published><updated>2009-11-19T02:48:43.172+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-19T02:48:43.172+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="info" /><title>Journeyman level</title><content type="html">&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;I’ve just noticed that I reached Journeyman level on &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=137"&gt;Oracle APEX forum&lt;/a&gt;. I know that is not big deal (there are guys with thousands of points) but it means a lot for me. Now I know that after a year since I’ve started my APEX journey, it bring me somewhere and I don’t want to return.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Thank you for points and wish me luck, because there is a lot to learn :)&lt;/span&gt;&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/8950055419858926656-5482612298902843911?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/7tbdynC-4pA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/5482612298902843911/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=5482612298902843911" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5482612298902843911?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/5482612298902843911?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/7tbdynC-4pA/journeyman-level.html" title="Journeyman level" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2009/11/journeyman-level.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8HRHc7fip7ImA9WxNbE08.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-2859698013251515627</id><published>2009-11-15T23:03:00.003+01:00</published><updated>2009-11-15T23:07:15.906+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-15T23:07:15.906+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><category scheme="http://www.blogger.com/atom/ns#" term="translation" /><title>APEX calendar and built-in strings translation</title><content type="html">&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;If you develop your APEX applications in language other than English, you have probably faced problem of translation some APEX built-in strings.&lt;br /&gt;
&lt;br /&gt;
To translate things like month and day names in calendar or error messages like &lt;i&gt;“X errors occurred”&lt;/i&gt; during validation process or &lt;i&gt;“Invalid login credentials”&lt;/i&gt; after login, you should do two things.&lt;br /&gt;
&lt;br /&gt;
To change calendar names and other texts referring to your system or browser language, go to &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Shared Components -&amp;gt; Edit Globalization Attributes&lt;/span&gt;. Change Application Primary Language to the one you use and set Application Language Derived From to "Use Application Primary Language" (unless you need other option).&lt;br /&gt;
&lt;br /&gt;
To translate built-in strings, go to &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Shared Components -&amp;gt; Text Messages&lt;/span&gt; and create message with name associated with string you want to translate. If you want to translate login error message, name your message as “INVALID_CREDENTIALS” and write substitution string in your language.&lt;br /&gt;
&lt;br /&gt;
More information about translation your applications and full list of message names to translate you can find in APEX documentation: &lt;/span&gt;&lt;span lang="EN-US" style="color: black;"&gt;&lt;span style="color: #999999;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;a href="http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/global.htm#CHDJFHBD"&gt;http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/global.htm#CHDJFHBD&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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/8950055419858926656-2859698013251515627?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/-N3YqBkVi3o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/2859698013251515627/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=2859698013251515627" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/2859698013251515627?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/2859698013251515627?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/-N3YqBkVi3o/apex-calendar-and-built-in-strings.html" title="APEX calendar and built-in strings translation" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2009/11/apex-calendar-and-built-in-strings.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QNR3c_fSp7ImA9WxNbE08.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-2474970295387021873</id><published>2009-11-15T22:32:00.007+01:00</published><updated>2009-11-15T22:43:16.945+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-15T22:43:16.945+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="pl/sql" /><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><title>Region appears after button clicked</title><content type="html">&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-GB"&gt;Sometimes it is very useful to show report on developed page after some button have been clicked. It will allow page user to access it much faster and decrease amount of processing queries.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-GB"&gt;Let’s say we have a page with filter and report regions. In filter region we add some text fields and SHOW button. The report based on some SQL query with WHERE part referring to filter fields appears only when button SHOW is clicked.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-GB"&gt;To do it, go to developer mode and find on your page a branch associated with SHOW button. Go to its details and add request that will be send after submit (e.g. APPLY). Save changes.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_1zAobewUTzw/SwBzT71Nl7I/AAAAAAAAHKo/9Cmnc596ETg/s1600-h/branch_action.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_1zAobewUTzw/SwBzT71Nl7I/AAAAAAAAHKo/9Cmnc596ETg/s320/branch_action.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-GB"&gt;Now go to your report region details and find Conditions segment. Select “PL/SQL Expression” as condition type and enter following code:&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;:REQUEST = 'APPLY'&lt;br /&gt;
OR instr(:REQUEST, 'fsp_sort') &amp;gt; 0&lt;br /&gt;
OR instr(:REQUEST, 'pg_R') &amp;gt; 0&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_1zAobewUTzw/SwBzY0AMcBI/AAAAAAAAHKw/7XovMvkP_WI/s1600-h/condition_type.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_1zAobewUTzw/SwBzY0AMcBI/AAAAAAAAHKw/7XovMvkP_WI/s320/condition_type.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-GB"&gt;Save your report. Now when you enter this page, the report region won’t show. If you click SHOW button, the page will submit and send request APPLY. As APPLY is condition to show report region, it will appear. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-GB"&gt;The other two conditions are needed to prevent disappearing of report region when you want to sort it or use pagination.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&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/8950055419858926656-2474970295387021873?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/2ofRTrrm0tg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/2474970295387021873/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=2474970295387021873" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/2474970295387021873?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/2474970295387021873?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/2ofRTrrm0tg/region-appears-after-button-clicked.html" title="Region appears after button clicked" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_1zAobewUTzw/SwBzT71Nl7I/AAAAAAAAHKo/9Cmnc596ETg/s72-c/branch_action.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2009/11/region-appears-after-button-clicked.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUHQH0zfip7ImA9WxNVF0k.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-2055107695970380641</id><published>2009-10-28T17:36:00.005+01:00</published><updated>2009-10-28T17:43:51.386+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-28T17:43:51.386+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="CSS" /><category scheme="http://www.blogger.com/atom/ns#" term="APEX" /><title>Case static fields</title><content type="html">&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-US"&gt;At the beginning let’s do something easy but quite useful if you want to force user to use upper or lower case letters in text field.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-US"&gt;We can achieve it in two ways – by using javascript or CSS. I prefer second method because it's more “pure” in my opinion.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-US"&gt;Create text item (P1_TEXT) in your page. Go to item details and find &lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;b&gt;HTML Form Element Attributes&lt;/b&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;. Write there new style or add following attribute to existing one:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;blockquote&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;style="text-transform: uppercase;"&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_1zAobewUTzw/Suhy7oK3HWI/AAAAAAAAHKA/CSwW2WghT6A/s1600-h/uppercase.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_1zAobewUTzw/Suhy7oK3HWI/AAAAAAAAHKA/CSwW2WghT6A/s400/uppercase.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-US"&gt;Of course instead of “uppercase”, you can use “lowercase” option. Accept changes and the only letters you can enter in P1_TEXT are upper.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-US"&gt;If you want to use javascript you should add to the same &lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;b&gt;HTML Form Element Attributes&lt;/b&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt; field, following JS code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;blockquote&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;onKeyUp=”$x(‘P1_TEXT’).value=$x(‘P1_TEXT’).value.toUpperCase();”&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;or&lt;br /&gt;
&lt;blockquote&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;onKeyUp=”this.value=this.value.toUpperCase();”&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;span lang="EN-US"&gt;Apply changes and now every time you click some key on P1_TEXT, its value will be changed dynamically to upper case.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&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/8950055419858926656-2055107695970380641?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/wQvqFa_WPiE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/2055107695970380641/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=2055107695970380641" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/2055107695970380641?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/2055107695970380641?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/wQvqFa_WPiE/case-static-fields.html" title="Case static fields" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_1zAobewUTzw/Suhy7oK3HWI/AAAAAAAAHKA/CSwW2WghT6A/s72-c/uppercase.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2009/10/case-static-fields.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYFR34-cSp7ImA9WxNbE0o.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-7599991710254869541</id><published>2009-10-28T17:10:00.009+01:00</published><updated>2009-11-16T14:11:56.059+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-16T14:11:56.059+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="info" /><category scheme="http://www.blogger.com/atom/ns#" term="polski" /><category scheme="http://www.blogger.com/atom/ns#" term="informacje" /><category scheme="http://www.blogger.com/atom/ns#" term="Polska" /><category scheme="http://www.blogger.com/atom/ns#" term="intro" /><title>Let's start! / Zaczynamy!</title><content type="html">&lt;div class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;span style="font-weight: bold;"&gt;Let's start!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span lang="EN-US"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;After almost one year I've finally decided to start my blog.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span lang="EN-US"&gt;I’m going to post here some interesting problems I faced during my work with Oracle APEX in &lt;a href="http://www.pretius.com/en"&gt;Pretius Company&lt;/a&gt; and more detailed answers to questions addressed on &lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=137"&gt;Oracle APEX Forum&lt;/a&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
This blog will be written in English, but if you have any questions, feel free to &lt;a href="mailto:pstaniszewski replaceIt.with.(AT) pretius.com"&gt;contact me&lt;/a&gt; using Polish and German as well.&lt;br /&gt;
&lt;span lang="EN-US"&gt;Keep your fingers crossed!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Zaczynamy!&lt;/b&gt; (Polish version)&lt;br /&gt;
&lt;br /&gt;
Witam serdecznie na moim blogu poświęconym technologii Oracle Application Express (APEX).&lt;br /&gt;
&lt;br /&gt;
Zdecydowałem się zacząć redagować tą stronę po ponad roku nauki ww. systemu. Pozwala on na szybkie i bezpieczne tworzenie aplikacji zarządzanych przez przeglądarkę internetową, stanowiąc ciekawą alternatywę dla PHP, J2EE i ASP.&lt;br /&gt;
&lt;br /&gt;
Będę zamieszczał tutaj rozwiązania interesujących problemów z którymi zetknąłem się podczas swojej pracy w firmie &lt;a href="http://www.pretius.com/"&gt;Pretius&lt;/a&gt;&amp;nbsp;oraz na oficjalnym&amp;nbsp;&lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=137&amp;amp;start=0"&gt;forum Oracle APEX&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Ze względu na oficjalny język tego forum oraz niską popularność APEXa w Polsce, zdecydowałem się pisać bloga w języku angielskim, choć nie wykluczam także postów dwujęzycznych. Jeżeli jednak masz jakieś pytanie, bądź chciałbyś się dowiedzieć więcej o technologii i możliwości jej wdrożenia w Twojej firmie, &lt;a href="mailto:pstaniszewski zastapTo.malpa pretius.com"&gt;pisz śmiało&lt;/a&gt; także w naszym ojczystym języku.&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/8950055419858926656-7599991710254869541?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/3bHiColD0Kc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/7599991710254869541/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=7599991710254869541" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/7599991710254869541?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/7599991710254869541?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/3bHiColD0Kc/after-almost-one-year-ive-finally.html" title="Let's start! / Zaczynamy!" /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2009/10/after-almost-one-year-ive-finally.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8GRHo8fip7ImA9WxRQFEo.&quot;"><id>tag:blogger.com,1999:blog-8950055419858926656.post-8513015196739962349</id><published>2008-10-08T11:34:00.000+02:00</published><updated>2008-10-08T17:13:45.476+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-08T17:13:45.476+02:00</app:edited><title>Coming soon...</title><content type="html">Here will be my blog :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8950055419858926656-8513015196739962349?l=pstaniszewski.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/PrzemekStaniszewski-OracleApexMe/~4/4-0G--Peons" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://pstaniszewski.blogspot.com/feeds/8513015196739962349/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8950055419858926656&amp;postID=8513015196739962349" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/8513015196739962349?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8950055419858926656/posts/default/8513015196739962349?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/PrzemekStaniszewski-OracleApexMe/~3/4-0G--Peons/in-progress.html" title="Coming soon..." /><author><name>Przemysław Staniszewski (Przemek)</name><uri>http://www.blogger.com/profile/10724226579661088039</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://pstaniszewski.blogspot.com/2008/10/in-progress.html</feedburner:origLink></entry></feed>

