<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7774621103851334986</id><updated>2026-07-17T23:22:37.685+05:30</updated><category term="apex"/><category term="features"/><category term="function"/><category term="javascript"/><category term="jquery"/><category term="mobile"/><category term="node.js"/><category term="oracle"/><category term="oracle driver"/><category term="orale"/><category term="prograaming"/><category term="security"/><category term="sql"/><category term="theme"/><title type='text'>Oracle APEX Consultant | Oracle APEX Experts</title><subtitle type='html'>OracleAPEXConsultant is an Oracle Application Express (APEX) consulting company by Oracle technologists - providing training, development &amp;amp; support services.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-1403646061378738604</id><published>2016-07-13T00:49:00.001+05:30</published><updated>2016-07-13T00:49:10.271+05:30</updated><title type='text'>Suppressing Space &amp; Zero into date formating</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;pre class=&quot;notranslate&quot; style=&quot;background-color: #e8eaf6; border-radius: 4px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px; line-height: 1.42857; margin-bottom: 11px; overflow: auto; padding: 10.5px; white-space: pre-wrap; word-break: normal; word-wrap: break-word;&quot;&gt;TO_CHAR(sysdate, &#39;Month,YYYY&#39;)
&lt;em style=&quot;box-sizing: border-box;&quot;&gt;Result:&lt;/em&gt; &#39;July ,2016&#39;
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;notranslate&quot; style=&quot;background-color: #e8eaf6; border-radius: 4px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px; line-height: 1.42857; margin-bottom: 11px; overflow: auto; padding: 10.5px; white-space: pre-wrap; word-break: normal; word-wrap: break-word;&quot;&gt;TO_CHAR(sysdate, &#39;FMMonth,YYYY&#39;)
&lt;em style=&quot;box-sizing: border-box;&quot;&gt;Result:&lt;/em&gt; &#39;July,2016&#39;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;notranslate&quot; style=&quot;background-color: #e8eaf6; border-radius: 4px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px; line-height: 1.42857; margin-bottom: 11px; overflow: auto; padding: 10.5px; white-space: pre-wrap; word-break: normal; word-wrap: break-word;&quot;&gt;TO_CHAR(sysdate, &#39;Month DD, YYYY&#39;)
&lt;em style=&quot;box-sizing: border-box;&quot;&gt;Result:&lt;/em&gt; &#39;July 09, 2016&#39;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;notranslate&quot; style=&quot;background-color: #e8eaf6; border-radius: 4px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px; line-height: 1.42857; margin-bottom: 11px; overflow: auto; padding: 10.5px; white-space: pre-wrap; word-break: normal; word-wrap: break-word;&quot;&gt;TO_CHAR(sysdate, &#39;FMMonth DD, YYYY&#39;)
&lt;em style=&quot;box-sizing: border-box;&quot;&gt;Result:&lt;/em&gt; &#39;July 9, 2016&#39;
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
See into above examples, when we use FM into format_mask parameter it removing/suppress the space and zero. If you use MON it won&#39;t has space, but if using Month is will be returning with right padding space.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/1403646061378738604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/suppressing-space-zero-into-date.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/1403646061378738604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/1403646061378738604'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/suppressing-space-zero-into-date.html' title='Suppressing Space &amp; Zero into date formating'/><author><name>OracleAPEXConsultant</name><uri>http://www.blogger.com/profile/13836056218813862680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-4256042407574797591</id><published>2016-07-13T00:33:00.003+05:30</published><updated>2016-07-13T00:33:47.838+05:30</updated><title type='text'>Bugs Fixed in the Oracle APEX 5.0.4.00.12 </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;sect2&quot; style=&quot;background-color: white; color: #222222; font-family: Tahoma, sans-serif; font-size: small;&quot;&gt;
&lt;h3 class=&quot;sect2&quot; style=&quot;font-size: 18.07px;&quot;&gt;
Bugs Fixed in the Oracle APEX 5.0.4.00.12 Patch Set&lt;/h3&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-patch-note-504-3094049.html#BABJGHBG&quot; style=&quot;background: inherit; color: #72007c;&quot;&gt;Table 1&lt;/a&gt;&amp;nbsp;lists bugs fixed in the Oracle Application Express 5.0.4.00.12 patch set.&lt;br /&gt;
&lt;div class=&quot;tblformal&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; id=&quot;sthref2&quot; name=&quot;sthref2&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://www.blogger.com/null&quot; id=&quot;BABJGHBG&quot; name=&quot;BABJGHBG&quot;&gt;&lt;/a&gt;&lt;div class=&quot;titleintable&quot; style=&quot;font-style: italic; font-weight: bold;&quot;&gt;
Table 1 Bugs Fixed in the Oracle Application Express 5.0.4.00.12 Patch Set&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;3&quot; cellspacing=&quot;0&quot; class=&quot;Formal&quot; dir=&quot;ltr&quot; frame=&quot;hsides&quot; rules=&quot;groups&quot; style=&quot;font-size: small; width: 100%px;&quot; summary=&quot;This table contains a list of the bugs fixed in the Oracle Application Express 5.0.4 patch set.&quot; title=&quot;Bugs Fixed in the Oracle Application Express 5.0.4.00.12 Patch Set&quot;&gt;&lt;colgroup&gt;&lt;col width=&quot;15%&quot;&gt;&lt;/col&gt;&lt;col width=&quot;*&quot;&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;thead&gt;
&lt;tr align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;th align=&quot;left&quot; id=&quot;r1c1-t8&quot; style=&quot;vertical-align: bottom;&quot; valign=&quot;bottom&quot;&gt;Bug Number&lt;/th&gt;&lt;th align=&quot;left&quot; id=&quot;r1c2-t8&quot; style=&quot;vertical-align: bottom;&quot; valign=&quot;bottom&quot;&gt;Description&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;td align=&quot;left&quot; headers=&quot;r1c1-t8&quot; id=&quot;r2c1-t8&quot; style=&quot;vertical-align: top;&quot;&gt;21437474&lt;/td&gt;&lt;td align=&quot;left&quot; headers=&quot;r2c1-t8 r1c2-t8&quot; style=&quot;vertical-align: top;&quot;&gt;Intermittent bug with Oracle Application Express SQL Workshop uploads - random errors&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;td align=&quot;left&quot; headers=&quot;r1c1-t8&quot; id=&quot;r3c1-t8&quot; style=&quot;vertical-align: top;&quot;&gt;21517239&lt;/td&gt;&lt;td align=&quot;left&quot; headers=&quot;r3c1-t8 r1c2-t8&quot; style=&quot;vertical-align: top;&quot;&gt;Reopen cancelled modal dialog in Internet Explorer 11 results in disabled input fields&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;td align=&quot;left&quot; headers=&quot;r1c1-t8&quot; id=&quot;r4c1-t8&quot; style=&quot;vertical-align: top;&quot;&gt;22110421&lt;/td&gt;&lt;td align=&quot;left&quot; headers=&quot;r4c1-t8 r1c2-t8&quot; style=&quot;vertical-align: top;&quot;&gt;Editing a workspace end user failed with internal error&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;td align=&quot;left&quot; headers=&quot;r1c1-t8&quot; id=&quot;r5c1-t8&quot; style=&quot;vertical-align: top;&quot;&gt;22493656&lt;/td&gt;&lt;td align=&quot;left&quot; headers=&quot;r5c1-t8 r1c2-t8&quot; style=&quot;vertical-align: top;&quot;&gt;Upgrading Oracle Application Express 4.2 to 5.0.3 throws&amp;nbsp;&lt;code dir=&quot;ltr&quot; style=&quot;font-size: 11.6188px;&quot;&gt;ORA-20001: Compile Error: &quot;Package Body&quot;&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;td align=&quot;left&quot; headers=&quot;r1c1-t8&quot; id=&quot;r6c1-t8&quot; style=&quot;vertical-align: top;&quot;&gt;22532860&lt;/td&gt;&lt;td align=&quot;left&quot; headers=&quot;r6c1-t8 r1c2-t8&quot; style=&quot;vertical-align: top;&quot;&gt;&lt;code dir=&quot;ltr&quot; style=&quot;font-size: 11.6188px;&quot;&gt;APEX_JSON: XML&lt;/code&gt;&amp;nbsp;to JSON conversion treats 0 as string and 0123 as number&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;td align=&quot;left&quot; headers=&quot;r1c1-t8&quot; id=&quot;r7c1-t8&quot; style=&quot;vertical-align: top;&quot;&gt;23249353&lt;/td&gt;&lt;td align=&quot;left&quot; headers=&quot;r7c1-t8 r1c2-t8&quot; style=&quot;vertical-align: top;&quot;&gt;Classic report escaping: &quot;Display As&quot; for substitution taken from wrong column&lt;/td&gt;&lt;/tr&gt;
&lt;tr align=&quot;left&quot; valign=&quot;top&quot;&gt;&lt;td align=&quot;left&quot; headers=&quot;r1c1-t8&quot; id=&quot;r8c1-t8&quot; style=&quot;vertical-align: top;&quot;&gt;23261092&lt;/td&gt;&lt;td align=&quot;left&quot; headers=&quot;r8c1-t8 r1c2-t8&quot; style=&quot;vertical-align: top;&quot;&gt;SSO: // in redirect path when SSO success URL registered for different host&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;a href=&quot;https://www.blogger.com/null&quot; id=&quot;BABBEHID&quot; name=&quot;BABBEHID&quot; style=&quot;background-color: white; color: #222222; font-family: Tahoma, sans-serif; font-size: small;&quot;&gt;&lt;/a&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Tahoma, sans-serif; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;sect2&quot; style=&quot;background-color: white; color: #222222; font-family: Tahoma, sans-serif; font-size: small;&quot;&gt;
&lt;h3 class=&quot;sect2&quot; style=&quot;font-size: 18.07px;&quot;&gt;
&lt;br /&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/4256042407574797591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/bugs-fixed-in-oracle-apex-5040012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4256042407574797591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4256042407574797591'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/bugs-fixed-in-oracle-apex-5040012.html' title='Bugs Fixed in the Oracle APEX 5.0.4.00.12 '/><author><name>OracleAPEXConsultant</name><uri>http://www.blogger.com/profile/13836056218813862680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-4561715774749725706</id><published>2016-07-13T00:30:00.002+05:30</published><updated>2016-07-13T00:31:50.769+05:30</updated><title type='text'>ORACLE APEX 5.0.4.00.12 is released</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;background-color: white; color: #606060; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 16px; line-height: 24px;&quot;&gt;Oracle Application Express Release 5.0.4.00.12 was first released on July 12, 2016.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #606060; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 16px; line-height: 24px;&quot;&gt;This is a cumulative patch set for Application Express 5.0.0, Application Express 5.0.1, Application Express 5.0.2, and Application Express 5.0.3. The full download is available below.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #606060; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 16px; line-height: 24px;&quot;&gt;English only :&amp;nbsp;&lt;a href=&quot;http://download.oracle.com/otn/java/appexpress/apex_5.0.4_en.zip&quot; target=&quot;_blank&quot;&gt;Download&amp;nbsp;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
All Languages :&amp;nbsp;&lt;a href=&quot;http://download.oracle.com/otn/java/appexpress/apex_5.0.4.zip&quot; target=&quot;_blank&quot;&gt;Download&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/4561715774749725706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/oracle-apex-5040012-is-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4561715774749725706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4561715774749725706'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/oracle-apex-5040012-is-released.html' title='ORACLE APEX 5.0.4.00.12 is released'/><author><name>OracleAPEXConsultant</name><uri>http://www.blogger.com/profile/13836056218813862680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-1399460126337387104</id><published>2016-07-13T00:26:00.003+05:30</published><updated>2016-07-13T00:28:23.665+05:30</updated><title type='text'>What is new in Oracle APEX 5.0.4</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3 style=&quot;background-color: #fdfefe; color: #53798b; font-family: Arial, Helvetica, sans-serif; font-size: 1.5em; font-stretch: normal; margin: 10px 0px; padding: 0px;&quot;&gt;
&lt;span style=&quot;font-size: 1.5em;&quot;&gt;APEX Views&lt;/span&gt;&lt;/h3&gt;
&lt;ul style=&quot;background-color: #fdfefe; color: #5e6568; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19px;&quot;&gt;
&lt;li&gt;got an improved security check. They now look for read privilege on the apex-admin-role instead of full admin privileges.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;APEX_DEBUG_MESSAGES&lt;/strong&gt;&amp;nbsp;finally lists the Call Stack where a message was written (level 9 debug, only)&lt;/li&gt;
&lt;li&gt;new View&amp;nbsp;&lt;strong&gt;APEX_INSTANCE_PARAMETERS&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #fdfefe; color: #53798b; font-family: Arial, Helvetica, sans-serif; font-size: 1.5em; font-stretch: normal; margin: 10px 0px; padding: 0px;&quot;&gt;
APEX Admin Read Role&lt;/h3&gt;
&lt;ul style=&quot;background-color: #fdfefe; color: #5e6568; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19px;&quot;&gt;
&lt;li&gt;new Role / Function to give more detailed access to APEX API functions and dictionary views:&lt;ul&gt;
&lt;li&gt;user is wwv_flow.g_flow_schema_owner, SYS, SYSTEM&lt;/li&gt;
&lt;li&gt;user has been granted APEX_ADMINISTRATOR_ROLE&lt;/li&gt;
&lt;li&gt;user has been granted APEX_ADMINISTRATOR_READ_ROLE&lt;/li&gt;
&lt;li&gt;user has been granted SELECT ANY DICTIONARY&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #fdfefe; color: #53798b; font-family: Arial, Helvetica, sans-serif; font-size: 1.5em; font-stretch: normal; margin: 10px 0px; padding: 0px;&quot;&gt;
CSS&lt;/h3&gt;
&lt;ul style=&quot;background-color: #fdfefe; color: #5e6568; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19px;&quot;&gt;
&lt;li&gt;some dramatic changes, mostly colors by a shade, like change a barchart border-color from #7977de to #7978de&lt;/li&gt;
&lt;li&gt;I guess Shakeeb wanted to make everything look even more “crisp” ;-)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;background-color: #fdfefe; color: #53798b; font-family: Arial, Helvetica, sans-serif; font-size: 1.5em; font-stretch: normal; margin: 10px 0px; padding: 0px;&quot;&gt;
Debug&lt;/h3&gt;
&lt;ul style=&quot;background-color: #fdfefe; color: #5e6568; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19px;&quot;&gt;
&lt;li&gt;A first glance shows that debug messages have been added. I guess that goes hand in hand with security tightening the code itself.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;color: #5e6568; font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 19px;&quot;&gt;&lt;b&gt;Ref:&lt;/b&gt;&amp;nbsp;http://www.oracle-and-apex.com/whats-new-in-oracle-apex-5-0-4/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/1399460126337387104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/what-is-new-in-oracle-apex-504_51.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/1399460126337387104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/1399460126337387104'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/what-is-new-in-oracle-apex-504_51.html' title='What is new in Oracle APEX 5.0.4'/><author><name>OracleAPEXConsultant</name><uri>http://www.blogger.com/profile/13836056218813862680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-3251081696381794082</id><published>2016-07-01T18:52:00.000+05:30</published><updated>2016-07-01T18:52:45.879+05:30</updated><title type='text'>APEX 5.1 How to manually process Interactive Grid data using PL/SQL</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
if you want to execute your own insert/update/delete or PL/SQL api calls for all the modified rows of an Interactive Grid you can do this with the &quot;&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Save Interactive Grid Data / Interactive Grid Automatic Row Processing (DML)&quot; process which gets automatically created when you make an Interactive Grid editable.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Here is an example if your Interactive Grid is based on EMP.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;strong style=&quot;border: 0px; font-family: inherit; font-size: 13.3333px; font-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Settings for your Region:&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Source &amp;gt; SQL Query =&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;dp-highlighter&quot; style=&quot;background-color: #e7e5dc; border: 0px; color: #3d3d3d; font-family: Consolas, &amp;quot;Courier New&amp;quot;, Courier, mono, serif; font-size: 12px; margin: 0px !important; overflow: visible; padding: 1px 0px 0px; vertical-align: baseline; width: auto;&quot;&gt;
&lt;div class=&quot;bar&quot; style=&quot;border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px 0px 0px 45px; vertical-align: baseline;&quot;&gt;
&lt;div style=&quot;border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ol class=&quot;dp-sql&quot; start=&quot;1&quot; style=&quot;background-color: white; border: none; color: #5c5c5c; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 1px 45px !important; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;empno,&amp;nbsp;ename,&amp;nbsp;deptno&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;emp&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Attributes &amp;gt; Edit &amp;gt; Enabled = Yes&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;strong style=&quot;border: 0px; font-family: inherit; font-size: 13.3333px; font-style: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Settings for your Save Interactive Grid Data process:&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Settings &amp;gt; Set Target Type = PL/SQL Code&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;border: 0px; font-family: inherit; font-size: 10pt; font-style: inherit; font-weight: inherit; line-height: 1.5em; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Settings &amp;gt; PL/SQL Code to Insert/Update/Delete =&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;dp-highlighter&quot; style=&quot;background-color: #e7e5dc; border: 0px; color: #3d3d3d; font-family: Consolas, &amp;quot;Courier New&amp;quot;, Courier, mono, serif; font-size: 12px; margin: 0px !important; overflow: visible; padding: 1px 0px 0px; vertical-align: baseline; width: auto;&quot;&gt;
&lt;div class=&quot;bar&quot; style=&quot;border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px 0px 0px 45px; vertical-align: baseline;&quot;&gt;
&lt;div style=&quot;border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ol class=&quot;dp-sql&quot; start=&quot;1&quot; style=&quot;background-color: white; border: none; color: #5c5c5c; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 1px 45px !important; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;begin&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;func&quot; style=&quot;background-color: inherit; border: 0px; color: deeppink; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;:APEX$ROW_STATUS&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;when&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot; style=&quot;background-color: inherit; border: 0px; color: blue; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;I&#39;&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;then&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot; style=&quot;background-color: inherit; border: 0px; color: #008200; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;--&amp;nbsp;Note:&amp;nbsp;In&amp;nbsp;EA2&amp;nbsp;this&amp;nbsp;has&amp;nbsp;been&amp;nbsp;changed&amp;nbsp;from&amp;nbsp;I&amp;nbsp;to&amp;nbsp;C&amp;nbsp;for&amp;nbsp;consistency&amp;nbsp;with&amp;nbsp;Tabular&amp;nbsp;Forms&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;insert&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;into&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;emp&amp;nbsp;(&amp;nbsp;empno,&amp;nbsp;ename,&amp;nbsp;deptno&amp;nbsp;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;(&amp;nbsp;:EMPNO,&amp;nbsp;:ENAME,&amp;nbsp;:DEPTNO&amp;nbsp;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;returning&amp;nbsp;rowid&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;into&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;:ROWID;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;when&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot; style=&quot;background-color: inherit; border: 0px; color: blue; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;U&#39;&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;then&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;emp&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;ename&amp;nbsp;&amp;nbsp;=&amp;nbsp;:ENAME,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;deptno&amp;nbsp;=&amp;nbsp;:DEPTNO&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;where&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;rowid&amp;nbsp;&amp;nbsp;=&amp;nbsp;:ROWID;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;when&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot; style=&quot;background-color: inherit; border: 0px; color: blue; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;D&#39;&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;then&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;delete&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;emp&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;where&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;rowid&amp;nbsp;=&amp;nbsp;:ROWID;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot; style=&quot;border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot; style=&quot;background-color: inherit; border: 0px; color: deeppink; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;&quot; style=&quot;background-color: #f8f8f8; border-left-color: rgb(108, 226, 108); border-left-width: 3px; border-style: none none none solid; font-family: inherit; font-style: inherit; font-weight: inherit; height: 12pt; line-height: 12pt; list-style: decimal-leading-zero outside; margin: 0px !important; padding: 0px 3px 0px 10px !important; position: relative; vertical-align: baseline; white-space: nowrap;&quot;&gt;&lt;span style=&quot;background-color: inherit; border: 0px; color: black; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;keyword&quot; style=&quot;background-color: inherit; border: 0px; color: #006699; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;background-color: inherit; border: 0px; font-size: 9pt !important; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
The PL/SQL code is very similar to what you can use for Tabular Forms if you have defined a PL/SQL process which fires for a Tabular Form region. It will be executed for each modified row, the bind variable APEX$ROW_STATUS can be used to find out if the row has been inserted, updated or deleted and bind variables can be used to reference the value of all columns of the Interactive Grid. Please be aware, that the bind variables will still return a string, so be careful in case of numbers and dates.&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; min-height: 8pt; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
Note: If your INSERT statement or your PL/SQL API call generates a primary key as it&#39;s the case with the ROWID, you have to assign the result to the primary key column again. In the above case I&#39;m using a RETURNING clause to do so. This is important, because that primary key value is used to query the newly inserted data. Only in the case if the end user enters a primary key value then this is not necessary.&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; color: #3d3d3d; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; font-size: 13px; line-height: 19.5px; padding: 0px; vertical-align: baseline;&quot;&gt;
This is Post by Patrick on oracle community:&amp;nbsp;https://community.oracle.com/message/13870402#13870402&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/3251081696381794082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/apex-51-how-to-manually-process.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/3251081696381794082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/3251081696381794082'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/07/apex-51-how-to-manually-process.html' title='APEX 5.1 How to manually process Interactive Grid data using PL/SQL'/><author><name>OracleAPEXConsultant</name><uri>http://www.blogger.com/profile/13836056218813862680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-2400954167698791182</id><published>2016-03-19T11:30:00.001+05:30</published><updated>2016-03-19T11:30:58.069+05:30</updated><title type='text'>Dan McGhan&#39;s Oracle APEX Blog: Tutorial: Creating a Component Similar to Super LO...</title><content type='html'>&lt;a href=&quot;http://www.danielmcghan.us/2016/03/tutorial-creating-component-similar-to.html?spref=bl&quot;&gt;Dan McGhan&#39;s Oracle APEX Blog: Tutorial: Creating a Component Similar to Super LO...&lt;/a&gt;: I had a lot of fun contributing to Super LOV. Unfortunately, it&#39;s not being maintained much these days and it doesn&#39;t work so well i...</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/2400954167698791182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/03/dan-mcghans-oracle-apex-blog-tutorial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/2400954167698791182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/2400954167698791182'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/03/dan-mcghans-oracle-apex-blog-tutorial.html' title='Dan McGhan&#39;s Oracle APEX Blog: Tutorial: Creating a Component Similar to Super LO...'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-4825644809482353458</id><published>2016-03-04T18:50:00.000+05:30</published><updated>2016-03-04T18:50:35.062+05:30</updated><title type='text'>Oracle JavaScript Extension Toolkit (JET) is now open source</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Now Oracle JET is declared as open source .&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Please check this link:&amp;nbsp;&lt;a href=&quot;http://www.oracle.com/webfolder/technetwork/jet/index.html&quot; target=&quot;_blank&quot;&gt;Oracle JavaScript Extension Toolkit (JET)&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;b&gt;Link:&amp;nbsp;&lt;a href=&quot;https://jsao.io/2016/02/an-update-on-javascript-and-oracle/&quot; target=&quot;_blank&quot;&gt;JavaScript and Oracle&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/4825644809482353458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/03/oracle-javascript-extension-toolkit-jet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4825644809482353458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4825644809482353458'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/03/oracle-javascript-extension-toolkit-jet.html' title='Oracle JavaScript Extension Toolkit (JET) is now open source'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-5428641317553317751</id><published>2016-03-04T18:41:00.000+05:30</published><updated>2016-03-04T18:41:19.907+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="apex"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="node.js"/><category scheme="http://www.blogger.com/atom/ns#" term="oracle"/><category scheme="http://www.blogger.com/atom/ns#" term="oracle driver"/><title type='text'>The Oracle Database driver for Node.js has a new JavaScript layer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h4 style=&quot;background-color: #f8f8f8; border: 0px; box-sizing: border-box; color: #444444; font-size: 18px; letter-spacing: -0.5px; line-height: 32px; margin: 0px 0px 8px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
Node.js driver for Oracle Database&lt;/span&gt;&lt;/h4&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span id=&quot;goog_1516863622&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1516863623&quot;&gt;&lt;/span&gt;&lt;a href=&quot;https://www.blogger.com/&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;
&lt;div style=&quot;background-color: white; margin-bottom: 10px; margin-top: 10px;&quot;&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;This is the driver that allows folks using Node.js to tap into Oracle Database – a very powerful combination. Since starting at Oracle, I’ve focused more on this project than any other. In fact, most of the posts in this blog involve this driver in one way or another.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;Now the driver is sporting a new JavaScript layer! This new layer will allow JavaScript to be used over C where it’s more advantageous to do so. Additionally, the new layer will help make it easier for folks in the JavaScript community to contribute to the project without having to know C.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;This first release of the JavaScript layer adds connection request queueing (no more ORA-24418: Cannot open further sessions!) and we have some pretty cool features planned for future releases.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;&lt;b&gt;Links:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://blogs.oracle.com/opal/entry/node_oracledb_1_7_0&quot; target=&quot;_blank&quot;&gt;https://blogs.oracle.com/opal/entry/node_oracledb_1_7_0&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://jsao.io/2016/02/an-update-on-javascript-and-oracle/&quot; target=&quot;_blank&quot;&gt;https://jsao.io/2016/02/an-update-on-javascript-and-oracle/&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://github.com/oracle/node-oracledb&quot; target=&quot;_blank&quot;&gt;https://github.com/oracle/node-oracledb&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.oracle.com/technetwork/database/database-technologies/scripting-languages/node_js/&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;http://www.oracle.com/technetwork/database/database-technologies/scripting-languages/node_js/&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #555555; font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 18px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/5428641317553317751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/03/the-oracle-database-driver-for-nodejs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/5428641317553317751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/5428641317553317751'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2016/03/the-oracle-database-driver-for-nodejs.html' title='The Oracle Database driver for Node.js has a new JavaScript layer'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-7146964406786061755</id><published>2015-11-11T20:12:00.001+05:30</published><updated>2015-11-11T20:12:30.469+05:30</updated><title type='text'>Wishing Happy Diwali</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPO5-FJ-3LmUXi2XjxHxBkQcPtzANKePfzCXm-gIftZjXbPlTUJ9SHYG7weSMSNEN1DxiR8VR9MLqiBLnaeBApaQmCW3mcvlx7G3ib5NcQVD9a3R_zK4mcK70YAkEbPfLSQGqpNifVExc/s1600/happy-diwali-wishes-images+%25281%2529.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPO5-FJ-3LmUXi2XjxHxBkQcPtzANKePfzCXm-gIftZjXbPlTUJ9SHYG7weSMSNEN1DxiR8VR9MLqiBLnaeBApaQmCW3mcvlx7G3ib5NcQVD9a3R_zK4mcK70YAkEbPfLSQGqpNifVExc/s400/happy-diwali-wishes-images+%25281%2529.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/7146964406786061755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2015/11/wishing-happy-diwali.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/7146964406786061755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/7146964406786061755'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2015/11/wishing-happy-diwali.html' title='Wishing Happy Diwali'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPO5-FJ-3LmUXi2XjxHxBkQcPtzANKePfzCXm-gIftZjXbPlTUJ9SHYG7weSMSNEN1DxiR8VR9MLqiBLnaeBApaQmCW3mcvlx7G3ib5NcQVD9a3R_zK4mcK70YAkEbPfLSQGqpNifVExc/s72-c/happy-diwali-wishes-images+%25281%2529.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-4772469262555191180</id><published>2014-09-27T18:19:00.001+05:30</published><updated>2014-09-27T18:19:34.366+05:30</updated><title type='text'>Application Express 4.2.6 is now available</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Oracle Application Express Release 4.2.6.00.03 was released on September
 24, 2014.          This is a cumulative patch set for Application 
