<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="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" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5237676719536842801</atom:id><lastBuildDate>Wed, 10 Jun 2026 09:28:18 +0000</lastBuildDate><category>Database</category><category>ADF</category><category>Jdeveloper</category><category>plsql</category><category>SQL</category><category>ADFBC</category><category>11g</category><category>General</category><category>OAF</category><category>EBS</category><category>Summary</category><category>Forms</category><category>String</category><category>java</category><category>Business Component</category><category>Groovy</category><category>Javascript</category><category>Validation</category><category>ADF Faces</category><category>Date</category><category>Exception</category><category>Number</category><category>installation</category><category>Certification</category><category>Code Template</category><category>Expression Language</category><category>Reports</category><category>Sequence</category><category>Toad</category><category>Tuning</category><category>XML</category><category>weblogic</category><category>Active Directory</category><category>Apache</category><category>Ireport</category><category>LDAP</category><category>Mysql</category><category>Naming Convention</category><category>UCM</category><category>VPD</category><category>Workflow</category><category>appache</category><title>Dive in Oracle</title><description>Oracle Posts</description><link>http://mahmoudoracle.blogspot.com/</link><managingEditor>noreply@blogger.com (Mahmoud A. Elsayed)</managingEditor><generator>Blogger</generator><openSearch:totalResults>161</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-1310894169617171141</guid><pubDate>Sun, 10 Mar 2019 16:00:00 +0000</pubDate><atom:updated>2019-03-10T20:00:04.109+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF</category><category domain="http://www.blogger.com/atom/ns#">ADFBC</category><category domain="http://www.blogger.com/atom/ns#">Jdeveloper</category><title>ADF : Scope Variables</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Oracle ADF uses many variables and each variable has a scope.&lt;br /&gt;
There are five scopes in ADF (Application, Request, Session, View and PageFlow).&lt;br /&gt;
The below code snippest explains how to get value of each variable scope.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;        AdfFacesContext adfCtx = AdfFacesContext.getCurrentInstance();
                
        //Page Flow Scope
        Map pageFlowMap  = adfCtx.getPageFlowScope();
        Object pageFLowVariable = pageFlowMap.get(&quot;VARIABLE_NAME&quot;);
        
        //View Scope
        Map viewMap  = adfCtx.getViewScope();
        Object viewVariable = viewMap.get(&quot;VARIABLE_NAME&quot;);
        
        //Session Scope
        HttpServletRequest request =
            (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        HttpSession session = request.getSession(false);
        Object sessionVariable = session.getAttribute(&quot;VARIABLE_NAME&quot;);
        
        //Request Scope
        Object requestVariable = request.getAttribute(&quot;VARIABLE_NAME&quot;);
        
        //Application Scope
        Map applicationMap = FacesContext.getCurrentInstance().getExternalContext().getApplicationMap();
        Object applicationVariable = applicationMap.get(&quot;VARIABLE_NAME&quot;);


&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2019/03/adf-scope-variables.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>41</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-5775132304683858404</guid><pubDate>Wed, 09 Jan 2019 13:11:00 +0000</pubDate><atom:updated>2019-01-09T17:20:34.902+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF Faces</category><title>How to Pass Parameters to ActionListener in ADF</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;In some cases, it is required to pass a value to ActionListener of ADF Button.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;font-size: large;&quot;&gt;The method that can be invoked by actionListeners has only one parameter of type ActionEvent.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;So I will explain how to pass parameter to that bean method however it contains only one paramater ActionEvent in method signature. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;font-size: large;&quot;&gt;I added button to my page as below&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
T&lt;span style=&quot;font-size: large;&quot;&gt;he default signature of ActionLister is&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; height=&quot;68&quot; src=&quot;data:image/png;base64,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&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;The workaround I used is adding an attribute tag from the JSF.Core inside the ADF Button So the code in the jsp page looks like this&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.blogger.com/blogger.g?blogID=5237676719536842801&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;65&quot; src=&quot;data:image/png;base64,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&quot; style=&quot;cursor: move;&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;&quot; height=&quot;81&quot; src=&quot;data:image/png;base64,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&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Note &quot;MyAttrName&quot; is the name of paramater and &quot;MyAttrValue&quot; is the value of paramater.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;You can bind&amp;nbsp; &quot;MyAttrValue&quot; to get any value from page definition.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Now I will write the followign code to get paramatervalue from bean&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;img alt=&quot;&quot; height=&quot;84&quot; src=&quot;data:image/png;base64,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&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;The variable &quot;attrValue&quot; holds the value of paramaters which is &quot;MyAttrValue&quot; in this example. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Thanks&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Mahmoud Elsayed &lt;/span&gt;&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2019/01/how-to-pass-paramaters-to.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>53</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-1310653190500768915</guid><pubDate>Tue, 28 Nov 2017 10:04:00 +0000</pubDate><atom:updated>2017-11-28T14:04:39.206+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF :Formatting DateTime Fields</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Use the following code to format DateTime feilds in OAF&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;OAWebBean departureDateBean = webBean.findChildRecursive(&quot;DepartureDate&quot;);&lt;br /&gt;&lt;br /&gt;OANLSServices nls = pageContext.getOANLSServices();&lt;br /&gt;oracle.cabo.ui.validate.Formatter formatter = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new OADateValidater(nls.getUserJavaDateFormat() + &quot; HH:mm&quot;, &lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nls.getUserRRRRJavaDateFormat() + &quot; HH:mm&quot;);&lt;br /&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;&amp;nbsp;&amp;nbsp; &lt;br /&gt;departureDateBean.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter); &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2017/11/oaf-formatting-datetime-fields.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-5728733150192088947</guid><pubDate>Sun, 26 Nov 2017 09:59:00 +0000</pubDate><atom:updated>2017-11-26T13:59:03.731+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF : Bundled Exceptions</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Bundled exceptions let you accumulate &quot;peer&quot; exceptions while proceeding with validation, and then display them as a set when you are done. These peer exceptions are grouped in a container exception called a bundled exception.&lt;br /&gt;
&lt;br /&gt;
To creat a bundled exception, you first must create a list to which you add exceptions as you encounter them:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;ArryList peerExceptions = new ArrayList();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;peerExceptions.add(new OAException(....));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;peerExceptions.add(new OAException(....));&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
//Raise Exceptions&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;OAException.raiseBundledOAException(peerExceptions );&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2017/11/oaf-bundled-exceptions.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-5150183845994142301</guid><pubDate>Tue, 21 Nov 2017 09:43:00 +0000</pubDate><atom:updated>2017-11-21T13:43:29.578+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF : Programmatically Add a Parameterized Pop-up</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
To programmatically add a parameterized pop-up to a component , add the following code in &lt;b&gt;processRequest &lt;/b&gt;method&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;Step 1: Create an OAPopupBean&amp;nbsp; &lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp;OAPopupBean popupBean1=(OAPopupBean)createWebBean(pageContext,POPUP_BEAN,null,&quot;myPopup1&quot;);&lt;br /&gt;popupBean1.setID(&quot;myPopup1&quot;);&lt;br /&gt;popupBean1.setUINodeName(&quot;myPopup1&quot;);&lt;br /&gt;popupBean1.setRegion(&quot;/oracle/apps/per/xyz/webui/PopupRN&quot;);&lt;br /&gt;popupBean1.setHeight(&quot;130&quot;);&lt;br /&gt;popupBean1.setWidth(&quot;320&quot;);&lt;br /&gt;popupBean1.setTitle(&quot;Popup Title&quot;);&lt;br /&gt;popupBean1.setParameters(&quot;personId={@PersonId}&quot;);&lt;br /&gt;popupBean1.setType(PARAMETERIZED_POPUP);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;Step 1: Add popup to item which you want to enable the pop-up, for example &quot;EmpDtlBtn&quot; button&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;OAButtonBean empDtlBtnBean = (OAButtonBean)webBean.findChildRecursive(&quot;EmpDtlBtn&quot;);&lt;br /&gt;empDtlBtnBean.setPopupEnabled(true);&lt;br /&gt;empDtlBtnBean.setPopupRenderEvent(&quot;onClick&quot;);&lt;br /&gt;empDtlBtnBean.setPopupID(&quot;myPopup1&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;webBean.addIndexedChild(popupBean1);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2017/11/oaf-programmatically-add-parameterized.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-7736680752860152495</guid><pubDate>Sun, 24 Sep 2017 06:28:00 +0000</pubDate><atom:updated>2017-09-25T11:44:32.908+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database</category><category domain="http://www.blogger.com/atom/ns#">plsql</category><title>Casting Data Type in Oracle Database</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;CAST function&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
The CAST function converts a value from one data type to another data type.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Syntax&lt;/b&gt;&lt;br /&gt;
CAST ( [ Expression | NULL | ? ] AS Datatype)&lt;br /&gt;
&lt;br /&gt;
Note : CAST conversions among SQL-92 data types.&lt;br /&gt;
The flowing are SQL-92 data types&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;BOOLEAN&lt;/li&gt;
&lt;li&gt;SMALLINT&lt;/li&gt;
&lt;li&gt;INTEGER&lt;/li&gt;
&lt;li&gt;BIGINT&lt;/li&gt;
&lt;li&gt;DECIMAL&lt;/li&gt;
&lt;li&gt;REAL&lt;/li&gt;
&lt;li&gt;DOUBLE&lt;/li&gt;
&lt;li&gt;FLOAT&lt;/li&gt;
&lt;li&gt;CHAR&lt;/li&gt;
&lt;li&gt;VARCHAR&lt;/li&gt;
&lt;li&gt;LONG VARCHAR&lt;/li&gt;
&lt;li&gt;CHAR &lt;/li&gt;
&lt;li&gt;VARCHAR&lt;/li&gt;
&lt;li&gt;LONG VARCHAR&lt;/li&gt;
&lt;li&gt;CLOB&lt;/li&gt;
&lt;li&gt;BLOB&lt;/li&gt;
&lt;li&gt;DATE&lt;/li&gt;
&lt;li&gt;TIME&lt;/li&gt;
&lt;li&gt;TIMESTAMP&lt;/li&gt;
&lt;li&gt;XML&lt;/li&gt;
&lt;/ol&gt;
&lt;b&gt;Examples&lt;/b&gt;&lt;br /&gt;
SELECT &lt;span style=&quot;color: red;&quot;&gt;&lt;i&gt;&lt;b&gt;CAST (SYSDATE AS VARCHAR2 (12))&lt;/b&gt;&lt;/i&gt;&lt;/span&gt; DATE_TO_VARCHAR FROM DUAL;&lt;br /&gt;
SELECT &lt;span style=&quot;color: red;&quot;&gt;&lt;i&gt;&lt;b&gt;CAST (&#39;12&#39; AS INTEGER)&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt; STRING_TO_NUMBERIC FROM DUAL;&lt;br /&gt;
SELECT&lt;i&gt;&lt;b&gt; &lt;span style=&quot;color: red;&quot;&gt;CAST (NULL AS VARCHAR2 (2))&lt;/span&gt;&lt;/b&gt;&lt;/i&gt; NULL_TO_STRING FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
As CAST only convert among SQL-92 data types, we can not use for example RAW data type.&lt;br /&gt;
But there are some packages casts to RAW like &lt;i&gt;&lt;b&gt;utl_raw.cast_to_raw&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
SELECT &lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;i&gt;UTL_RAW.CAST_TO_RAW(&#39;Mahmoud&#39;)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt; FROM DUAL;&lt;br /&gt;
output is : &quot;4D61686D6F7564&quot; &lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2017/09/casting-data-type-in-oracle-database.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>19</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-7513728452309820693</guid><pubDate>Mon, 18 Sep 2017 03:42:00 +0000</pubDate><atom:updated>2017-09-18T07:48:11.883+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF</category><category domain="http://www.blogger.com/atom/ns#">ADF Faces</category><title>ADF : Send Parameter to actionListener method inside Bean</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
actionListener method method can be invoked by Adf Button , Link and Image. &lt;br /&gt;
actionListeners methods have only one 
parameter of type &lt;i&gt;&lt;b&gt;&lt;span style=&quot;color: #073763;&quot;&gt;javax.faces.event.ActionEvent&lt;/span&gt;.&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
if requirement is to send some parameter to that
 bean method who’s signature is something like&lt;br /&gt;
&lt;span style=&quot;color: #073763;&quot;&gt;&lt;i&gt;&lt;b&gt;public void myActionListener(ActionEvent actionEvent) &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
The solution to achieve this requirement is putting an attribute tag from the JSF.Core 
inside the commandButton (or whatever actionable component you are 
using). So the code in the jsp page looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; height=&quot;88&quot; src=&quot;data:image/png;base64,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&quot; width=&quot;640&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Now i can get the value in the bean method by using below code&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #073763;&quot;&gt;&lt;i&gt;&lt;b&gt;public void myActionListener(ActionEvent actionEvent) {&lt;br /&gt;&amp;nbsp; // Add event code here...&lt;br /&gt;&amp;nbsp; String paramValue = (String)actionEvent.getComponent().getAttributes().get(&quot;paramName&quot;);&lt;br /&gt;&amp;nbsp; System.out.println(&quot;paramValue = &quot; + paramValue);&lt;br /&gt;}&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2017/09/adf-send-parameter-to-actionlistener.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>16</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-2265720411045824303</guid><pubDate>Tue, 06 Dec 2016 16:00:00 +0000</pubDate><atom:updated>2016-12-06T20:00:09.213+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">EBS</category><category domain="http://www.blogger.com/atom/ns#">Number</category><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF : Number Format</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In OAF, There is not format expression in BC4J like ADF, So you do formatting using controller classes.&lt;br /&gt;
&lt;br /&gt;
There are 2 ways to format numbers in OAF&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt;1- Format Numbers&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Write this code&amp;nbsp; in processRequest method&lt;br /&gt;
&lt;br /&gt;
import oracle.cabo.ui.validate.Formatter;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Formatter formatter = &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new OADecimalValidater(&quot;###,###,##0.00&quot;, &quot;###,###,##0.00&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OAWebBean numericBean = webBean.findChildRecursive(&quot;&amp;lt;&lt;bean_id&gt;&amp;gt;&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (numericBean != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; numericBean.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);&lt;/bean_id&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt;2- Format Number using currency format &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Write this code&amp;nbsp; in processRequest method&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OAWebBean currencyBean = webBean.findChildRecursive(&quot;&amp;lt;&lt;bean_id&gt;&amp;gt;&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (currencyBean != null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currencyBean .setAttributeValue(CURRENCY_CODE, &quot;USD&quot;); &lt;/bean_id&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2016/12/oaf-number-format.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-9086840559323919758</guid><pubDate>Wed, 24 Jun 2015 17:00:00 +0000</pubDate><atom:updated>2015-07-01T12:57:04.578+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database</category><category domain="http://www.blogger.com/atom/ns#">plsql</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>Display Calender in SQL and PLSQL</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Today I will present how to display calendar specific month from oracle &lt;b style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;SQL &lt;/b&gt;or &lt;b style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;PLSQL &lt;/b&gt;like below image&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-ov6vx2p3S6s/T5PsRL73ngI/AAAAAAAAARY/0oo6EdAR1M8/s1600/cal1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-ov6vx2p3S6s/T5PsRL73ngI/AAAAAAAAARY/0oo6EdAR1M8/s1600/cal1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
So I will present the solution to do this&lt;br /&gt;
&lt;br /&gt;
First I will create Object type to handle week days( &lt;b style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday&lt;/b&gt;)&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; CREATE OR REPLACE TYPE WEEK_DAY AS OBJECT  
   (SUN NUMBER (2),  
   MON NUMBER (2),  
   TUE NUMBER (2),  
   WED NUMBER (2),  
   THU NUMBER (2),  
   FRI NUMBER (2),  
   SAT NUMBER (2));  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I will create collection to handle table of type &lt;b style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;WEEK_DAY&lt;/b&gt; because calendar view is table of week days.&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; CREATE OR REPLACE TYPE WEEK_DAYS AS TABLE OF WEEK_DAY;  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
I created &lt;b style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;GET_CLAENDAR&lt;/b&gt; function which takes two parameters (Month and year) and it reruns collection of WEEK_DAYS then you can use it to display calendar in SQL or PLSQL.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; create or replace FUNCTION GET_CLAENDAR (IN_MONTH INTEGER, IN_YEAR INTEGER)
   RETURN WEEK_DAYS
IS
   LD$MONTH       DATE;
   LN$INDEX       PLS_INTEGER := 1;
   LT$WEEK_DAYS   WEEK_DAYS;

   CURSOR LCUR$DAYS (IN_DATE DATE)
   IS
        SELECT SUN,
               MON,
               TUE,
               WED,
               THU,
               FRI,
               SAT
          FROM (  SELECT TO_CHAR (DT + 1, &#39;iw&#39;) WEEK,
                         MAX (
                            DECODE (TO_CHAR (DT, &#39;d&#39;), &#39;1&#39;, TO_CHAR (DT, &#39;fmdd&#39;)))
                            SUN,
                         MAX (
                            DECODE (TO_CHAR (DT, &#39;d&#39;), &#39;2&#39;, TO_CHAR (DT, &#39;fmdd&#39;)))
                            MON,
                         MAX (
                            DECODE (TO_CHAR (DT, &#39;d&#39;), &#39;3&#39;, TO_CHAR (DT, &#39;fmdd&#39;)))
                            TUE,
                         MAX (
                            DECODE (TO_CHAR (DT, &#39;d&#39;), &#39;4&#39;, TO_CHAR (DT, &#39;fmdd&#39;)))
                            WED,
                         MAX (
                            DECODE (TO_CHAR (DT, &#39;d&#39;), &#39;5&#39;, TO_CHAR (DT, &#39;fmdd&#39;)))
                            THU,
                         MAX (
                            DECODE (TO_CHAR (DT, &#39;d&#39;), &#39;6&#39;, TO_CHAR (DT, &#39;fmdd&#39;)))
                            FRI,
                         MAX (
                            DECODE (TO_CHAR (DT, &#39;d&#39;), &#39;7&#39;, TO_CHAR (DT, &#39;fmdd&#39;)))
                            SAT
                    FROM (    SELECT IN_DATE - 1 + ROWNUM DT
                                FROM DUAL
                          CONNECT BY LEVEL &amp;lt;= LAST_DAY (IN_DATE) - IN_DATE + 1)
                GROUP BY TO_CHAR (DT + 1, &#39;iw&#39;))
      ORDER BY TO_NUMBER (WEEK);
BEGIN
   LT$WEEK_DAYS := WEEK_DAYS ();
   LD$MONTH := TO_DATE (IN_MONTH || &#39;-&#39; || IN_YEAR, &#39;MM-RRRR&#39;);

   FOR LREC$DAYS IN LCUR$DAYS (LD$MONTH)
   LOOP    
      LT$WEEK_DAYS.EXTEND;
      LT$WEEK_DAYS (LN$INDEX) :=
        WEEK_DAY(LREC$DAYS.SUN,
                      LREC$DAYS.MON,
                      LREC$DAYS.TUE,
                      LREC$DAYS.WED,
                      LREC$DAYS.THU,
                      LREC$DAYS.FRI,
                      LREC$DAYS.SAT);
      LN$INDEX := LN$INDEX + 1;
   END LOOP;

   RETURN LT$WEEK_DAYS;
END GET_CLAENDAR;
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Now after finishing creating needed objects let&#39;s test the function and see output.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #0b5394; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Test in Oracle SQL&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
I will display calendar of June 2012&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; SELECT * FROM TABLE (GET_CLAENDAR (6, 2012));  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-ov6vx2p3S6s/T5PsRL73ngI/AAAAAAAAARY/0oo6EdAR1M8/s1600/cal1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-ov6vx2p3S6s/T5PsRL73ngI/AAAAAAAAARY/0oo6EdAR1M8/s1600/cal1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #0b5394; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Test in Oracle PLSQL&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; DECLARE  
   LT$WEEK_DAYS  WEEK_DAYS;  
 BEGIN  
   LT$WEEK_DAYS := GET_CLAENDAR (6, 2012);  
   DBMS_OUTPUT.  
   PUT_LINE (  
      &#39;Sun&#39;  
    || CHR (9)  
    || &#39;Mon&#39;  
    || CHR (9)  
    || &#39;Tue&#39;  
    || CHR (9)  
    || &#39;Wed&#39;  
    || CHR (9)  
    || &#39;Thu&#39;  
    || CHR (9)  
    || &#39;Fri&#39;  
    || CHR (9)  
    || &#39;Sat&#39;);  
   FOR I IN LT$WEEK_DAYS.FIRST .. LT$WEEK_DAYS.LAST  
   LOOP  
    DBMS_OUTPUT.  
    PUT_LINE (  
       RPAD (LT$WEEK_DAYS (I).SUN, 3, &#39; &#39;)  
      || CHR (9)  
      || RPAD (LT$WEEK_DAYS (I).MON, 3, &#39; &#39;)  
      || CHR (9)  
      || RPAD (LT$WEEK_DAYS (I).TUE, 3, &#39; &#39;)  
      || CHR (9)  
      || RPAD (LT$WEEK_DAYS (I).WED, 3, &#39; &#39;)  
      || CHR (9)  
      || RPAD (LT$WEEK_DAYS (I).THU, 3, &#39; &#39;)  
      || CHR (9)  
      || RPAD (LT$WEEK_DAYS (I).FRI, 3, &#39; &#39;)  
      || CHR (9)  
      || RPAD (LT$WEEK_DAYS (I).SAT, 3, &#39; &#39;));  
   END LOOP;  
 END;  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
The output in DBMS Output Console&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-zPySNKd9N5w/T5P3Komr5sI/AAAAAAAAARk/LsLVdm0tXZ0/s1600/cal2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-zPySNKd9N5w/T5P3Komr5sI/AAAAAAAAARk/LsLVdm0tXZ0/s1600/cal2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2015/06/display-calender-in-sql-and-plsql.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-ov6vx2p3S6s/T5PsRL73ngI/AAAAAAAAARY/0oo6EdAR1M8/s72-c/cal1.png" height="72" width="72"/><thr:total>36</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-7915957859581727757</guid><pubDate>Wed, 03 Jun 2015 08:10:00 +0000</pubDate><atom:updated>2015-06-03T12:10:00.384+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF</category><category domain="http://www.blogger.com/atom/ns#">ADFBC</category><category domain="http://www.blogger.com/atom/ns#">Business Component</category><title>ADF ::: Creating View Criteria Programmatically</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3&gt;
&lt;/h3&gt;
We can add view criteria programmatically at run-time to ViewObject. So that we not only depend on Design View Criteria.&lt;br /&gt;
&lt;br /&gt;
The following is an example used to create View Criteria in Application Module Impl &lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;ViewObject empVO= this.findViewObject(&quot;EmpVO&quot;);
ViewCriteria vc = empVO.createViewCriteria();
ViewCriteriaRow vcRow = vc.createViewCriteriaRow();

// ViewCriteriaRow attribute name is case-sensitive.
// ViewCriteriaRow attribute value requires operator and value.
// Note also single-quotes around string value.
ViewCriteriaItem enameItem= vcRow.ensureCriteriaItem(&quot;Ename&quot;);
enameItem.setOperator(&quot;=&quot;);
enameItem.getValues().get(0).setValue(&quot;Mahmoud Elsayed&quot;);
vc.add(vcRow);

empVO.applyViewCriteria(vc);

&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2015/06/adf-creating-view-criteria.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-4048610876259391845</guid><pubDate>Tue, 02 Jun 2015 18:00:00 +0000</pubDate><atom:updated>2015-06-02T22:00:00.619+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF</category><category domain="http://www.blogger.com/atom/ns#">ADFBC</category><category domain="http://www.blogger.com/atom/ns#">Jdeveloper</category><title>ADF ::: Handle af:query search Button Programatically</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
The following code snippets is to execute search button in ADF Query search button programmatically without interact from User&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void onQueryListener(QueryEvent queryEvent) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Add event code here...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FacesContext fcsCtx = FacesContext.getCurrentInstance();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ELContext elCtx = fcsCtx.getELContext();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExpressionFactory expFactory = fcsCtx.getApplication().getExpressionFactory();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MethodExpression mthdExp =&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; expFactory.createMethodExpression(elCtx, &quot;#{bindings.EmpVOCriteriaQuery.processQuery}&quot;, null,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&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;&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;&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; new Class[] { queryEvent.getClass() });&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mthdExp.invoke(elCtx, new Object[] { queryEvent });&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch(Exception e){&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2015/06/adf-handle-afquery-search-button.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-2492696724397655617</guid><pubDate>Tue, 19 May 2015 07:10:00 +0000</pubDate><atom:updated>2015-05-19T11:10:00.348+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADFBC</category><category domain="http://www.blogger.com/atom/ns#">Business Component</category><category domain="http://www.blogger.com/atom/ns#">EBS</category><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF : NewRowState of New Rows</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;By default, 
entity objects are created with the row state of &lt;b&gt;STATUS_NEW&lt;/b&gt;, and BC4J 
adds them to its validation.&amp;nbsp; In this case, any 
event that triggers a validation or database post sequence includes 
these entity objects.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;As per OAF Model Coding Standards, always circumvent this behavior
 by explicitly calling the &lt;b&gt;setNewRowState&lt;/b&gt;(STATUS_INITIALIZED) method on 
its containing ViewRowImpl immediately after you insert the newly 
created row. This sets the state of any associated entity objects to 
STATUS_INITIALIZED.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;When you do 
this, BC4J removes the corresponding entity objects from the transaction
 and validation listener lists, so they will not be validated or posted 
to the database. As soon as the user makes a change (an attribute 
&quot;setter&quot; is called), the entity object&#39;s state changes to STATUS_NEW, 
and BC4J returns it to the validation/post lists. You can also call 
setNewRowState(STATUS_NEW) on the ViewRowImpl to change the state 
manually at any time. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Let&#39;s trace some scenarios&amp;nbsp;
&lt;/b&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Scenario 1: Row has been modified in the UI before submit. Row State could be anything.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The RowState becomes &lt;span id=&quot;goog_1120525927&quot;&gt;&lt;/span&gt;New. &lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;ValidateEntity will get called before &lt;span id=&quot;goog_1120525928&quot;&gt;&lt;/span&gt;processFormRequest().&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Scenario &lt;/span&gt;2: Called row.setNewRowState(Row.STATUS_NEW) after inserting a new row. Row has not been modified from UI.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;ValidateEntity will not get called before processFormRequest() but will get called on commit and postChanges.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Scenario &lt;/span&gt;&lt;/span&gt;3: Called row.setNewRowState(Row.STATUS_INITIALIZED) after inserting a new row. &lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Row has not been modified from UI. &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;ValidateEntity will not get called before processFormRequest() or on commit or postChanges.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The Row will be ignored by the Framework and removed from the Cache.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Even the mandatory fields in the Entity Object are not checked.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Please make sure setting the row state (Row.setNewRowState) should be done after adding 
the row to VO as recommended in the OAF Standard.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2015/05/oaf-newrowstate-of-new-rows.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-934772241776259557</guid><pubDate>Sun, 17 May 2015 06:46:00 +0000</pubDate><atom:updated>2015-05-17T10:46:00.696+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">EBS</category><category domain="http://www.blogger.com/atom/ns#">OAF</category><title> OAF: Parameters</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Oracle Application Framework (OAF) can pass parameters between pages and there are three types of parameters&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;i&gt;&lt;b&gt;1- Request&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
The scope of request parameters is finalized after&amp;nbsp; HTTP request.&lt;br /&gt;
&lt;br /&gt;
Examples of Request Parameters&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;URL Parameters&lt;/li&gt;
&lt;li&gt;Input Bean values (Message Text Input, Choice , Check etc) and Hidden Field Values (form values) in case of post&lt;/li&gt;
&lt;li&gt;Event triggering bean and the action in case of post.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Request values are accessed using OAPageContext.getParameter() method.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;2- Transaction&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
Transaction has wider scope than Request which finalize with ending of database transaction.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
You can create transaction parameter using OAPageContext.putTransactionValue() , ((OADBTransactionImpl)getTransaction()).putValue() .&lt;br /&gt;
&lt;br /&gt;
Get transaction parameter values using OAPageContext.getTransactionValue() , ((OADBTransactionImpl)getTransaction()).getValue()&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;i&gt;&lt;b&gt;3- Session&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Session has wider scope than Transaction which his life time is until user log out from application.&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
You can create Session parameter using OAPageContext.putSessionValue() ,&amp;nbsp; OAPageContext.putSessionValueDirect() .&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Get transaction Session values using OAPageContext.getSessionValue();
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;i&gt;URL Parameters Encryption and Encoding&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
We can encrypt parameters when&amp;nbsp; passing in URL in the following formats&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #134f5c; text-align: left;&quot;&gt;
1- &lt;span style=&quot;color: black;&quot;&gt;{@Attr}&amp;nbsp; encodes. Changes &lt;b&gt;Mahmoud Elsayed&lt;/b&gt; to &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Mahmoud &lt;/span&gt;%&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;Elsayed &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;color: black;&quot;&gt;2- {!Attr} encrypts parameter value&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;, Get parameter value in Controller using &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;OAPageContext.getDecryptedParameter() &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: black;&quot;&gt;3- {$Attr} plain token substitution (no encoding or encryption),&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt; Get parameter value in Controller using &lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;OAPageContext.getParameter() &lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #134f5c; text-align: left;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #134f5c; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #134f5c; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;color: #134f5c; text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;i&gt;&lt;b&gt;Global parameters in URL&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: black;&quot;&gt;1- {@@RETURN_TO_MENU}&amp;nbsp; Used for E-Business Suite Personal Home Page. Same as OAWebBeanConstants.RETURN_TO_MENU_URL.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #134f5c; text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: black;&quot;&gt;2- {@@RETURN_TO_PORTAL} - Return the user to a launching Portal page. Same as &lt;span style=&quot;color: black;&quot;&gt;OAWebBeanConstants.RETURN_TO_PORTAL_URL.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2015/05/oaf-parameters.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-3962467881242128271</guid><pubDate>Thu, 14 May 2015 06:18:00 +0000</pubDate><atom:updated>2015-05-14T10:18:19.509+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><title>Display Detail Rows as One Column in Master</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Sometimes, it is required to display detail rows as a single column in master row.&lt;br /&gt;
For example in scott schema you have two tables ( DEPT, EMP) which relation is 1-M .&lt;br /&gt;
&lt;br /&gt;
If required to display Employees names separated by comma&amp;nbsp; as one column per every DEPTNO, ÷In order to the final output like the following.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The easiest way to get output of previous diagram is the following SQL query.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT d.deptNo,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MAX (SUBSTR (SYS_CONNECT_BY_PATH (d.eName, &#39;,&#39;), 2)) employees&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM (SELECT deptNo,&lt;br /&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;&amp;nbsp;&amp;nbsp; eName,&lt;br /&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;&amp;nbsp;&amp;nbsp; ROW_NUMBER ()&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OVER (PARTITION BY deptNo ORDER BY deptNo, eName)&lt;br /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rnum&lt;br /&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; FROM scott.emp) d&lt;br /&gt;START WITH d.rnum = 1&lt;br /&gt;CONNECT BY d.rnum = PRIOR d.rnum + 1 AND PRIOR d.deptNo = d.deptNo&lt;br /&gt;&amp;nbsp; GROUP BY d.deptNo &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2015/05/display-detail-rows-as-one-column-in.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-7086933441561752434</guid><pubDate>Mon, 20 Apr 2015 08:32:00 +0000</pubDate><atom:updated>2015-04-20T12:32:07.097+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF</category><category domain="http://www.blogger.com/atom/ns#">ADFBC</category><category domain="http://www.blogger.com/atom/ns#">Business Component</category><title>ADF &amp; OAF :::  Missing IN or OUT parameter</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
If the bind variable &lt;u&gt;&lt;b&gt;required &lt;/b&gt;&lt;/u&gt;property wrongly defined into View Object, then it will cause following exception&lt;br /&gt;
&quot;java.sql.SQLException: Missing IN or OUT parameter at index:: 1 &quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To avoid this exception, you have to keep in mind when you are creating bind variable.&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;1- If you are directly passing the bind variable in view object main query then in this case bind variable &lt;u&gt;&lt;b&gt;require&lt;/b&gt;&lt;/u&gt; property should be selected. &lt;br /&gt;
&lt;br /&gt;
2- If you are using bind variable in view criteria only&amp;nbsp; then in this case the bind variable &lt;u&gt;&lt;b&gt;require&lt;/b&gt;&lt;/u&gt;&lt;b&gt;&lt;/b&gt; property should not be selected. &lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2015/04/adf-oaf-missing-in-or-out-parameter.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-5142019778189594138</guid><pubDate>Mon, 21 Oct 2013 06:00:00 +0000</pubDate><atom:updated>2013-10-21T10:00:00.506+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">EBS</category><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF : Trace OAF Pages</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
To enable diagnostic for specific user set Profile Option &lt;b&gt;FND: Diagnostics&lt;/b&gt; to &lt;b&gt;YES&lt;/b&gt;&lt;br /&gt;
See this &lt;a href=&quot;http://mahmoudoracle.blogspot.com/2013/03/oracle-oaf-profile-option.html&quot; target=&quot;_blank&quot;&gt;article &lt;/a&gt;about&lt;a href=&quot;http://mahmoudoracle.blogspot.com/2013/03/oracle-oaf-profile-option.html&quot; target=&quot;_blank&quot;&gt; profile option &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now login at application, you will find in global buttons &lt;b&gt;&quot;&lt;/b&gt;&lt;a class=&quot;xz&quot; href=&quot;http://www.blogger.com/null&quot;&gt;&lt;b&gt;Diagnostics&quot;&lt;/b&gt; link, click it.&lt;/a&gt;&lt;br /&gt;
Enter the follwing &lt;br /&gt;
Diagnostic: &lt;b&gt;Show Log on Screen &lt;/b&gt;&lt;br /&gt;
Log Level : &lt;b&gt;Statement (1)&lt;/b&gt;&lt;br /&gt;
Module : &lt;b&gt;%&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
Now Click go button&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-CuA2v0ne-54/UlZnq7ei4gI/AAAAAAAAAkw/izRv-C_bsy8/s1600/Trace.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; src=&quot;http://3.bp.blogspot.com/-CuA2v0ne-54/UlZnq7ei4gI/AAAAAAAAAkw/izRv-C_bsy8/s640/Trace.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now when opening any page at application you will find trace at button of page.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-lF9GeD-_Nbw/UlZohIBdNpI/AAAAAAAAAk8/M_hy6QjWgR4/s1600/trace2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;342&quot; src=&quot;http://3.bp.blogspot.com/-lF9GeD-_Nbw/UlZohIBdNpI/AAAAAAAAAk8/M_hy6QjWgR4/s640/trace2.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/10/oaf-trace-oaf-pages.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-CuA2v0ne-54/UlZnq7ei4gI/AAAAAAAAAkw/izRv-C_bsy8/s72-c/Trace.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-4371835560255882384</guid><pubDate>Wed, 16 Oct 2013 06:00:00 +0000</pubDate><atom:updated>2013-10-16T10:00:01.952+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">EBS</category><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF : Programatically Add Region to OA Page</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Sometimes in OAF, you want to add a region to OA Page.&lt;br /&gt;
&lt;br /&gt;
For example i had a requirement to add employee summary region to another page.&lt;br /&gt;
Employee Summary Page exists at MDS at this path &lt;b&gt;&quot;/oracle/apps/per/selfservice/common/webui/AsgSummaryRN&quot;&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Application module that is used with this region is &lt;b&gt;&quot;oracle.apps.per.selfservice.common.server.SummaryAM&quot;&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
I wrote the following code to add this page to another page at controller of OA page&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;ipublic void processRequest(OAPageContext pageContext, OAWebBean webBean) {
 super.processRequest(pageContext, webBean);
 
 OATableLayoutBean empSummaryBeean = 
  (OATableLayoutBean)this.createWebBean(pageContext, 
             &quot;/oracle/apps/per/selfservice/common/webui/AsgSummaryRN&quot;, 
             &quot;AsgSummaryRN&quot;, true);
 empSummaryBeean.setApplicationModuleDefinitionName(&quot;oracle.apps.per.selfservice.common.server.SummaryAM&quot;);
 empSummaryBeean.setStandalone(true);
 webBean.addIndexedChild(0, empSummaryBeean);
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/10/oaf-programatically-add-region-to-oa.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-6112803723264077742</guid><pubDate>Mon, 14 Oct 2013 06:00:00 +0000</pubDate><atom:updated>2013-10-14T12:57:05.722+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">EBS</category><category domain="http://www.blogger.com/atom/ns#">Jdeveloper</category><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF : Configure Jdeveloper for OAF </title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Developers use specific version of Jdeveloper to extend or customize OAF pages.&lt;br /&gt;
Each Oracle OAF framework has specific version of Jdeveloper used with it.&lt;br /&gt;
&lt;br /&gt;
Before configuring jdeveloper you must know current OAF version used by Oracle EBS.&lt;br /&gt;
To get OAF version used by your instance, login at application and click &lt;b&gt;&quot;About this page&quot;&lt;/b&gt; link on the left button of OA page and select &lt;b&gt;&quot;Technology Components&quot;&lt;/b&gt; tab.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-gV5tJ9fMFs0/UlZW8UydcQI/AAAAAAAAAjM/Du98_uY3Enc/s1600/About.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;215&quot; src=&quot;http://4.bp.blogspot.com/-gV5tJ9fMFs0/UlZW8UydcQI/AAAAAAAAAjM/Du98_uY3Enc/s640/About.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
After knowing your OAF framework version , login at Oracle Support and open Note ID: &lt;b&gt;ID 787209.1&lt;/b&gt; - &lt;b&gt;How to find the correct version of JDeveloper to use with eBusiness Suite 11i or Release 12&lt;/b&gt;.&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;/span&gt;&lt;/span&gt;
Download correct Jdeveloper patch and extract anywhere at your machine.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;/span&gt;&lt;/span&gt;
Follow the following steps to configure Jdeveloper&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;1- Specify Path of jdeveloper&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Book Antiqua&#39;,&#39;serif&#39;; font-size: 11pt;&quot;&gt;Right click on &lt;b&gt;My Computer&lt;/b&gt;, select &lt;b&gt;Properties&lt;/b&gt;, click &lt;b&gt;System Properties, &lt;/b&gt;Select Advanced tab , Click Environment Variables as given below screen shot&lt;/span&gt;&lt;br /&gt;
Variable name : &lt;b&gt;JDEV_USER_HOME&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Variable value : &amp;lt;&lt;path home=&quot;&quot; jdev=&quot;&quot; of=&quot;&quot;&gt;&amp;gt;&lt;/path&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-vQXjWE5elyY/UlZa84MR96I/AAAAAAAAAjY/YWNDsWqHoGI/s1600/Path.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;424&quot; src=&quot;http://4.bp.blogspot.com/-vQXjWE5elyY/UlZa84MR96I/AAAAAAAAAjY/YWNDsWqHoGI/s640/Path.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;2- Download DBC file&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
Download dbc file for this path &lt;b&gt;$FND_TOP/secure&lt;/b&gt; at application server to local machine folder &lt;b&gt;&amp;lt;&lt;jdev_user_home&gt;&amp;gt;\dbc_files\secure&lt;/jdev_user_home&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;i&gt;&lt;b&gt;3- Create Database Connection&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
Open&lt;b&gt; jdeveloper.exe&lt;/b&gt; from &lt;b&gt;jdevbin &lt;/b&gt;folder &lt;br /&gt;
Select &lt;b&gt;Connection Navigator&lt;/b&gt;, right click on &lt;b&gt;Database &lt;/b&gt;and select&lt;b&gt; New Database Connection&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/-roRAiiRCxWY/UlZdSI-9v8I/AAAAAAAAAjk/2KOKch7j0-Q/s1600/CreateConnection.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-roRAiiRCxWY/UlZdSI-9v8I/AAAAAAAAAjk/2KOKch7j0-Q/s1600/CreateConnection.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;In step1write &lt;b&gt;Connection Name&lt;/b&gt; and choose &lt;b&gt;Oracle(JDBC)&lt;/b&gt; at&lt;b&gt; Connection Type&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-5C9nhQnR2zs/UlZdowSNxYI/AAAAAAAAAjs/a98iSVgxXXQ/s1600/Step1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-5C9nhQnR2zs/UlZdowSNxYI/AAAAAAAAAjs/a98iSVgxXXQ/s1600/Step1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In step2 fill user name and password and deselect &lt;b&gt;Deploy Password&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-c-uyQl_ujUg/UlZeGpq7r7I/AAAAAAAAAj0/-HxbmSww17w/s1600/step2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-c-uyQl_ujUg/UlZeGpq7r7I/AAAAAAAAAj0/-HxbmSww17w/s1600/step2.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In step3 fill connection details&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-fdoFVAICdRA/UlZed1Yl4sI/AAAAAAAAAj8/JqWCUFSyC5Q/s1600/step3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-fdoFVAICdRA/UlZed1Yl4sI/AAAAAAAAAj8/JqWCUFSyC5Q/s1600/step3.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In step4 you can click test connection&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-6OXuIsN_jS4/UlZfJutjZgI/AAAAAAAAAkI/gUMCsAkOUFQ/s1600/step4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-6OXuIsN_jS4/UlZfJutjZgI/AAAAAAAAAkI/gUMCsAkOUFQ/s1600/step4.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;4- Project Properties&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt; &lt;br /&gt;
After creating workspace and project, click right click on project and select &lt;b&gt;Project Properties&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/-ogKuxVjY3ug/UlZf5ZAWV8I/AAAAAAAAAkQ/tKGrxi4a0fE/s1600/ProjectProp.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-ogKuxVjY3ug/UlZf5ZAWV8I/AAAAAAAAAkQ/tKGrxi4a0fE/s1600/ProjectProp.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Select &lt;b&gt;Business Compoenent&lt;/b&gt; in left pane, select from drop list your connection&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-eVL2_D8uwIE/UlZgbihlVvI/AAAAAAAAAkY/m4zyGs8-XMY/s1600/SelectConn.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;448&quot; src=&quot;http://2.bp.blogspot.com/-eVL2_D8uwIE/UlZgbihlVvI/AAAAAAAAAkY/m4zyGs8-XMY/s640/SelectConn.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Select&amp;nbsp;&lt;b&gt; Oracle Applications&lt;/b&gt; &amp;gt;&lt;b&gt; Runtime Connection&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
Fille the following&lt;br /&gt;
DBC File Name : path of dbc file that was downloaded at previous step&lt;br /&gt;
User Name : application user name&lt;br /&gt;
Password : application user name password&lt;br /&gt;
&lt;br /&gt;
Application Short Name : Enter short name of the responsibility that when running page in Jdeveloper local will run under this responsibility&lt;br /&gt;
Responsibility Key : Key of responsibility. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/-30EbaZmm-Uc/UlZg34ZgtZI/AAAAAAAAAkg/C-DBmaTcpQ0/s1600/runtimeConnn.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;452&quot; src=&quot;http://2.bp.blogspot.com/-30EbaZmm-Uc/UlZg34ZgtZI/AAAAAAAAAkg/C-DBmaTcpQ0/s640/runtimeConnn.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/10/oaf-configure-oaf-jdeveloper.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-gV5tJ9fMFs0/UlZW8UydcQI/AAAAAAAAAjM/Du98_uY3Enc/s72-c/About.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-8947586871344263574</guid><pubDate>Fri, 11 Oct 2013 06:07:00 +0000</pubDate><atom:updated>2013-10-11T10:07:00.178+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">EBS</category><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF : Disable Global Buttons in Page</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I write snippet code to disable global buttons in OAF page.&lt;br /&gt;
You can add the following code to Controller class of the page that you want to disable global buttons inside it.&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;    public void processRequest(OAPageContext pageContext, OAWebBean webBean) {
        super.processRequest(pageContext, webBean);

        OAPageLayoutBean pageLayoutBean = 
            (OAPageLayoutBean)pageContext.getPageLayoutBean();
        pageLayoutBean.prepareForRendering(pageContext);

        OAGlobalButtonBarBean globalButtonsBean = 
            (OAGlobalButtonBarBean)pageLayoutBean.getGlobalButtons();
        globalButtonsBean.setRendered(false);
    }&lt;/pre&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/10/oaf-disable-global-buttons-in-page.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-2780632436066773508</guid><pubDate>Wed, 09 Oct 2013 05:57:00 +0000</pubDate><atom:updated>2013-10-09T09:57:12.070+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">Jdeveloper</category><title>Route HTTP to HTTPS in HttpClient</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I published before an article about &lt;a href=&quot;http://mahmoudoracle.blogspot.com/2013/10/java-get-html-page-source-through.html&quot; target=&quot;_blank&quot;&gt;JAVA : Get html Page Source through Website URL&lt;/a&gt; that HttpClient was used to send Get method and get Response.&lt;br /&gt;
&lt;br /&gt;
Sometime developer want to route Http to Https when invoking Urls.&lt;br /&gt;
So You can use &lt;i&gt;&lt;b&gt;WebClientWrapper.wrapClient &lt;/b&gt;&lt;/i&gt;to do this issue.&lt;br /&gt;
&lt;br /&gt;
i&lt;span style=&quot;color: blue;&quot;&gt;mport java.security.cert.CertificateException;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import java.security.cert.X509Certificate;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import javax.net.ssl.SSLContext;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import javax.net.ssl.TrustManager;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import javax.net.ssl.X509TrustManager;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import org.apache.http.client.HttpClient;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import org.apache.http.conn.ClientConnectionManager;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import org.apache.http.conn.scheme.Scheme;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import org.apache.http.conn.scheme.SchemeRegistry;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import org.apache.http.conn.ssl.SSLSocketFactory;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;import org.apache.http.impl.client.DefaultHttpClient;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;public class WebClientWrapper {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static HttpClient wrapClient(HttpClient base) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SSLContext ctx = SSLContext.getInstance(&quot;TLS&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; X509TrustManager tm = new X509TrustManager() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue;&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; public void checkClientTrusted(X509Certificate[] xcs,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&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;&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;&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; String string) throws CertificateException {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&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; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue;&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; public void checkServerTrusted(X509Certificate[] xcs,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&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;&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;&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; String string) throws CertificateException {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&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; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: blue;&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; public X509Certificate[] getAcceptedIssuers() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&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; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctx.init(null, new TrustManager[] { tm }, null);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SSLSocketFactory ssf = new SSLSocketFactory(ctx);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientConnectionManager ccm = base.getConnectionManager();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SchemeRegistry sr = ccm.getSchemeRegistry();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sr.register(new Scheme(&quot;https&quot;, ssf, 443));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new DefaultHttpClient(ccm, base.getParams());&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception ex) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ex.printStackTrace();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/10/route-http-to-https-in-httpclient.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-5489622731403733475</guid><pubDate>Fri, 04 Oct 2013 07:00:00 +0000</pubDate><atom:updated>2013-10-09T10:00:10.657+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">Jdeveloper</category><title>JAVA : Get html Page Source through Website URL </title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
To get source code of website page you can use &lt;b&gt;HttpClient &lt;/b&gt;,I will&amp;nbsp; send GET method and then get response.&lt;br /&gt;
The response has content of website URL.&lt;br /&gt;
&lt;br /&gt;
I used Apache &lt;a href=&quot;http://hc.apache.org/httpcomponents-client-ga/index.html&quot; target=&quot;_blank&quot;&gt;HttpClient &lt;/a&gt;package to implement this task.&lt;br /&gt;
&lt;br /&gt;
In this Class I used&amp;nbsp; getStringFromInputStream method that was I was posted before in &lt;a href=&quot;http://mahmoudoracle.blogspot.com/2013/09/java-convert-inputstream-to-string.html&quot; target=&quot;_blank&quot;&gt;Convert InputStream to Strin&lt;/a&gt;g.&lt;br /&gt;
&lt;br /&gt;
here you can find Class do this task&lt;br /&gt;
Note I use static method &lt;i&gt;&lt;b&gt;WebClientDevWrapper.wrapClient&lt;/b&gt;&lt;/i&gt;, you can find its code in the article &lt;a href=&quot;http://mahmoudoracle.blogspot.com/2013/10/route-http-to-https-in-httpclient.html&quot; target=&quot;_blank&quot;&gt;Route HTTP to HTTPS in HttpClient&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;

public class WebsiteSource {
    public static String getSource(String url) throws Exception {
        String retValue = &quot;&quot;;
        HttpClient httpclient = new DefaultHttpClient();
        WebClientDevWrapper.wrapClient(httpclient);
        try {
            HttpGet httpget = new HttpGet(url);

            // Execute HTTP request
            HttpResponse response = httpclient.execute(httpget);

            //Get status : Response Ok will be HTTP/1.1 200 OK
            System.out.println(response.getStatusLine());

            // Get hold of the response entity
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                InputStream instream = entity.getContent();
                try {
                    retValue =
                            WebsiteSource.getStringFromInputStream(instream);

                } catch (RuntimeException ex) {
                    httpget.abort();
                    throw ex;
                } finally {
                    // Closing the input stream will trigger connection release
                    try {
                        instream.close();
                    } catch (Exception e) {
                    }
                }
            }

        } finally {
            httpclient.getConnectionManager().shutdown();
        }
        return retValue;
    }

    private static String getStringFromInputStream(InputStream is) {

        BufferedReader br = null;
        StringBuilder sb = new StringBuilder();

        String line;
        try {

            br = new BufferedReader(new InputStreamReader(is));
            while ((line = br.readLine()) != null) {
                sb.append(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        return sb.toString();

    }

    public static void main(String[] args) {

        try {
            String content =
                WebsiteSource.getSource(&quot;http://mahmoudoracle.blogspot.com/&quot;);
            System.out.println(content);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
&lt;/pre&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/10/java-get-html-page-source-through.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-9196414004956699631</guid><pubDate>Mon, 30 Sep 2013 06:00:00 +0000</pubDate><atom:updated>2013-09-30T10:00:06.288+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF</category><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">String</category><title>JAVA : Convert InputStream to String</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
You can use the following snippet to convert InputStream to String&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;    private static String getStringFromInputStream(InputStream is) {
        BufferedReader br = null;
        StringBuilder sb = new StringBuilder();

        String line;
        try {
            br = new BufferedReader(new InputStreamReader(is));
            while ((line = br.readLine()) != null) {
                sb.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return sb.toString();
    }
&lt;/pre&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/09/java-convert-inputstream-to-string.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-4212105697436386775</guid><pubDate>Wed, 25 Sep 2013 06:00:00 +0000</pubDate><atom:updated>2013-09-25T10:00:01.620+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Business Component</category><category domain="http://www.blogger.com/atom/ns#">EBS</category><category domain="http://www.blogger.com/atom/ns#">OAF</category><title>OAF Overview</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
This post will explains some terminologies that is used in Oracle Application Framework (OAF).&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Entity Object&lt;/b&gt;&lt;/span&gt; - business component entity objects maps to 
database table or view that allow DML operations and that used to 
cache data result set and perform validation before post changes to 
database.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Association Object&lt;/b&gt;&lt;/span&gt; - business component association objects 
implement the 
relationships between different entity objects and can mapped to 
database referential integrity constraint or non existing referential 
integrity constraint and this case constrain will be validated in OAF 
but not in database. &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;View Object&lt;/b&gt;&lt;/span&gt; - business component view objects are used to display data in UI pages and it can be based on&lt;br /&gt;
1- Entity Object or many entity objects and this case it supports DML operations.&lt;br /&gt;
2- SQL queries&amp;nbsp; : that&#39;s doesn&#39;t support DML operations&lt;br /&gt;
3- Static : Programmer create structure of view object attributes and can add static data also.&lt;br /&gt;
4- Programmatic : Programmer write code at runtime to get dynamic data of view object.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;View Link&lt;/b&gt;&lt;/span&gt; - Establishes a master/detail relationship between different view objects and can be in more depth master/detail/detail/....&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Validation View Object&lt;/b&gt;&lt;/span&gt; - A view object created exclusively for 
the purpose of performing light-weight SQL validation on behalf of 
entity objects or their experts.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Application Module&lt;/b&gt;&lt;/span&gt; - &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;An 
application module is a container for related BC4J objects. The AM is 
connected to the database, and is responsible for the commit and 
rollback of a transaction.&lt;/span&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Validation Application Module&lt;/b&gt;&lt;/span&gt; - An application module created 
exclusively for the purpose of grouping and providing transaction 
context to related validation view objects. Typically, a standalone 
entity object or the top-level entity object in a composition would have
 an associated validation application module.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Root Application Module&lt;/b&gt;&lt;/span&gt; - Each pageLayout region in an OA 
Framework application is associated with a &quot;root&quot; application module 
which groups related services and establishes the transaction context.&lt;br /&gt;
&lt;br /&gt;
This transaction context can be shared by multiple pages if they all 
reference the same root application module, and instruct the framework 
to retain this application module (not return it to the pool) when 
navigating from page to page within the transaction task.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Entity Exper&lt;/b&gt;t &lt;/span&gt;- A special singleton class registered with an entity object (EO) that performs operations on behalf of the EO.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Controller&lt;/b&gt;&lt;/span&gt; -
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;The 
controller is the java code in charge of loading a page when we call it.
 It is also in charge of handling an event on a page, like a click on a 
button, or the call of a List Of Values. &lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&amp;nbsp;
&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;b&gt;Attribute Set&lt;/b&gt;&lt;/span&gt; - Bundles of region or item properties that can be 
reused either as is or with modifications. For example, all buttons 
sharing the same attribute set would have the same label and Alt text.&amp;nbsp;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/09/oaf-overview.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-6886093598374806104</guid><pubDate>Mon, 23 Sep 2013 06:00:00 +0000</pubDate><atom:updated>2013-09-23T18:37:02.926+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF</category><category domain="http://www.blogger.com/atom/ns#">Jdeveloper</category><title>ADF : Working with ViewCriteria</title><description>&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 style=&quot;font-family: times new roman;&quot;&gt;View Criteria&#39;s are additional where clause added at runtime to base View Object Query.&lt;/span&gt;&lt;/span&gt;&lt;br /&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;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;Programmer can create view criteria declaratively or programatically.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-weight: bold;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;u&gt;&lt;i&gt; 1. Create View Criteria Declaratively&lt;/i&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;                     &lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;Open View Object in Edit and in &quot;Query&quot; tab you can click &quot;+&quot; add pencil to create new view criteria&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/-dMRHONpqPlo/Uixd-x-5eTI/AAAAAAAAAi0/aS_en4b4QC4/s1600/VC.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-dMRHONpqPlo/Uixd-x-5eTI/AAAAAAAAAi0/aS_en4b4QC4/s1600/VC.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;2. Control View Criteria Programatically.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&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;&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;i&gt;&lt;b&gt;a- Get View Criteria from View Criteria manager within View Object and then apply it &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;ViewCriteria applyVC = myViewObject.getViewCriteria(&quot;MyViewCriteriaName&quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;myViewObject.applyViewCriteria(applyVC);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;myViewObject.executeQuery();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;b- Applying Multiple view Criteria&#39;s&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;When
  multiple view criteria&#39;s are applied to the view object, the view  
criterias gets appended or replaced depending upon the way you use  
applyViewCriteria API&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;Replacing Existing view criteria&#39;s :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;myViewObject.applyViewCriteria(applyVC)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt; or&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;myViewObject.applyViewCriteria(applyVC,false)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;will erase all previously applied view criterias and apply the current view criteria only.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;Appending to the Existing view criteria:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;myViewObject.applyViewCriteria(applyVC, true)&lt;/span&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;&amp;nbsp;Will append this view criteria to the existing view criteria(s) which is applied already.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;c- Unapplying &amp;amp;&amp;amp; Removing View Criteria&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;vo.removeApplyViewCriteriaName()&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;Unapply the view criteria if it is applied. The view criteria will still remain in View Criteria Manager &lt;/span&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;(which means you can&#39;t apply this view criteria whenever you require in the future).&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;i&gt;&lt;b&gt;vo.removeViewCriteria()&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;
    Removes the view criteria from View Criteria Manager. If it is applied it is 
 first unapplied and then removed. (which means you cant apply this View Criteria&lt;/span&gt;&lt;span style=&quot;font-family: times new roman; font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt; to the view object next time in the future.).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;For example the below code returns null after removeViewCriteria has been applied.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;ViewCriteria applyVC = myViewObject.getViewCriteria(&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: times new roman; font-style: italic;&quot;&gt;MyViewCriteriaName&lt;/span&gt;&lt;/span&gt;&quot;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;vo.clearViewCriterias()&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;               Unapplies and removes all view criteria, both applied and unapplied from View Criteria Manager. Which means that you can&#39;t apply any View Criteria against View Object.&lt;/span&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;For example the below code returns null after &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;clearViewCriterias()&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt; has  been applied.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;ViewCriteria  applyVC = myViewObject.getViewCriteria(&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;MyViewCriteriaName&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&quot;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;myViewObject.applyViewCriteria(null)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: times new roman;&quot;&gt;
        The above statement unapplies all existing View Criterias and not remove it.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre id=&quot;bt_highlightedCode&quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;myViewObject&lt;/span&gt;.setNamedWhereClauseParam(&quot;MyParameter&quot;, &quot;myValue)&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;The above statement set Named Parameter Value. It set the value of &quot;MyParameter&quot; to &quot;myValue&quot;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;I post in previous post about&amp;nbsp; &lt;/span&gt;&lt;a href=&quot;http://mahmoudoracle.blogspot.com/2013/08/adf-change-view-criteria-columns-at.html&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;ADF : Change View Criteria Columns at Runtime&lt;/span&gt;&lt;/a&gt;&lt;br /&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;Thanks&lt;/span&gt;&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/09/adf-working-with-viewcriteria.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-dMRHONpqPlo/Uixd-x-5eTI/AAAAAAAAAi0/aS_en4b4QC4/s72-c/VC.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5237676719536842801.post-3161416097225339950</guid><pubDate>Mon, 16 Sep 2013 06:00:00 +0000</pubDate><atom:updated>2013-09-16T10:00:08.283+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADF</category><category domain="http://www.blogger.com/atom/ns#">java</category><title>Random Numbers in Java</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Previously I posted&amp;nbsp; about &lt;a href=&quot;http://mahmoudoracle.blogspot.com/2012/08/generate-random-password-in-oracle.html&quot; target=&quot;_blank&quot;&gt;Generate Random Passwords in Oracle&lt;/a&gt; that was using PLSQL.&lt;br /&gt;
Today I will post about java randoms.&lt;br /&gt;
&lt;br /&gt;
Java provides two classes to generate random numbers: &lt;a href=&quot;http://docs.oracle.com/javase/6/docs/api/java/util/Random.html&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; target=&quot;_blank&quot;&gt;Random&lt;/a&gt; and &lt;a href=&quot;http://docs.oracle.com/javase/6/docs/api/java/security/SecureRandom.html&quot; style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot; target=&quot;_blank&quot;&gt;SecureRandom&lt;/a&gt;.&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Random &lt;/span&gt;is faster than &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;SecureRandom&lt;/span&gt;, but it uses a 48 bits seeds which is not enough for the &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;long&lt;/span&gt; type.&lt;br /&gt;
Moreover, it is not &#39;random enough&#39; for cryptography. &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;SecureRandom&lt;/span&gt;, is slower than &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;Random&lt;/span&gt;, but can be used for cryptography.&lt;br /&gt;
&lt;br /&gt;
The following code example shows how to generate a random number within a range for &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;int&lt;/span&gt;, &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;long&lt;/span&gt;, &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;float&lt;/span&gt; and &lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;&quot;&gt;double&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
Note rangeStart , rangeEnd is range period of generated numbers .&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;        int rangeStart = 50;
        int rangeEnd = 100;

        SecureRandom secRandom = new SecureRandom();
        int inclusive = rangeEnd - rangeStart + 1;
        int exclusive = rangeEnd - rangeStart;


        int randomIntInclusive = secRandom.nextInt(inclusive) + rangeStart;
        int randomIntExclusive = secRandom.nextInt(exclusive) + rangeStart;

        System.out.println(&quot;randomIntInclusive : &quot; + randomIntInclusive);
        System.out.println(&quot;randomIntExclusive : &quot; + randomIntExclusive);

        long randomLongInclusive =
            (secRandom.nextLong() % inclusive) + rangeStart;
        long randomLongExclusive =
            (secRandom.nextLong() % exclusive) + rangeStart;

        System.out.println(&quot;randomLongInclusive : &quot; + randomLongInclusive);
        System.out.println(&quot;randomLongExclusive : &quot; + randomLongExclusive);

        float randomFloat = (secRandom.nextFloat() * exclusive) + rangeStart;
        System.out.println(&quot;randomFloat : &quot; + randomFloat);

        double randomDouble =
            (secRandom.nextDouble() * exclusive) + rangeStart;
        System.out.println(&quot;randomDouble : &quot; + randomDouble);&lt;/pre&gt;
&lt;br /&gt;
The output will be&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;randomIntInclusive : 60&lt;br /&gt;randomIntExclusive : 73&lt;br /&gt;randomLongInclusive : 11&lt;br /&gt;randomLongExclusive : 63&lt;br /&gt;randomFloat : 65.19333&lt;br /&gt;randomDouble : 84.14220368726888&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;/div&gt;
</description><link>http://mahmoudoracle.blogspot.com/2013/09/random-numbers-in-java.html</link><author>noreply@blogger.com (Mahmoud A. Elsayed)</author><thr:total>0</thr:total></item></channel></rss>