| Home |
| Technical Articles |
| Training Articles |
| Receive Email for New Articles |
| Contributors |
| Apps Book |
Technical Articles
Oracle Scripts
OA Framework Extensions 

| OA Framework Extensions | | Print | |
| Written by Anil Passi | |
| Saturday, 03 November 2007 | |
|
Please find a PowerPoint presentation that explains the steps for doing various types of extensions to OA Framework. Following topics have been covered in this OA Framework Extensions presentation Steps to extend Entity Object Steps to extend Application Module Steps to extend Controller Class Overview of Personalizations SPEL [Simplest Possible Expression Language] PPR – Partial Page Rendering JDR API’s How to embed a custom region into OA Framework Page Best practices when making changes to MDS Layer and personalization Limitations of personalizations [when doing extensions] Please click here to view this presentation Comments
(29)
Hi Anil,
Thanks a lot... I have couple of questions...Working in R12. 1. Please provide the steps i.e what are the things to be downloaded as from/to which locations so that we can start the customization of a OAF page by opening them in Jdev. 2. Which version of Jdev I should be using in-order-to go for R12 OAF customizations? 3. Can you please share a link of demo for a such a requirement? Cheers, Satya
i face to a problem is that , when custome add a pic attachment, then it will be show in a detail page,not only show a download link , but full of pic will show in a region of page ~
how can i solve this problem ? if u have some good idea to sovle the problem , plz tell me, ~ thx very much ! BTW,my english is not very well , NVM!
Hi Anil,
Thanks for your reply. I tried as you said but now getting a diff. error messages. Kindly let me know what am I missing now? oracle.apps.fnd.framework.OAException: Application: FND, Message Name: FND_NO_REGION_DATA. Tokens: REGIONCODE = /xxt/oracle/apps/ak/xxperson/webui/xxPersonMainPG; at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:527) at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getWebBeanTypeDataFromJRAD(OAWebBeanFactoryImpl.java:3719) at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getRootApplicationModuleClass(OAWebBeanFactoryImpl.java:3452) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:999) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:502) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:423) Exception: oracle.adf.mds.MetadataDefException: Unable to find component with absolute reference = /xxt/oracle/apps/ak/xxperson/webui/xxPersonMainPG, XML Path = null. Please verify that the reference is valid and the definition of the component exists either on the File System or in the MDS Repository. at oracle.adf.mds.internal.MetadataManagerBase.findElement(MetadataManagerBase.java:1350) at oracle.adf.mds.MElement.findElement(MElement.java:97) at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:501) Exception: oracle.adf.mds.MetadataDefException: Unable to find component with absolute reference = /xxt/oracle/apps/ak/xxperson/webui/xxPersonMainPG, XML Path = null. Please verify that the reference is valid and the definition of the component exists either on the File System or in the MDS Repository. at oracle.adf.mds.internal.MetadataManagerBase.findElement(MetadataManagerBase.java:1350) at oracle.adf.mds.MElement.findElement(MElement.java:97) at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:501) at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getWebBeanTypeDataFromJRAD(OAWebBeanFactoryImpl.java:3719) at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getRootApplicationModuleClass(OAWebBeanFactoryImpl.java:3452) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:999) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:502) Thanks, Anil K
Hi Anil,
Thanks for the resoponse. Yes the second block returns the following output Error: Could not find document /xxt/oracle/apps/ak/xxperson/webui/xxPersonMainPG That means the xml is not in MDS I am using the xmlImporter for importing the file in MDS and as I am doing it for the first time following are the steps I am doing, kindly let me know if I am doing correct? 1. Trasfered the directory xxt to XXCUS_TOP 2. Transfered individual java files with chmod 777 3. Then using the xml Imorter to import the xxPersonMainPG.xml to MDS and there I get struct the error I get is Error: The input file xxPersonMainPG.xml does not exits The code I am using for import is given below java oracle.jrad.tools.xml.importer.XMLImporter $XXCUS_TOP/mds/webui/xxPersonMainPG.xml -rootdir $XXCUS_TOP/ -username apps -password bmw002 -dbconnection "(description=(address_list=(address=(community=tcp. world)(protocol=tcp)(host=DEV1)(port=1531)))(connect_da ta=(sid=XXDEV)))" -rootPackage /xxt/oracle/apps/ak/xxperson/webui Kindly let me know your views Thanks Anil K.
Thx for quick response
I'm a new comer to OA Framework.. I learned a lot from your blog regarding OA Framework.. Excellent jon explaining things in a easy to understand manner..
I have one question.. if you are extensing EO, VO or AM then you need to get the BC4J from the server into the Jdeveloper and crete a cusom BC4J Package and extend it.. Create a substitution and import that jpx file using XML Importer But when you extend the controller, Can you write your custom controller class without importing into local jdeveloper? Because we are not creating any substitution and we chose the custom controller for that region via personalization.. Can you please provide an explanation for my question.. Thank you, Shree
Hi Anil,
Great job sharing your wealth of knowlwdege with all of us.. Can you write an article on XML Publisher Integration with OA Framework with a simple example.. Thanks for your help!! Suneetha
i m new to OA Framework, ur articles r very gud n impressive to gain knowledge.
however i m nt able to get the PPT opened neither i m able to clich that link to c the PPT.. could u plz guide.. Thanx n Regrds Santosh Bhumkar
Hi,
Thanks for the pitch on OA Framework Extensions but when i am trying to open the presentation...its getting error out saying that the file has been corrupted. Request you to please if you can post againg the ppt or if you can send me via email that will be gr8 help for me... Thanks Praveen
Hi Anil,
I was away and came back y'day. I tried to deploy my test(Hello) page to OA but I am not getting success. It works fine when I run the page from jDeveloper but when I deploy it give out error's. Request you to let me know where am I going wrong. Following are the steps which I do, 1. Develop the Project/ JSP form using jDeveloper and test running the page HelloWorldPG.xml and it works fine. 2. The project is saved in the following directory structure. C:softwareoajdevhomejdevmyprojectsoracleappsak xxtest --> this directory has the usual directories mapped with the BC Packages of the project (Server and Webui) Following are the Business Comp Pkgs of the project . oracle.apps.ak.xxtest.server . oracle.apps.ak.xxtest.webui 2. move the folder/ directory xxfwork to the server directory $JAVA_TOP/oracle/apps/ak in text transfer mode 3. After copying again transfer the .java/ .class files in binary transfer mode and give the permission 777. 4. import the new directory structure/ path of the page in MDS repository import C:softwareoajdevhomejdevmyprojectsoracleappsak xxtestwebuiHelloWorldPG.xml -jdk13 -mmddir "C:softwareoajdevhomejdevmyhtmlOA_HTMLjrad" -username apps -password bmw007 -rootdir C:softwareoajdevhomejdevmyprojects -dbconnection " (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DEV2)(PORT=15 21))(CONNECT_DATA=(SID=DEV2)))" 5. Register the Function and attach the function to a menu. OA.jsp?page=/oracle/apps/ak/xxtest/webui/HelloWorldPG Now when I access the page I get the below errors - ( I am pasting few lines of error as I cannot paste the full text) oracle.apps.fnd.framework.OAException: Could not load application module 'oracle.apps.ak.xxtest.server.HelloWorldAM'. at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:279) at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:7 at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1177) ## Detail 0 ## JBO-30003: The application pool (dataclone2.newbridge.bnm.ieSUPPORT1525oracle.apps.ak.xxtest.server.HelloWorldAM) failed to checkout an application module due to the following exception: oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.CustomClassNotFoundException, msg=JBO-26022: Could not find and load the custom class oracle.apps.ak.xxtest.server.HelloWorldAMImpl ## Detail 0 ## oracle.jbo.CustomClassNotFoundException: JBO-26022: Could not find and load the custom class oracle.apps.ak.xxtest.server.HelloWorldAMImpl at oracle.jbo.common.JBOClass.findCustomClass(JBOClass.java:162) ## Detail 0 ## java.lang.ClassNotFoundException: oracle.apps.ak.xxtest.server.HelloWorldAMImpl at java.net.URLClassLoader$1.run(URLClassLoader.java:195) JBO-30003: The application pool (dataclone2.newbridge.bnm.ieSUPPORT1525oracle.apps.ak.xxtest.server.HelloWorldAM) failed to checkout an application module due to the following exception: oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.CustomClassNotFoundException, msg=JBO-26022: Could not find and load the custom class oracle.apps.ak.xxtest.server.HelloWorldAMImpl at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1619) ..... ETC Kindly see if you can help me. Thanks, Anil K Hi, Request you to please help me..I am trying to go thru the presentation of OA Framework extensions but not able to.Its saying that file has been corrupted. Please help me. Thanks Praveen
Hi Anil,
I managed to successfully deploy my first test page to Oracle Apps and view it using Apps menu. Thanks for all your help. Anil K
Can't download presentation. Message : File corrupted ....
MK ?
Hi Anil,
Thanks a lot for your good work its really very much helpfull for novice who are fond of learning OA Framework. Unable to download the PPT, so kindly request you to send me the PPT to my mail. With Best Regards, Hussein
Could not open the ppt(blamed it on Mr.Gates
). Please mail it to me.
have done a customization in OAF. I have added a transient attribute column in a VO and assigned that to the page thru personalization.
and in the COntroller, i have added the code to assign the transient value to ATTRIBUTE5 of the database table. Here transiet attribute is of DATE type and ATTRIBUTE5 is of VARCHAR2 type. when i run this page, i am getting this error: oracle.apps.fnd.framework.OAException: oracle.jbo.NoDefException: JBO-25002: Definition ATTRIBUTE5 of type Attribute not found at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException (OAPageErrorHandler.java:1223) at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:140 at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2381) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1734) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:50 at oracle.apps.fnd.framework.webui.OAPageBean.preparePage (OAPageBean.java:429) at _oa__html._OA._jspService(_OA.java:85) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417) at oracle.jsp.JspServlet.doDispatch (JspServlet.java:267) at oracle.jsp.JspServlet.internalService(JspServlet.java:186) at oracle.jsp.JspServlet.service(JspServlet.java:156) at javax.servlet.http.HttpServlet.service(HttpServlet.java:58 at oracle.jsp.provider.Jsp20RequestDispatcher.forward (Jsp20RequestDispatcher.java:162) at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:187) at _oa__html._OA._jspService(_OA.java:95) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417) at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267) at oracle.jsp.JspServlet.internalService(JspServlet.java:186) at oracle.jsp.JspServlet.service (JspServlet.java:156) at javax.servlet.http.HttpServlet.service(HttpServlet.java:58 at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456) at org.apache.jserv.JServConnection.run(JServConnection.java :294) at java.lang.Thread.run(Thread.java:595) Does any one have idea why this is coming. Need your inputs on this. Thanx
Hi Anil,
Hats off to your knowledge and your service to the community. I just want to find out a way to replace an existing OAF page with a custom page. I couldn't add a new item to the existing page through personalization because create item button is not available. I had no choice except to replace the page. This page is being invoked through buttons created by controller class and I couldn't personalize the link to hit the new custom page. Please help..
Thanks very much for your quick reply, Anil.
Here is what I am trying to accomplish. I need to add attachment functionality to supplier purchase order acknowledgement form (PosVpoAckPG). This page is being accessed from PosViewPOPG. 'Create Item' is not available through personalization for this page. I have added the attachmentLink to PosVpoAckPG page in JDev and I am able to deliver the required functionality. I can rename this page and create a new function to invoke this page. I am trying to see if there is an easy way. Thanks again for your commendable work.
That is great. I really appreciate it if you can point me to the source explaining the steps. This is very helpful and really admire your passion.
Srini
Hi Anil,
Can you please let me know how I can add attachment bean in the Controller programatically. I have followed the javadoc for OAMessageAttachmentLinkBean class and added the following code in the Controller.. OAMessageAttachmentLinkBean attachBean = new OAMessageAttachmentLinkBean(); //OAWebBean attachWebBean = attachBean.createLabel(oawebbean, "PosTest"); attachBean.setAddButtonText("Attachment"); attachBean.setEntityId("PO_HEADERS"); attachBean.setViewUsageName("PosPOSummaryVO"); Dictionary firstEntity = new Hashtable(); firstEntity.put("entityId", "PO_HEADERS"); // entity id firstEntity.put("showAll", Boolean.FALSE); // show all property firstEntity.put("insertAllowed", Boolean.TRUE); firstEntity.put("deleteAllowed", Boolean.TRUE); firstEntity.put("updateAllowed", Boolean.TRUE); Integer[] categories = new Integer[2]; // categories categories[0] = new Integer(13); categories[1] = new Integer(14); firstEntity.put("categories", categories); Dictionary[] entityMaps = new Dictionary[1]; entityMaps[0] = firstEntity; attachBean.setEntityMappings(entityMaps); String[] catList = {"FromSupplier"}; attachBean.setCategoryMap("PO_HEADERS", catList, oapagecontext); OAWebBeanDataAttribute oawebbeandataattribute1 = (OAWebBeanDataAttribute) attachBean; oafieldtablelayoutbean.addIndexedChild(oawebbeandataattribute1); I am getting the following error.. This region has an invalid root bean . This can be caused in one of the following two ways: 1) An attempt has been made to reference an application module or view object which is not yet known. Be sure to add this bean to its parent before setting or getting any attributes which is associated to an application module or view object. 2) All regions must have an OABodyBean as it's root bean. Please help me.. Thanks! Srini
Hi Anil,
I need to extend a VO RiskVO, is under oracle/apps/amw/opinions/server/RiskVO.xml But am not getting the respective server.xml file under this directory. how to extend this VO? Without server.xml is it possible to extend the VO? Please suggest, Thnx In Advance, Ajit You must be logged in to a comment. Please register if you do not have an account yet.
|
First of all let me thank you for you great effort. Kudos..!
I am a regular visitor to the articles on this site.
I am trying to deploy the training Person OAF to Oracle Apps and using the Document written by Anjani Pandey for deploying. Unfotunately I am structup as I am getting arror when I click on the Menu Item from Oracle Apps I get the below error (I have shortened the error as its too big). Kindly let me know if I am missing anything?
oracle.apps.fnd.framework.OAException: Could not load application module 'xxt.oracle.apps.ak.xxperson.server.xxPersonAM'.
at oracle.apps.fnd.framework.webui.OAJSPApplicationRegistry.registerApplicationModule(OAJSPApplicationRegistry.java:279)
## Detail 0 ##
JBO-30003: The application pool (dataclone2.newbridge.bnm.ieSUPPORT1525xxt.oracle.apps.ak.xxperson.server.xxPersonAM) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.NoDefException, msg=JBO-25002: Definition xxt.oracle.apps.ak.xxperson.server.xxPersonAM of type ApplicationModule not found
oracle.jbo.NoDefException: JBO-25002: Definition xxt.oracle.apps.ak.xxperson.server.xxPersonAM of type ApplicationModule not found
at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:329)
JBO-30003: The application pool (dataclone2.newbridge.bnm.ieSUPPORT1525xxt.oracle.apps.ak.xxperson.server.xxPersonAM) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.NoDefException, msg=JBO-25002: Definition xxt.oracle.apps.ak.xxperson.server.xxPersonAM of type ApplicationModule not found
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1619)
## Detail 0 ##
oracle.jbo.NoDefException: JBO-25002: Definition xxt.oracle.apps.ak.xxperson.server.xxPersonAM of type ApplicationModule not found
at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:329)
Thanks,
Anil K