Thursday, December 31, 2015

Playing with View Objects

There are many ways to create a view object, based on a Entity Object, Static or Query including multiple tables. I wanted to modify a VO during run time by passing a bind variable.

A method is defined in the Application Module which is later added to the client interface and then to the page Definition. In the Page Data Binding Definition(Page->Bindings) have created a Executable with invokeAction and assigned this method and in the Common properties the Refresh attribute is set to renderModel.

So far I am assuming this is the only way to execute logic before the page loads.

Failed to start Application in Server Instance 

During the development, when we run the page multiple times you may encounter this, then you may go to Run->Terminate->IntegratedWebLogicServer. Once the Server has been stopped then go to Run->Start Server Instance (IntegratedWebLogicServer), and try to rerun the page.

Passing Parameter to VO in AM:

For passing a bind variable to a VO during run time, I used a bind variable param1 in the query and then defined it as Bind variable using the section Bind Variables, where I selected the 'required' checkbox.

In the AM method where I need to set this bind variable I used the method setNamedWhereClauseParam to set the value of the param1.

Wednesday, December 30, 2015

Methods in Application Module and Managed Bean in ADF

We can define methods both in Application Module and Managed Bean in the ADF.

The Methods that are defined in the Application Module should be added to the Client Interface in Java section to be accessible from Page. These can later be accessed in the bindings of the page and used as ProcessRequest as in OAF, meaning before loading the page.

The Methods/Variables that are defined are accessible to all the objects on the Page (Textbox etc) so using them we can edit the properties of these object in the Runtime. The EL (expression language) is used to access these values.

So far I was not able to access the methods defined in the Managed Bean via Application Module, this would have been useful for defining the default behavior of certain objects on the page (eg. ReadOnly) which would later change depending on the input on the page.





Bounded Task Flow and Unbounded Task Flow

Bounded and Unbounded Task Flow

Created two flows Unbounded and Bounded in ADF.

The main difference between the both is that Unbounded can have multiple entry points whereas bounded task flow has a single point entry.

While defining the Bounded task flow we have to define the default activity which is the entry point.

Usually Bounded Task Flow is called from Unbounded Task Flow. 

My experience in this matter while testing is that, I created a bounded task flow initially and tried to run and played around with the navigation but it the page wasn't going anywhere so changed it to unbounded task flow and the navigation was working as expected.

The components that I used were 
View - This can either be a page fragment or a page itself

Control Flow Case - This is the connection between two views, and it is a vector. There are From Activity ID and To Activity ID attributes which define the direction of the flow

 Router - This guides the flow depending on cases. Default Outcome is the attribute used for defaulting the flow.
  
Task Flow Call - This is used to call other Task Flow (usually a bounded task flow). In the TaskFlow Reference section populate the Document attribute by selecting the bounded task flow document and the ID attribute as well.

Task Flow Return - This is used on the Child Task Flow(bounded) to return to the Parent Task Flow that have called the child task flow.

Unbound Task Flow and Bounded Task Flow:




Playing around with ADF

My experience with ADF

I am an Oracle Application EBS Developer (Forms, Reports, BI Publisher, Workflow and OAF) and my main focus was on developing UI's with OAF (Oracle Application Framework).

So what I observed recently is that the technology is now shifting from On Premise Oracle Apps EBS to Oracle Fusion Cloud/On Prem. With that in mind, I have noticed that Oracle ADF needs to be a necessary addition to my skill set for developing UI's.


Also there is OTBI, BI Publisher Financial Reporting and Smart View that one needs to be acquainted with if he were to continue with the Oracle Fusion. Unlike the previous Oracle EBS where oracle has allowed the software to be downloaded and made available so that lot many could practice, the Fusion is not. I have tried to access the physical needs for installation and found its too gigantic for an individual to own for himself,

Therefore, I recommend taking training and rent a fusion instance access as part of it.

If ADF UI Development is the only focus then you dont need all of that. merely downloading Jdeveloper for Fusion Applications would suffice. JDeveloper for Fusion Applications itself would have Integrated Weblogic Server where these applications would be deployed to while developing.

For realtime deployment experience have a weblogic server installed and try to figure out the ways to deploy from jdeveloper to it.


Tuesday, December 29, 2015

Caused by: oracle.apps.fnd.common.PoolException: Not able to create new database connection: FNDSECURITY_APPL_SERVER_ID

This error is caused when the instance is cloned, wherein the server id might be changed.
Get the new server id by running the query
 select *
from fnd_nodes;

You will find the server_id populated in of the three columns, copy and paste in the respective instance dbc file. Restart the Jdeveloper and the error should be cleared.

Powered By Blogger

About Me

hyderabad, A.P, India
I am sridhar(sidhu) from India. Interested in sharing my views and myself with friends and well wishers.