Express 4.2.0, Application Express 4.2.1, Application Express 4.2.2, 
Application Express 4.2.3, Application Express 4.2.4, and Application 
Express 4.2.5.          The full download is available below.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Click the here to download the latest version of Oracle Application Express. Application Express 4.2.6 includes numerous bug fixes.&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/4772469262555191180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2014/09/application-express-426-is-now-available.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4772469262555191180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4772469262555191180'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2014/09/application-express-426-is-now-available.html' title='Application Express 4.2.6 is now available'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-1745413944029316108</id><published>2012-02-03T16:40:00.000+05:30</published><updated>2012-02-03T16:40:54.272+05:30</updated><title type='text'>APEX Notes: RDS, The PluginRegion Display Selector - How I (Wo...</title><content type='html'>&lt;a href=&quot;http://apexnotes.blogspot.com/2011/12/rds-plugin-region-display-selector-how.html?spref=bl&quot;&gt;APEX Notes: RDS, The PluginRegion Display Selector - How I (Wo...&lt;/a&gt;: Update  For the update on  ORA-06550  and  ORA-06502  please see the end of the post.   The day has come and I have decided to write the RDS...</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/1745413944029316108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2012/02/apex-notes-rds-pluginregion-display.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/1745413944029316108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/1745413944029316108'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2012/02/apex-notes-rds-pluginregion-display.html' title='APEX Notes: RDS, The PluginRegion Display Selector - How I (Wo...'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-63927261393207785</id><published>2012-02-03T16:34:00.000+05:30</published><updated>2012-02-03T16:34:18.050+05:30</updated><title type='text'>APEX Notes: Region Display Selector - How I (Would) Like It</title><content type='html'>&lt;a href=&quot;http://apexnotes.blogspot.com/2010/12/region-display-selector-how-i-would.html?spref=bl&quot;&gt;APEX Notes: Region Display Selector - How I (Would) Like It&lt;/a&gt;: In APEX4 I welcomed very much the new region type - the Region Display Selector. The only thing I don&#39;t like is how it displays the regions....</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/63927261393207785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2012/02/apex-notes-region-display-selector-how.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/63927261393207785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/63927261393207785'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2012/02/apex-notes-region-display-selector-how.html' title='APEX Notes: Region Display Selector - How I (Would) Like It'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-3514854094101503650</id><published>2011-09-26T16:19:00.000+05:30</published><updated>2011-09-26T16:19:54.434+05:30</updated><title type='text'>Apex Tutorial - Form &amp; Report sharing the same page</title><content type='html'>&lt;a href=&quot;http://triangle-circle-square.blogspot.com/2011/09/apex-tutorial-form-report-sharing-same.html#.ToBYxjGhX5g.blogger&quot;&gt;Apex Tutorial - Form &amp;amp; Report sharing the same page&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/3514854094101503650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/09/apex-tutorial-form-report-sharing-same.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/3514854094101503650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/3514854094101503650'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/09/apex-tutorial-form-report-sharing-same.html' title='Apex Tutorial - Form &amp; Report sharing the same page'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-7206050815493475047</id><published>2011-09-17T11:42:00.001+05:30</published><updated>2011-09-20T12:04:39.923+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="apex"/><category scheme="http://www.blogger.com/atom/ns#" term="features"/><title type='text'>Oracle Application Express - New Features in Release 4.1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;table border=&quot;0&quot; style=&quot;height: 169px; margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;color: red;&quot;&gt; &lt;td colspan=&quot;2&quot;&gt;&lt;b&gt;Oracle Application Express&lt;/b&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td colspan=&quot;2&quot;&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;New Features in Release 4.1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td width=&quot;31%&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/overview/menu-error-128-459641.png&quot; /&gt;&lt;/td&gt; &lt;td colspan=&quot;2&quot; width=&quot;69%&quot;&gt;&lt;b&gt;Error Handling &lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;Release 4.1 includes improved error handling and user-defined exception          processing. You can now easily capture error messages generated by the          Oracle database and replace the message text with user friendly text.          For example, instead of an error message such as &quot;ORA-00001 unique          constraint (EMP_UK) violated&quot; the developer can define a message          such as &quot;Employee Name must be unique&quot;.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt; &lt;/table&gt;&lt;table border=&quot;0&quot; style=&quot;margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;         &lt;td width=&quot;66%&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Use of ROWID &lt;/b&gt; &lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Application Express now supports the use of ROWID for updates, inserts              and deletes as an alternative to specifying primary keys. Previously              you could only specific two primary key columns. Therefore, if your&lt;br /&gt;
table had more than two key columns then you could not use the default              DML processes and had to manually write your own processes. Use of              ROWID is now the default method for any new DML processes generated.&lt;/div&gt;&lt;/td&gt;         &lt;td width=&quot;34%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/overview/menu-rowid-128-459642.png&quot; /&gt;&amp;nbsp;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; style=&quot;margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;          &lt;td width=&quot;29%&quot;&gt;&amp;nbsp;&lt;img alt=&quot;&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/overview/menu-data-load-128-459639.png&quot; /&gt;&lt;/td&gt;         &lt;td style=&quot;text-align: justify;&quot; width=&quot;71%&quot;&gt;&lt;b&gt;Data Upload &lt;/b&gt;&lt;br /&gt;
Developers can now easily add the capability for end-users to load              spreadsheet data into existing tables within an application. The developer              can utilize a wizard to create a collection of pages that allow the              end user to upload a file or cut and paste data into a table. Additionally              the developer can define lookup columns and data transformations.              End users are then led through a runtime wizard which allows them              to load the data, map the columns, see whether the data will be inserted              or updated, and review the results.&lt;br /&gt;
&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; style=&quot;margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;          &lt;td width=&quot;66%&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Calendar&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The calendar wizards have been enhanced to include the ability to              create an Edit page as part of creating the calendar. Further calendars              can now include drag and drop functionality which allows the end user to change the date and or time of a record by simply dragging it on &lt;br /&gt;
the calendar itself.&lt;/div&gt;&lt;/td&gt;         &lt;td width=&quot;34%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/overview/menu-calendar-128-459643.png&quot; /&gt;&amp;nbsp;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; style=&quot;margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;          &lt;td width=&quot;29%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/websheet-app-128-166817.png&quot; /&gt;&lt;/td&gt;         &lt;td style=&quot;text-align: justify;&quot; width=&quot;71%&quot;&gt;&lt;b&gt;Websheets&lt;/b&gt; &lt;br /&gt;
Building on their initial introduction in Release 4.0, the look and              feel of Websheets in Release 4.1 has been substantially improved and              the controls redesigned to make it more intuitive for users. There              are also new page section types, and enhanced data grid integration.              &lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/apex/application-express/more-websheets-154798.html&quot;&gt;Learn more &amp;gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; style=&quot;margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;          &lt;td width=&quot;66%&quot;&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Tabular Forms&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Tabular Forms now support all validation types. Depending on the              validation type you can use bind variable syntax, substitution syntax,              or just specify the tabular form column name. These enhancements allow &lt;br /&gt;
developers to declaratively define complex validations instead of              having to perform extensive manual PL/SQL coding.&lt;/div&gt;&lt;/td&gt;         &lt;td width=&quot;34%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/overview/menu-tabform-128-459644.png&quot; /&gt;&amp;nbsp;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; style=&quot;margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;          &lt;td width=&quot;29%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/menu-plugin-128-166820.png&quot; /&gt;&lt;/td&gt;         &lt;td style=&quot;text-align: justify;&quot; width=&quot;71%&quot;&gt;&lt;br /&gt;
&lt;b&gt;Plug-Ins&lt;/b&gt;&lt;br /&gt;
Plug-ins enable developers to enhance the existing built-in functionality              by writing PL/SQL components for various components. This release              expands the plug-in functionality and introduces the ability to create              plug-ins for authentication and authorization schemes. &lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-plug-ins-182042.html&quot;&gt;View and Download Plug-Ins &amp;gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; style=&quot;margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;          &lt;td width=&quot;66%&quot;&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Dynamic Actions&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Dynamic Actions allow developers to declaritively define client-side              functionality, without needing to master JavaScript and AJAX. With              this release, a number of enhancements were added including the ability              to define dynamic actions for buttons and also use dynamic actions              to set multiple item values.&lt;/div&gt;&lt;/td&gt;         &lt;td width=&quot;34%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/menu-dynaction-128-166819.png&quot; /&gt;&amp;nbsp;&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table border=&quot;0&quot; style=&quot;margin-left: 0px; margin-right: 0px; text-align: left; width: 524px;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;          &lt;td width=&quot;29%&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.oracle.com/technetwork/developer-tools/apex/menu-page-128-166828.png&quot; /&gt;&lt;/td&gt;         &lt;td style=&quot;text-align: justify;&quot; width=&quot;71%&quot;&gt;&lt;b&gt;&amp;nbsp;Accessibility &lt;/b&gt; &lt;br /&gt;
Release 4.1 includes dramatic improvement in the HTML generated by              the Application Express engine, together with accessibility improvements in existing themes and HTML templates.&lt;/td&gt;       &lt;/tr&gt;
&lt;tr&gt;          &lt;td colspan=&quot;2&quot;&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Mobile Applications &lt;/b&gt; &lt;/div&gt;Release 4.1 includes a number of key improvements to improve support &lt;br /&gt;
for mobile frameworks, including form rendering without HTML tables.&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;       &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/7206050815493475047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/09/oracle-application-express-new-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/7206050815493475047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/7206050815493475047'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/09/oracle-application-express-new-features.html' title='Oracle Application Express - New Features in Release 4.1'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-473146112582461746</id><published>2011-09-17T11:26:00.002+05:30</published><updated>2011-09-17T11:30:39.470+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="apex"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>New Browser Security Attributes in APEX 4.1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Oracle Application Express (APEX) 4.1 added two new  Browser Security attributes: Cache and Embed in Frames. The attributes  can be found by navigating to Shared Components &amp;gt; Security Attributes  &amp;gt; Browser Security (region). Clicking on the items’ labels reveals  some great documentation. I couldn’t find any other documentation online  to link to so I’ve copied the contents here for everyone to see:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;Cache&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Enabling  the cache allows the browser to save the contents of your application&#39;s  pages in its cache, both in memory and on disk. If a user presses the  browser back button, the page will typically be loaded from the cache,  not from the server. If the cache is disabled, the browser is instructed  to not save page content and will request it anew from the server.  &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;From a security perspective the cache &lt;b&gt;should be disabled&lt;/b&gt;,  so the browser does not store sensitive data and will always request  pages if the URL changes. Otherwise, it may even be possible to go back  in the browser history after a logout and see cached content of the  former session.  &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Disabling the browser cache will also prevent  subtle back button issues with pages that use partial page refreshes for  example pages with Interactive Reports.  &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;If this item is set to &quot;Disabled&quot;, Application Express will send the HTTP header &lt;i&gt;cache-control: no-store&lt;/i&gt; which instructs the Browser to not cache the page contents on disk or in memory.  &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Note: This feature requires modern browsers that support the HTTP header response variable &quot;cache-control&quot;. &lt;/span&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;Embed in Frames&lt;/b&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Use this attribute to control if the browser is allowed to display your application&#39;s pages within a frame:  &lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;Deny&lt;/b&gt;: The page cannot be displayed in a frame, regardless of the site attempting to do so.  &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;Allow from same origin&lt;/b&gt;: The page can only be displayed in a frame on the same origin as the page itself.  &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;Allow&lt;/b&gt;: The page can be displayed in any frame. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Displaying  pages within frames can be misused with &quot;clickjacking&quot; attacks, when an  attacker uses multiple layers to trick a user into clicking on a button  or link on another page when they were intending to click on the the  top level page. Thus, the attacker is hijacking clicks (and/or  keystrokes) meant for their page and routing them to another page.  &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Note: This feature requires modern browsers that support the HTTP header response variable &quot;X-Frame-Options&quot;. &lt;/span&gt;&lt;/blockquote&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;  &lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;The  Embed in Frames attribute was preventing the plug-in from working  correctly - it was set to “Deny”. As the plug-in uses iframes, this  attribute’s value must be set to either “Allow from same origin” or  “Allow”. After upgrading to APEX 4.1, existing applications will be set  to “Allow” but new applications will be set to “Deny”. Perhaps “Allow  from same origin” would have been a better choice for the new default? &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;At  the end of the day, the new Cache and Embed in Frames security  attributes are very powerful in that they can help make your  applications more secure with very little investment. Also, the  additional benefits of the Cache feature sound great. However,  developers should be mindful of the impact these attributes can have on  their applications. Always test!&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/473146112582461746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/09/dan-mcghans-oracle-blog-new-browser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/473146112582461746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/473146112582461746'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/09/dan-mcghans-oracle-blog-new-browser.html' title='New Browser Security Attributes in APEX 4.1'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-113128860093740814</id><published>2011-08-02T16:47:00.000+05:30</published><updated>2011-08-02T16:47:28.572+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="apex"/><category scheme="http://www.blogger.com/atom/ns#" term="function"/><category scheme="http://www.blogger.com/atom/ns#" term="orale"/><category scheme="http://www.blogger.com/atom/ns#" term="sql"/><title type='text'>Generating random numbers and strings in Oracle</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Do you know how to auto generate random numbers or strings in Oracle?   Generating random numbers is required when there is a need to create a lot of data for testing purposes, or when we simply need to use a number to temporarily tag a process. It may also be necessary to generate random password strings of a fixed size--a very common requirement for websites that create and maintain logins for users. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;    &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Whatever the need, the fact is that Oracle provides us with a random number generator. This option is faster than writing your own random generation logic in PL/SQL as Oracle&#39;s internal processing logic is used. In addition, it can also be used to generate both character and alphanumeric strings.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;    &lt;/span&gt;&lt;h3 style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;DBMS_RANDOM package&lt;/span&gt;&lt;/h3&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The DBMS_RANDOM package will generate random data in character, numeric or alphanumeric formats. The size and the range from which to pickup the random values can also be specified. This package is created by the script &lt;em&gt;dbmsrand.sql &lt;/em&gt;available in the &amp;lt;ORACLE_HOME&amp;gt;/rdbms/admin directory&lt;em&gt;.&lt;/em&gt;&lt;/span&gt; &lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;    &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The following functions present in the package can be used to serve the purpose of generating random numbers and strings. RANDOM -  generate random numbers. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;VALUE    -  generate random numbers from the range provided. The range will be taken as 0-1 if none is provided.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;STRING   -  generate strings in upper case, lower case or alphanumeric format. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;ul style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;                  The first parameter takes the string type to be generated, the following values can be provided in upper or lower case.  &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;                       U - Upper case   &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;                       L - Lower case  &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;                       A - Alphanumeric  &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;                       X - Alphanumeric with upper case alphabets.  &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;                       P - Printable characters only.    &lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Providing any other character will return the output in upper case only. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;The size of the string should also be provided as the second parameter. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;   &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Oracle documentation says that it is necessary to initialize the package before using the random number generator. Oracle by default initializes the package with the seed value as the current user name, current time down to the second and the current session id. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;    &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;INITIALIZE          - Initialize the package to proceed with the number generation. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;                            Provide a number (seed) as input to the routine.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SEED                 - Used to change the seed value. It is used in the internal algorithm to generate values. Setting this will&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;                            generate the random numbers in an order that will be similar in multiple sessions. Refer to the example below.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;TERMINATE        - Close the process of random number generation. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;    &lt;/span&gt;&lt;h3 style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Examples:&lt;/span&gt;&lt;/h3&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Below are some examples of using the package.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;    &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating a random number (positive or negative)&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.random from dual;

       RANDOM
_____________
   1393936551
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating a random number between 0 and 1.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.value from dual;

        VALUE
_____________
            1
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating a random number from a range,  between 1 to 1000.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.value(1,1000) num from dual;

          NUM
_____________
          611
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating a 12 digit random number. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.value(100000000000, 999999999999) num from dual;

          NUM
_____________
 175055628780
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating an upper case string of 20 characters&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.string(&#39;U&#39;, 20) str from dual;

STR
_______________________
VUOQOSTLHCKIPIADIZTD
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;   &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating a lower case string of 20 characters&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.string(&#39;L&#39;, 20) str from dual;

STR
____________________
xpoovuspmehvcptdtzcz
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;     &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating an alphanumeric string of 20 characters. There is a bug in Oracle 8i that results in special (non-alphanumeric) characters such as &#39;]&#39; in the string. This is resolved in Oracle 9i.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.string(&#39;A&#39;, 20) str from dual;

STR
__________________
sTjERojjL^OlTaIc]PLB
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;     &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating an upper case alphanumeric string of 20 characters&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.string(&#39;X&#39;, 20) str from dual;

STR
________________________
SQ3E3B3NRBIP:GOGAKSC
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;     &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.: Generating a string of printable 20 characters. This will output a string of all characters that could possibly be printed.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;SQL&amp;gt; select dbms_random.string(&#39;P&#39;, 20) str from dual;

STR
___________________
*Yw&amp;gt;IKzsj\uI8K[IQPag
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;     &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;E.g.:  Example for calling the dbms_random package and setting the seed for generating the same set of random numbers in different sessions. Please note that the same random numbers are generated in different sessions. Though I have found this to work on most &lt;a class=&quot;itxtrst itxtrsta itxthook&quot; href=&quot;http://www.databasejournal.com/features/oracle/article.php/3341051/Generating-random-numbers-and-strings-in-Oracle.htm#&quot; id=&quot;itxthook0&quot; rel=&quot;nofollow&quot; style=&quot;background-color: transparent; border-bottom: 0.075em solid darkgreen; color: darkgreen; font-weight: normal; padding-bottom: 1px; text-decoration: underline;&quot;&gt;&lt;span class=&quot;itxtrst itxtrstspan itxthookspan&quot; id=&quot;itxthook0w0&quot; style=&quot;background: none repeat scroll 0% 0% transparent; color: darkgreen; font-weight: inherit;&quot;&gt;accounts&lt;/span&gt;&lt;/a&gt;, in some cases, the first number generated was different in different sessions and the remaining were same. I recommend not using this option in any of production code until it is properly document by Oracle.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;    &lt;/span&gt;&lt;pre style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;jaJA&amp;gt;declare
  2     l_num    number;
  3  begin
  4    l_num := dbms_random.random;
  5    dbms_output.put_line(l_num);
  6    dbms_random.seed(&#39;amar testing 67890&#39;);
  7    l_num := dbms_random.random;
  8    dbms_output.put_line(l_num);
  9  end;
 10  /
483791552
478774329

PL/SQL procedure successfully completed.
&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;     &lt;/span&gt;&lt;h3 style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Conclusion&lt;/span&gt;&lt;/h3&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif; font-size: small;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;DBMS_RANDOM is a good utility and will find its way into lot of development projects, especially web based ones.  However, this Package is not exhaustively documented. One should not use it just for the sake of it being there. Make sure that there is a true requirement or a necessity of random values before making use of this package.  If you already have a custom code meant for the same purpose, check out the benefits that are available when using this package compared to your application.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/113128860093740814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/08/generating-random-numbers-and-strings.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/113128860093740814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/113128860093740814'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/08/generating-random-numbers-and-strings.html' title='Generating random numbers and strings in Oracle'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-4759044027719397695</id><published>2011-08-01T15:47:00.000+05:30</published><updated>2011-08-01T15:47:03.585+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="apex"/><category scheme="http://www.blogger.com/atom/ns#" term="prograaming"/><title type='text'>The Principles of Good Programming</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;                         The principles of good programming are closely  related to principles of good design and engineering. The following  programming principles have helped me over the years become                         a better programmer, and I believe&amp;nbsp;can help any  developer become more efficient and to produce code which is easier to  maintain and that has fewer defects.                       &lt;br /&gt;
&lt;strong&gt;DRY - Don’t repeat yourself&lt;/strong&gt;.  -&amp;nbsp;Probably the single most fundamental tenet in programming is to avoid  repetition. Many programming constructs exist solely                         for that purpose (e.g. loops, functions,  classes, and more). As soon as you start repeating yourself (e.g. a long  expression, a series of statements, same concept) create a                         new abstraction.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Don%27t_repeat_yourself&quot;&gt;http://en.wikipedia.org/wiki/Don%27t_repeat_yourself&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Abstraction Principle&lt;/strong&gt; -&amp;nbsp;Related  to DRY is the abstraction principle “Each significant piece of  functionality in a program should be implemented in just                         one place in the source code.”&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Abstraction_principle_%28programming%29&quot;&gt;http://en.wikipedia.org/wiki/Abstraction_principle_(programming)&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;KISS (Keep it simple, stupid!)&lt;/strong&gt; -&amp;nbsp;Simplicity (and avoiding complexity) should always be a key goal.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/KISS_principle&quot;&gt;http://en.wikipedia.org/wiki/KISS_principle&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Avoid Creating a YAGNI (You aren’t going to need it)&lt;/strong&gt;&amp;nbsp;-&amp;nbsp;You should try not to add functionality until you need it.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/YAGNI&quot;&gt;http://en.wikipedia.org/wiki/YAGNI&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Do the simplest thing that could possibly work&lt;/strong&gt; -&amp;nbsp;A good question to ask one’s self when programming is “What is the simplest thing that could possibly                         work?” This helps keep us on the path towards simplicity in the design.&lt;br /&gt;
&lt;a href=&quot;http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.html&quot;&gt;http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.html&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Don’t make me think&lt;/strong&gt; -&amp;nbsp;This is  actually the title of a book by Steve Krug on web usability that is also  relevant in programming. The point is that code                         should be easily read and understood with a  minimum of effort required. If code requires too much thinking from an  observer to understand, then it can probably stand to be                         simplified&lt;br /&gt;
&lt;a href=&quot;http://www.sensible.com/dmmt.html&quot;&gt;http://www.sensible.com/dmmt.html&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Open/Closed Principle&lt;/strong&gt;  -&amp;nbsp;Software entities (classes, modules, functions, etc.) should be open  for extension, but closed for modification. In other words,                         don&#39;t write classes that people can modify,  write classes that people can extend.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Open_Closed_Principle&quot;&gt;http://en.wikipedia.org/wiki/Open_Closed_Principle&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Write Code for the Maintainer&lt;/strong&gt;  -&amp;nbsp;Almost any code that is worth writing is worth maintaining in the  future, either by you or by someone else. The future                         you who has to maintain code often remembers as  much of the code, as a complete stranger, so you might as well always  write for someone else.&lt;br /&gt;
A memorable way to remember this is “Always code  as if the person who ends up maintaining your code is a violent  psychopath who knows where you live.”&lt;br /&gt;
&lt;a href=&quot;http://c2.com/cgi/wiki?CodeForTheMaintainer&quot;&gt;http://c2.com/cgi/wiki?CodeForTheMaintainer&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Principle of least astonishment&lt;/strong&gt;  -&amp;nbsp;The principle of least astonishment is usually referenced in regards  to the user interface, but the same principle                         applies to written code. Code should surprise  the reader as little as possible. The means following standard  conventions, code should do what the comments and name suggest,                         and potentially surprising side effects should  be avoided as much as possible.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Principle_of_least_astonishment&quot;&gt;http://en.wikipedia.org/wiki/Principle_of_least_astonishment&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Single Responsibility Principle&lt;/strong&gt; -&amp;nbsp;A component of code (e.g. class or function) should perform a single well defined task.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Single_responsibility_principle&quot;&gt;http://en.wikipedia.org/wiki/Single_responsibility_principle&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Minimize Coupling&lt;/strong&gt; -&amp;nbsp;Any section  of code (code block, function, class, etc) should minimize the  dependencies on other areas of code. This is achieved by                         using shared variables as little as possible.  “Low coupling is often a sign of a well-structured computer system and a  good design, and when combined with high cohesion,                         supports the general goals of high readability  and maintainability”&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Coupling_%28computer_programming%29&quot;&gt;http://en.wikipedia.org/wiki/Coupling_(computer_programming)&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Maximize Cohesion&lt;/strong&gt; -&amp;nbsp;Code that has similar functionality should be found within the same component.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Cohesion_%28computer_science%29&quot;&gt;http://en.wikipedia.org/wiki/Cohesion_(computer_science)&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Hide Implementation Details&lt;/strong&gt; -&amp;nbsp;Hiding implementation details allows change to the implementation of a code component while minimally affecting any other                         modules that use that component.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Information_Hiding&quot;&gt;http://en.wikipedia.org/wiki/Information_Hiding&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Law of Demeter&lt;/strong&gt; -&amp;nbsp;Code  components should only communicate with their direct relations (e.g.  classes that they inherit from, objects that they contain,                         objects passed by argument, etc.)&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Law_of_Demeter&quot;&gt;http://en.wikipedia.org/wiki/Law_of_Demeter&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Avoid Premature Optimization&lt;/strong&gt; -&amp;nbsp;Don’t even think about optimization unless your code is working, but slower than you want. Only then should you start                         thinking about optimizing, and then only with the aid of empirical data.&lt;br /&gt;
&quot;We should forget about small efficiencies, say  about 97% of the time: premature optimization is the root of all evil&quot;  Knuth.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Program_optimization&quot;&gt;http://en.wikipedia.org/wiki/Program_optimization&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Code Reuse is Good&lt;/strong&gt; -&amp;nbsp;Not very pithy, but as good a principle as any other. Reusing code improves code reliability and decrease development time.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Code_reuse&quot;&gt;http://en.wikipedia.org/wiki/Code_reuse&lt;/a&gt;                       &lt;br /&gt;
&lt;strong&gt;Separation of Concerns&lt;/strong&gt; -&amp;nbsp;Different areas of functionality should be managed by distinct and minimally overlapping modules of code.&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Separation_of_concerns&quot;&gt;http://en.wikipedia.org/wiki/Separation_of_concerns&lt;/a&gt;                       &lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/4759044027719397695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/08/principles-of-good-programming.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4759044027719397695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/4759044027719397695'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/08/principles-of-good-programming.html' title='The Principles of Good Programming'/><author><name>OracleAPEXConsultant</name><uri>http://www.blogger.com/profile/13836056218813862680</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-1950778806840517617</id><published>2011-06-20T15:45:00.000+05:30</published><updated>2011-06-20T15:45:49.452+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="apex"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><category scheme="http://www.blogger.com/atom/ns#" term="mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="theme"/><title type='text'>jQuery Mobile - Anatomy of a Page</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;ui-bar-b ui-header&quot; data-role=&quot;header&quot; data-theme=&quot;b&quot; role=&quot;banner&quot;&gt;   &lt;h1 class=&quot;ui-title&quot; role=&quot;heading&quot; tabindex=&quot;0&quot;&gt;Anatomy of a Page&lt;/h1&gt;&lt;a class=&quot;ui-btn-right jqm-home ui-btn ui-btn-up-b ui-btn-icon-notext ui-btn-corner-all ui-shadow&quot; data-direction=&quot;reverse&quot; data-icon=&quot;home&quot; data-iconpos=&quot;notext&quot; data-theme=&quot;b&quot; href=&quot;http://jquerymobile.com/demos/1.0a4.1/&quot; title=&quot;Home&quot;&gt;&lt;span class=&quot;ui-btn-inner ui-btn-corner-all&quot;&gt;&lt;span class=&quot;ui-btn-text&quot;&gt;&lt;/span&gt;&lt;span class=&quot;ui-icon ui-icon-home ui-icon-shadow&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;  &lt;/div&gt;The jQuery Mobile &quot;page&quot; structure is optimized to support either single pages, or local internal linked &quot;pages&quot; within a page.&lt;br /&gt;
The goal of this model is to allow developers to create websites  using best practices — where ordinary links will &quot;just work&quot; without any  special configuration — while creating a rich, native-like experience  that can&#39;t be achieved with standard HTTP requests.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://jquerymobile.com/demos/1.0a4.1/#docs/pages/docs-pages.html&quot;&gt;http://jquerymobile.com/demos/1.0a4.1/#docs/pages/docs-pages.html &lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/1950778806840517617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/06/jquery-mobile-anatomy-of-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/1950778806840517617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/1950778806840517617'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/06/jquery-mobile-anatomy-of-page.html' title='jQuery Mobile - Anatomy of a Page'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7774621103851334986.post-6407025172131040713</id><published>2011-05-29T10:25:00.000+05:30</published><updated>2011-05-29T10:25:50.084+05:30</updated><title type='text'>Oracle Application Express 4.1 Early Adopter is now available</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;On Friday 06.05.2011 the APEX  Development Team had a Surprise for us:  they published the first Early Adopter Version of Oracle APEX 4.1&lt;br /&gt;
&lt;h3&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh77YHIYwlguYPHohvaeftEfjEGU51aNflyIQu6p0zPN0Fje_Tq1hW0vBDK_xE1hSox4BelC7F3eGt6zkfJsQPB1qSZkINkyvTsMQULHYcrooa3iBAKmf85acj6bhx-tZUa9rK_auCXZw8/s1600/395594.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh77YHIYwlguYPHohvaeftEfjEGU51aNflyIQu6p0zPN0Fje_Tq1hW0vBDK_xE1hSox4BelC7F3eGt6zkfJsQPB1qSZkINkyvTsMQULHYcrooa3iBAKmf85acj6bhx-tZUa9rK_auCXZw8/s1600/395594.png&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;strong style=&quot;font-weight: normal;&quot;&gt;Oracle Application Express 4.1 Early Adopter is now available&lt;/strong&gt;&lt;br style=&quot;font-weight: normal;&quot; /&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;             Click &lt;/span&gt;&lt;a href=&quot;http://tryapexnow.com/&quot; style=&quot;font-weight: normal;&quot;&gt;here&lt;/a&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; to access the hosted site.&lt;/span&gt;&lt;br style=&quot;font-weight: normal;&quot; /&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;             Our statement of direction is available &lt;/span&gt;&lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-sod-087560.html&quot; style=&quot;font-weight: normal;&quot;&gt;here&lt;/a&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3&gt;&lt;/h3&gt;&lt;h3&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3&gt;Oracle Application Express 4.1&lt;/h3&gt;Oracle  Application Express 4.1 will focus on enhancement to existing  functionality and additional capabilities to support applications  running on mobile devices. Application Express 4.1 is planned to  incorporate the following:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Development for Mobile Applications – Include themes and HTML templates suitable for smart phones and mobile devices.&lt;/li&gt;
&lt;li&gt;Error Handling - Improve error handling and user-defined exception processing.&lt;/li&gt;
&lt;li&gt;Tabular Forms – Continue to expand tabular forms validations.&lt;/li&gt;
&lt;li&gt;Dynamic Actions – Allow dynamic actions to be defined for buttons and enhanced conditional processing.&lt;/li&gt;
&lt;li&gt;Plug-Ins - Add plug-in support for additional components and enhance plug-in definitions.&lt;/li&gt;
&lt;li&gt;Use of ROWID – Allow usage of ROWID for Automatic DML processing (as an alternative to identifying the PK columns).&lt;/li&gt;
&lt;li&gt;Websheets – Improved user interface, new page section types, and enhanced spreadsheet / datagrid integration.&lt;/li&gt;
&lt;li&gt;Data Upload - Enable end-users to upload data into an existing table (within an application).&lt;/li&gt;
&lt;li&gt;Accessibility – Improve accessibility in existing themes and HTML templates.&lt;/li&gt;
&lt;li&gt;Numerous functional and performance improvements.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oracleapexconsultant.blogspot.com/feeds/6407025172131040713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/05/oracle-application-express-41-early.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/6407025172131040713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7774621103851334986/posts/default/6407025172131040713'/><link rel='alternate' type='text/html' href='http://oracleapexconsultant.blogspot.com/2011/05/oracle-application-express-41-early.html' title='Oracle Application Express 4.1 Early Adopter is now available'/><author><name>Jaydipsinh Raulji</name><uri>http://www.blogger.com/profile/04275845620640302714</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhegT5I9rd4jEEdY6ljPjKgdwMrEvo_onVRUbEgCtI-wCWZuYg_XddNRvXLWARxqWPTCM0YtrXn94cxWPi7ceuB22kdvBjIIte-OQHltaGSGz4niHt-iaGmUNLKhddsPA/s220/jpraulji_apexaholic.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh77YHIYwlguYPHohvaeftEfjEGU51aNflyIQu6p0zPN0Fje_Tq1hW0vBDK_xE1hSox4BelC7F3eGt6zkfJsQPB1qSZkINkyvTsMQULHYcrooa3iBAKmf85acj6bhx-tZUa9rK_auCXZw8/s72-c/395594.png" height="72" width="72"/><thr:total>1</thr:total></entry></feed>