Login
Register

Home

Trainings

Fusion

R12

Blogs

Contact Us

OA Framework - All Articles
  • Register

Oracle Gold Partners, training schedule is listed here designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new Click here to raise Support Ticket. Get reply within 48 hours.

User Rating: 2 / 5

Star ActiveStar ActiveStar InactiveStar InactiveStar Inactive
 
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



Anil Passi

Overall Rating (0)

0 out of 5 stars

People in this conversation

  • Hi Anil,

    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

    Short URL:
  • Guest - Anil Passi

    Hi Anil K

    The main string in your message stack is
    xxt.oracle.apps.ak.xxperson.server.xxPersonAM of type ApplicationModule not found

    Please do
    ls -l $JAVA_TOP/xxt/oracle/apps/ak/server/xxPersonAM*

    There should be a class file and an XML file in this location for the AM

    Is the class & XML file there?

    Thanks,
    Anil Passi

    Short URL:
  • 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

    Short URL:
  • Guest - Anil Passi

    Hi Satya

    For a step by step extension demo on R12, please see link
    [url]http://www.google.com/search?q=site:apps2fusion.com+oa-framework-r12-extension-example-2[/url]

    Thanks,
    Anil Passi

    Short URL:
  • Guest - jarden.cheung

    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!

    Short URL:
  • 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

    Short URL:
  • Guest - Anil Passi

    Hi Anil K

    You haven't loaded the Page into MDS.
    You need to use XML Importer to do so.

    You can test the page upload in question, by running below scripts

    set serveroutput on size 10000 ;
    DECLARE
    BEGIN
    jdr_utils.listdocuments('/xxt/oracle/apps/ak/xxperson/webui', TRUE);
    END;
    /


    DECLARE
    BEGIN
    jdr_utils.printdocument
    (
    p_document => '/xxt/oracle/apps/ak/xxperson/webui/xxPersonMainPG');
    END;
    /

    Thanks,
    Anil Passi

    Short URL:
  • 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_data=(sid=XXDEV)))" \
    -rootPackage /xxt/oracle/apps/ak/xxperson/webui

    Kindly let me know your views

    Thanks
    Anil K.

    Short URL:
  • Guest - Anil Passi

    Hi Anil K

    Please try the below

    adjava \
    oracle.jrad.tools.xml.importer.XMLImporter $XXCUS_TOP/mds/webui/xxPersonMainPG.xml \
    -rootdir $XXCUS_TOP/mds/webui \
    -username apps \
    -password bmw002 \
    -dbconnection "(description=(address_list=(address=(community=tcp.world)(protocol=tcp)(host=DEV1)(port=1531)))(connect_data=(sid=XXDEV)))" \
    -rootPackage /xxt/oracle/apps/ak/xxperson/webui


    Thanks,
    Anil Passi

    Short URL:
  • Thx for quick response

    Short URL:
  • Guest - Shree

    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

    Short URL:
  • Guest - Suneetha

    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

    Short URL:
  • 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

    Short URL:
  • Guest - praveen44u

    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

    Short URL:
  • 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:\software\oa\jdevhome\jdev\myprojects\oracle\apps\ak\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:\software\oa\jdevhome\jdev\myprojects\oracle\apps\ak\xxtest\webui\HelloWorldPG.xml -jdk13 -mmddir "C:\software\oa\jdevhome\jdev\myhtml\OA_HTML\jrad" -username apps -password bmw007 -rootdir C:\software\oa\jdevhome\jdev\myprojects\ -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DEV2)(PORT=1521))(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:78)
    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

    Short URL:
  • Guest - praveen44u

    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

    Short URL:
  • 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

    Short URL:
  • Guest - michal

    Can't download presentation. Message : File corrupted ....

    MK ?

    Short URL:
  • Guest - Anil Passi

    Hi MK,

    Blame it on Bill Gates. Perhaps some version problem.
    I have fwd'ed this link to my friends, and they all can open it.

    Usually I avoid deploying ppt files, as that facilitates copyright infringement of the work.

    Please email me, I will reply to you with ppt.

    Thanks,
    Anil Passi

    Short URL:
  • Guest - Hussein

    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

    Short URL:
  • Guest - sujoy bhattacharjee

    Could not open the ppt(blamed it on Mr.Gates ;)). Please mail it to me.

    Short URL:
  • Guest - Manjula

    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:1408)
    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:508)
    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:588)
    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:588)
    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

    Short URL:
  • Guest - Srini319 Reddy

    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..

    Short URL:
  • Guest - Anil Passi

    Hi Srini

    You can extend the controller against that page.
    Effectively, you will have to override the processFormRequest, to handle the click on the link.

    If the link has standard page hardcoded at design time, then, you will can extend processRequest itself, with logic as below
    1. get a handle to the link bean
    2. set the Destination URL property, to make it point to your custom page.

    Thanks,
    Anil Passi
    Depending upon analysis of the standard page, another option would have been to:-
    1. extend the controller on main page
    2. in processRequest hide the standard region that you wish to replace
    3. Embed the custom stacklayout region programatically.

    Short URL:
  • Guest - Srini319 Reddy

    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.

    Short URL:
  • Guest - Anil Passi

    Hi Srini

    You should be able to extend the controller, and then should be able to add the attachment bean programatically to the existing page.

    Thanks,
    Anil Passi

    Short URL:
  • Guest - Srini319 Reddy

    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

    Short URL:
  • Guest - Srini319 Reddy

    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

    Short URL:
  • Guest - AjitRaut

    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

    Short URL:
  • Guest - krish

    Hi Anil,
    Thank u for ur guidence.plz clarify my doubt.
    can u tell the difference between customization and extensions. plz explain with an simple examples.
    both r same?. i didn't find any thing on customization in these tutorials.i need clear idea on customization ie, in which scenerio we go for customization.plz clarify it.

    Thanking u,
    krish

    Short URL:
  • Guest - Anil Passi

    You customize by extending the existing application.
    Customization means- Change the Functionality of screen
    But- You can not modify standard objects delivered by Oracle
    Hence- We extend the standard objects delivered by Oracle

    Effectively- You customize standard application by extending the existing application.

    Thanks,
    Anil Passi

    Short URL:
  • Guest - Ajith G

    Hi Anil,

    I am not able to open the PPT. Can you please send it to my email.
    Thanks a ton for sharing your knowledge to everyone.

    Regards,
    Ajith

    Short URL:

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Sep 2016  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
     1  2
  

Enquire For Training

Related Items

Get Email Updates


Powered by Google FeedBurner