Difference between fire Action and firePartialAction?
FireAction is used to Submit the whole Form and whole page will render again.
FirePartialAction is user for Partial Page Rendering(PPR). It will not cause whole page to render again. It causes only partial refresh of page.
Fire Action will do the form submit , cause entire page to be rendered .
FirePartial Action ( Similar to AJAX in java application ) only part of the page gets rendered or refreshed .
---- If Position President then Hide Manager Field
1)Create Trans VO with Trans Attr EmpManagerRender(Boolean) and RowKey(KeyAttribute)
2)Add handlePositionChangeEvent() in AM.
handlePositionChangeEvent() will iterate through current Entry VO which will update TransAttribute
EmpManagerRender.
3)From UI on Position change action to Partial and Event empPositionChange.
On ProcessFormRequest
else if ("empPositionChange".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM))) {
// The Position poplist PPR change event has fired.
am.invokeMethod("handlePositionChangeEvent");
}
LOV firePartialAction
FirePartialAction is user for Partial Page Rendering(PPR). It will not cause whole page to render again. It causes only partial refresh of page.
Fire Action will do the form submit , cause entire page to be rendered .
FirePartial Action ( Similar to AJAX in java application ) only part of the page gets rendered or refreshed .
---- If Position President then Hide Manager Field
1)Create Trans VO with Trans Attr EmpManagerRender(Boolean) and RowKey(KeyAttribute)
2)Add handlePositionChangeEvent() in AM.
handlePositionChangeEvent() will iterate through current Entry VO which will update TransAttribute
EmpManagerRender.
3)From UI on Position change action to Partial and Event empPositionChange.
On ProcessFormRequest
else if ("empPositionChange".equals(pageContext.getParameter(OAWebBeanConstants.EVENT_PARAM))) {
// The Position poplist PPR change event has fired.
am.invokeMethod("handlePositionChangeEvent");
}
LOV firePartialAction
if (pageContext.isLovEvent())
{
//
// if ("myLovInput".equals(lovInputSourceId))
// {
// logic begins here
// }
}
OAF Personalizations Information from Tables
http://www.project.eu.com/e-business-suite/querying-the-oa-framework-personalization-repository/
Upgrading Form Personalizations and OA Framework Personalizations from Oracle E-Business Suite Release 11i to 12.1 [ID 1292611.1]
https://forums.oracle.com/forums/thread.jspa?messageID=10497398�
https://forums.oracle.com/forums/thread.jspa?messageID=10471005�
-- Change Footer
-- Restrict Button for Certain responsibility
-- Adding Tooltip
-- Changing Lov to ChoiceList
{
//
// if ("myLovInput".equals(lovInputSourceId))
// {
// logic begins here
// }
}
MOAC(Multi Org Access Control) in OA Framework
http://mukx.blogspot.in/2009/04/moacmulti-org-access-control-in-oa.html
OAF Dynamic VO
http://anuj-oaframeworkblog.blogspot.com/2009/09/create-run-time-vo-in-oa-framework.html
http://apps2fusion.com/apps/14-fwk/353-controller-extension-sql-pl-sql
In CO Pls Refer
http://apps2fusion.com/apps/14-fwk/353-controller-extension-sql-pl-sql for details
//First get the Application Module
OAApplicationModule oam = pageContext.getApplicationModule(webBean);
//Lets say I need to get the description of FND_USER Names ANILPASSI
String sWhereClauseValue = "ANILPASSI" ;
//Build the select statement for this on the fly view object
String xxOnTheFlyVOQuery = "select description xxdesc from fnd_user ";
//Specify the Where Clause for the same
xxOnTheFlyVOQuery = xxOnTheFlyVOQuery + "where user_name = :1 ";
//First see if this VO is already attached to view object
ViewObject xxOnTheFlyViewObject = oam.findViewObject("xxFNDUserDescVO");
if(xxOnTheFlyViewObject == null)
xxOnTheFlyViewObject = oam.createViewObjectFromQueryStmt("xxFNDUserDescVO", xxOnTheFlyVOQuery);
//By now we are sure that the view object exists
xxOnTheFlyViewObject.setWhereClauseParams(null);
//Set the where clause
xxOnTheFlyViewObject.setWhereClauseParam(0, sWhereClauseValue);
xxOnTheFlyViewObject.executeQuery();
oracle.jbo.Row row = xxOnTheFlyViewObject.first();
//get the value of description column from View Object record returned
if(row != null)
{
String mSupHierarchyUsed = row.getAttribute(0).toString();
System.out.println("Result from Dynamic VO is =>" + mSupHierarchyUsed );
}
//Remove the view object, as this is no longer required
xxOnTheFlyViewObject.remove();
OAF Generic
http://imdjkoch.wordpress.com/tag/oaf/
Integrating XML Publisher and OA Framework
http://apps2fusion.com/at/51-ps/260-integrating-xml-publisher-and-oa-framework
http://bipublisher.blogspot.com/2008/03/bi-publisher-bip-in-oa-framework-part-1.html
Abstract Classess and Methods
An abstract class can not be instantiated.
Abstract methods must be implemented by subclassess.
When you declare abstract method, you provide only signature for method, which comprises name,argument list and return type. Abstract class does not provide body. Each concrete subclass must override the method and provide its body.
Public abstract class InventoryItem{
abstract boolean isRentable();
}
eg.
public abstract class OAEntityImpl extends OAJboEntityImpl
{
...
public abstract void setCreationDate(Date date);
...
}
Abstract classess can contain method that are not declared as abstract. Those method can be overriden by subclassess.
Interfaces
An interface is like fully abstract class.
-- All its methods are abstract.
-- All variables are public static final.
An interface lists a set of method signature without code details.
A class that imlements interface must provide code details for all methods of the interface.
A class can implement many interfaces but can extend only one class.
OAF Dynamic VO
http://anuj-oaframeworkblog.blogspot.com/2009/09/create-run-time-vo-in-oa-framework.html
http://apps2fusion.com/apps/14-fwk/353-controller-extension-sql-pl-sql
In CO Pls Refer
http://apps2fusion.com/apps/14-fwk/353-controller-extension-sql-pl-sql for details
//First get the Application Module
OAApplicationModule oam = pageContext.getApplicationModule(webBean);
//Lets say I need to get the description of FND_USER Names ANILPASSI
String sWhereClauseValue = "ANILPASSI" ;
//Build the select statement for this on the fly view object
String xxOnTheFlyVOQuery = "select description xxdesc from fnd_user ";
//Specify the Where Clause for the same
xxOnTheFlyVOQuery = xxOnTheFlyVOQuery + "where user_name = :1 ";
//First see if this VO is already attached to view object
ViewObject xxOnTheFlyViewObject = oam.findViewObject("xxFNDUserDescVO");
if(xxOnTheFlyViewObject == null)
xxOnTheFlyViewObject = oam.createViewObjectFromQueryStmt("xxFNDUserDescVO", xxOnTheFlyVOQuery);
//By now we are sure that the view object exists
xxOnTheFlyViewObject.setWhereClauseParams(null);
//Set the where clause
xxOnTheFlyViewObject.setWhereClauseParam(0, sWhereClauseValue);
xxOnTheFlyViewObject.executeQuery();
oracle.jbo.Row row = xxOnTheFlyViewObject.first();
//get the value of description column from View Object record returned
if(row != null)
{
String mSupHierarchyUsed = row.getAttribute(0).toString();
System.out.println("Result from Dynamic VO is =>" + mSupHierarchyUsed );
}
//Remove the view object, as this is no longer required
xxOnTheFlyViewObject.remove();
Embedding Custom Region Inside Standard OAF Pages
https://blogs.oracle.com/manojmadhusoodanan/entry/embedding_custom_region_inside_standardOAF Generic
http://imdjkoch.wordpress.com/tag/oaf/
Integrating XML Publisher and OA Framework
http://apps2fusion.com/at/51-ps/260-integrating-xml-publisher-and-oa-framework
http://bipublisher.blogspot.com/2008/03/bi-publisher-bip-in-oa-framework-part-1.html
Abstract Classess and Methods
An abstract class can not be instantiated.
Abstract methods must be implemented by subclassess.
When you declare abstract method, you provide only signature for method, which comprises name,argument list and return type. Abstract class does not provide body. Each concrete subclass must override the method and provide its body.
Public abstract class InventoryItem{
abstract boolean isRentable();
}
eg.
public abstract class OAEntityImpl extends OAJboEntityImpl
{
...
public abstract void setCreationDate(Date date);
...
}
Abstract classess can contain method that are not declared as abstract. Those method can be overriden by subclassess.
Interfaces
An interface is like fully abstract class.
-- All its methods are abstract.
-- All variables are public static final.
An interface lists a set of method signature without code details.
A class that imlements interface must provide code details for all methods of the interface.
A class can implement many interfaces but can extend only one class.
Exposing AM Methods to Controller
package xx.oracle.apps.pa.conthrrt;
import oracle.jbo.ApplicationModule;
public interface xxConthrrtAM extends ApplicationModule
{
int getConcReqId(String pAppName, String pCpName);
int ContExistCheck(String ContSso);
oracle.jbo.domain.Date castToJBODate(String aDate);
}
public class xxConthrrtAMImpl extends OAApplicationModuleImpl implements xx.oracle.apps.pa.conthrrt.xxConthrrtAM
{
In CO Use
import xx.oracle.apps.pa.conthrrt.server.xxConthrrtAMImpl;
int cReqId;
cReqId = -9;
xxConthrrtAMImpl amObject = (xxConthrrtAMImpl)pageContext.getApplicationModule(webBean);
String pAppName = "GEPSPA";
String pCpName = "GEPS_PA_CONTRATE_PRG";
cReqId = amObject.getConcReqId(pAppName,pCpName);
Using DFF in OA Framework
https://blogs.oracle.com/manojmadhusoodanan/entry/adding_descriptive_flex_field_dff
http://www.slideshare.net/ngcoders2001/steps-to-enable-dff-on-oaf-form
http://pradeep-krishnan.blogspot.com/2012/06/personalization-and-creating-custom-dff.html
Using DFF in OA Framework
https://blogs.oracle.com/manojmadhusoodanan/entry/adding_descriptive_flex_field_dff
http://www.slideshare.net/ngcoders2001/steps-to-enable-dff-on-oaf-form
http://pradeep-krishnan.blogspot.com/2012/06/personalization-and-creating-custom-dff.html
OAF Personalizations Information from Tables
http://www.project.eu.com/e-business-suite/querying-the-oa-framework-personalization-repository/
Upgrading Form Personalizations and OA Framework Personalizations from Oracle E-Business Suite Release 11i to 12.1 [ID 1292611.1]
https://forums.oracle.com/forums/thread.jspa?messageID=10497398�
https://forums.oracle.com/forums/thread.jspa?messageID=10471005�
-- Change Footer
-- Restrict Button for Certain responsibility
-- Adding Tooltip
-- Changing Lov to ChoiceList
SELECT PATH.PATH_DOCID PERZ_DOC_ID, jdr_mds_internal.getdocumentname(PATH.PATH_DOCID) PERZ_DOC_PATH FROM JDR_PATHS PATH WHERE PATH.PATH_DOCID IN (SELECT DISTINCT COMP_DOCID FROM JDR_COMPONENTS WHERE COMP_SEQ = 0 AND COMP_ELEMENT = ‘customization’ AND COMP_ID IS NULL) ORDER BY PERZ_DOC_PATH;
Lov VO Personalization
http://easyapps.blogspot.com/2010/07/personalization-of-oaf-page-lov-column.html
Lov Vo Extension
http://imdjkoch.wordpress.com/2011/10/29/how-to-customize-a-lov-in-oaf-vo-extension/
Lov VO Personalization
http://easyapps.blogspot.com/2010/07/personalization-of-oaf-page-lov-column.html
Lov Vo Extension
http://imdjkoch.wordpress.com/2011/10/29/how-to-customize-a-lov-in-oaf-vo-extension/
Thanks for sharing your experience and for more information visit
ReplyDeleteOracle Fusion
this blog is too good to read. good informative post.
ReplyDeletethis are the good post i have seen ever till now.
nice blog good information about oracle fusion all modules training
ReplyDeleteFirst very very thank you for useful data to amateur.
I am a new person in apps so i request you to solve my simple queries
for more information please check the site
oracle all modules trainings
this blog is too good to read. good informative post.
ReplyDeletethis are the good post i have seen ever till now.
oracle fusion SCM on line training
Hi,
ReplyDeleteThis is a nice blog.
thanks for sharing such a wonderful blog.
oracle fusion HCM on line training
we are the leading oracle fusion financials training institutes search engine. we have huge database regarding oracle institutions present in india. we can provide
ReplyDeletecomplete institute details as we don't have money charge policy for the information provided
Oracle fusion Financials Training in hyderabad
Oracle Fusion Financials online Training in hyderabad