| Home |
| Technical Articles |
| Training Articles |
| Receive Email for New Articles |
| Contributors |
| Apps Book |


| OA Framework Tutorial 01 | | Print | |
| Written by Anil Passi | |
| Monday, 25 June 2007 | |
|
After having received some requests from Oracle EBS newbies, I have decided to do some video tutorials to explain how screens can be built in OA Framework. For this purpose, I will build a simple case study[Person Maintenance Screen]. To begin with, I will create a simple page in OA Framework, and in following sessions, I will add additional Functionality[creation/changes] to the same page. Welcome to the first Audio-Video tutorial in this series. Objective :- To create a working page in OA Framework, without writing a single line of code in java. Step 1 Create a table and insert sample data[3 records] for this demo. Run script xxoafdemo01.sql from this link and create an OA Workspace and an OA Project. Click here for Audio Video Link for Step 1
The above Step 1 will do the below:-
Step 2 Create the required BC4J and java packages for this OA Framework Screen This step will create xxPersonDetailsEO [ Entity Object ] Click here for Audio Video Link of Step 2 Step 3 Creates a Simple OA Framework Page, that lets you search data within table xx_person_details This page will let you search for the Person records in the table xx_person_details. Click here for Audio Video Link of Step 3In the following articles, I will demo how this functionality can be expanded so that DML's are allowed in this functionality.Comments
(54)
written by Ramesh , June 25, 2007 written by amjad , June 26, 2007
Hi Anil,
I m new to OAF.. this Article with Audio is very help full to me... Anil, u r doing grt work.. Please post OA Framework-2 second part ASAP.. I m eagerly Waiting for that.. Thanks once again Best Regards Amjad written by Sri , June 27, 2007
Hi Anil,
Really this is great work, we are appreciating for this effort, many many thanks. it is true that most of the cases we are experiencing about the deployment process, please could you make a audio and video demo for us, advanced thanks. Regards Sri written by reddy , June 27, 2007
Hi Anil,
Good Audio Demo.. Great work.. Can you give some demos on deploying the data in UNIX server...? I am facing a lot of issues on it.. Thanks Reddy written by shant reddy , June 30, 2007
Hi Anil,
Great Job, iam a Oracle applications techie and really looking for some samples like this Please can u suggest some more examples, books and resources on the internet where I can really start Afresh Thanks for the help written by Anil Passi , June 30, 2007
Sure, we will end these tutorials with deployment
Thanks Anil written by Raed , July 01, 2007
Hi Anil
I am very happy from this traning and it very big efforts ,thanks alot . Raed
Hi anil,
i am a very avid reader /follower of your articles/tutorials. and for many of my colleauges oracle.anilpassi.com is the first place where their RnD starts or where they search/get solutions to their problems. I am comparatively new to both Apps and OAF. and thank u for ur effort that is of so much help to many. I will only ask that if it would be convenient for u to list names of a few related reference books available for that particular topic. than k u debashis
Hi Anil,
I m very new to this OAF concepts.. Really great service Anil..
Hi Anil, Thanks a lot for the great job.I am trying to learn seeing the tutorial. I have created an entity object, view object and an application module as I saw in this tutorial.
I am getting some error when I rebuild the workspace. I have not followed the naming convention. name of the entity object created is TlkApInvoicesHeaderTmp. Could you please help. Error is --------- Error(12, : class apps.oracle.ak.prativa.testing.TlkApInvoicesHeaderTmpImpl should be declared abstract; it does not define method setLastUpdateLogin(oracle.jbo.domain.Number) in class oracle.apps.fnd.framework.server.OAEntityImpl
Hi Prativa
Your table didn't have columns for last_update_date, creation_date etc. However OAF enforces you to either have those columns so that their setters and getters can be generated in EOImpl class To overcome this issue, simply copy past the below lines into your EOImpl public void setLastUpdateLogin( oracle.jbo.domain.Number n ) {} public void setLastUpdatedBy( oracle.jbo.domain.Number n ) {} public void setLastUpdateDate( oracle.jbo.domain.Date n ) {} public void setCreationDate( oracle.jbo.domain.Date n ) {} public void setCreatedBy( oracle.jbo.domain.Number n ) {} Thanks, Anil Passi
Hi Anil,
I want to practice this lesson. Is there any pre requisite for this? Like setting up any env variable etc. Thanks BADRI
Hi Anil,
The demos(OA Framework Tutorial 01,02,03,04) shown by you; are prepared in which version of JDeveloper. Please let me know. Thanks in Advance. regards, Satya
Hi,
u r class is excellent & i did my Oracle Financials is that there is any possibility to guide me project in that. Thank's Siva.
Excellent site.
I have a question and wonder if you could help me. Can I call OA jsp pages from database and retrieve its web page (for emails)? The reason I can't do it now is security, using utl_http I can call jsp but it returns login page! What I want to do is there are some XMLP reports that uses OA framework (Print Quote for example). I need to develop a program to auto email. Let me know if there is a way to invoke OA pages from either java or from PL/SQL and then generate pages. Thanks Deven
Hi Anil,
You are doing a great job.I'm new to apps. Its very useful to me.
Hi Anil,
its excellent tutorial site... Anil,i learned many concept on apps from u'r site. i really thank full to u through my heart. Anil, i have no idea abt OFA and JDEVELOPER will u or any one plz if there is any document or screen shots plz fwd to me with thnks and regard's mukesh
Hi Anil,
I am a beginner in OAF. I have installed 10g version of JDeveloper. U wrote that don't use 10g version. Can't i use it with Apps? Please let me know so that i can install 11i version. Thanks, Garima
Hi Anil,
I want to start R&D with OAF. Please clear my doubt. Are OA Framework and Oracle Application Development same. Thanks and Regards. Ranjan
Hi Anil,
I have to to some R&D with OAF. Please clear my doubt. Are OA Framework and Oracle Application Development same? Thanks and Regards. Ranjan
Great Job Anil!
I'am new to OAF and have a need to learn more. I feel i'am with a good start after browsing you site and hoping i can learn more . Thanks.
Hi Anil,
This is the forst time i am writing here. Could you please tell me, for start working on OA Framework what are the pre-requisties that we should have get installed on our PC. Please suggest. Regards, Anshul singhal
Hi Anil,
I am not able to open Audio video files attached. When i click on them, one new window is open but no video file is there. Please suggest. Anshul singhal written by Harjit , October 18, 2007
Hi Anil,
I need to modify a standard iProc page, the issues i am facing is how to download the page and its required classed (VO,CO etc..)so that i extend the functionality using JDeveloper. As of now i have a)Downloaded all the class files form Unix and set them in Classpath b)I have downloaded the ...PG.xml and imported it intoa project in JBuilder. What do i do now? Do i start makin gmy own packages and extend the classes that are being used by this page. Help on this would be really appreciated.. Cheers!! HS
This is a very good tutorial for OAF rookies like me, thanks anil
Hi Anil,
I am new to this OAF. Your Audio video tutorilas gave good understanding on the beginning part of OAF. Verymuch thankful to you for this effort. Regards, Narasimha Potla Thank so much I wait your adds lessons help us to know more about oracel secrets. Milon Thanks
I am very much thankful to you for this effort.
It is really fantastic for novice. I am getting following error while Error: Cannot run "xxPersonMainPG.mainRN" as a standalone component due to a missing property value. Please set "AM Definition" on this component. Bhavik
Thanks for putting togethger in a simple steps.
Regards
Hi Anil,
Im new to Oracle Apps and currently working on HRMS suite. Doing a customization for self service application, in appraisal process when a appraise updates the relevation information im getting this error. Pls help me in resolving this error. With Regards, Hussein ## Detail 0 ## oracle.apps.fnd.framework.OAException: No entities found, entityMaps not defined for attachment item (gap). at oracle.apps.fnd.framework.webui.OAAttachmentUtils.getEntityMappings(OAAttachmentUtils.java:156)
Hi Anil
I was at work and wanted to refer to your video tut but my company blocks any kind of such materials. I was wondering if you had text version of them. Thanks and a great job done by you
Hi Anil,
Thanks for ur effort to help us . I am not able to open "Click here for Audio Video Link of Step 2 " Is there anything I need to download to view the audio video link Thanks Jemila
Hi Anil,
Thanks for your very helpful information re: OA Framework. I'm a Java Developer who is new to OA Framework and to Oracle Apps in general. I would appreciate any insight you can provide on the problem I'm experiencing. I'm following your instructions to run the HelloWorld tutorial locally, but after the I select the Hello World choice from the list of lesson links, I get the following error info/stack trace. ## Detail 0 ## oracle.adf.mds.exception.MDSRuntimeException: Unable to find component with absolute reference = /oracle/apps/fnd/framework/toolbox/tutorial/webui/HelloWorldPG, XML Path = {1}. Please verify that the reference is valid and the definition of the component exists either on the File System or in the MDS Repository. Non supported character set: oracle-character-set-39 at oracle.adf.mds.internal.MetadataManagerBase.getUserCustomizationData(MetadataManagerBase.java:2216) at oracle.adf.mds.internal.MetadataManagerBase.getTransAndCustHelper(MetadataManagerBase.java:2154) at oracle.adf.mds.internal.MetadataManagerBase.getTransAndCust(MetadataManagerBase.java:1897) at oracle.adf.mds.internal.MetadataManagerBase.findElement(MetadataManagerBase.java:1360) etc., etc., . . . . . Here's my environment info.: OA Framework version: 11.5.10.5RUP MDS version: 9.0.5.4.89 (build 555) UIX Version: 2.2.24.1.0 BC4J Version: 9.0.3.13.97 Using JDeveloper version 9.0.3.5 (Build 1473) (I extracted patch 4573517 after I was able to query and retrieve the 'Download patch 4573517' record from the Oracle instance apps schema. My JDEV_USER_HOME is set as C:JDeveloperjdevhomejdev which corresponds to my JDeveloper installation. My connection config. tested "Success" My .dbc file is under C:JDeveloperjdevhomejdevdbc_filessecure, and I've verified that the port, host and two_task settings are correct. I have an entry for the APPS_JDBC_URL param which corresponds to the db instance. I hope I've provided all the diagnostic info. you need. Thanks again for any help you can give me. Therese written by RajeshKumar , December 24, 2007
Hi Anil,
I am able to create Personal search EO, VO and AM. But I ccouldn'r run oin my machine as I don't have Oracle apps installed on my PC. My Questions follows: How to deploy these files in Oracle Applications? Procedure to run the Personal Search Page Can you forward me any docuemnt which explains how to modify and deploy new pages in Oracle Applications? Your response would be highly appreciated. Thanks in advacne. written by RajeshKumar , December 24, 2007
Hi Anil,
I got the document to deploy pages into Oracle Applications. Thanks. Cheers.
Hi Anil,
I have generated a project and java package. I can see .java files for these packages but I am not able to see .class files. Can you pleas ehelp me to know how to generate these files. Thanks in advance... Rajesh Kumar
Hi Anil,
I have deployed the files on Unix server like files under schema, server and webui directories. We have bounced the middle tier services also. When I go and click on the function - I am getting the following error. Is there any step missing in our side? FYI, i didn't run import script for te XML file. If it is needs to run , shouldit run on the Unix server side (please provide the script and steps towards acheving it). ******************************************************* **************************** Error Page You have encountered an unexpected error. Please contact the System Administrator for assistance
Hi Anil,
U r doing a great job. i'm new to OAF.i tried to develop the oaf tutorial1(xxPersonDetails). but while running the page, i encounter an windoe saying "Port conflicts have been detected and the affected have been re-assigned to available ports.please see the log window for details". and in the log window it displays "Fatal Error: Unable to write to the transaction log (/C:/orant/jdeveloper/jdevhome/jdev/system9.0.3.5.1312/oc4j-config/log/transaction.state), possible reasons for this are that Orion lacks permission to write to the file, or that another instance of the server is already running with this configuration (most common): Unable to alter transaction log" please help me with this.it would be greatful. Thank you. Sreeram. Process exited with exit code 1.
Hi Anil,
i am not getting a way to debug the errors or exceptions occurring when i run the page xxpersonPG.xml. i got an error page which displayed a large number of exceptions..please provide some details as how to debug these exceptions and some of these are listed below. can you also suggest a good book for OAF? oracle.apps.fnd.framework.OAException: java.lang.ClassCastException at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:88 at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getController(OAWebBeanHelper.java:177 at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:490) at oracle.apps.fnd.framework.webui.OAWebBeanTableHelper.processRequest(OAWebBeanTableHelper.java:205 at oracle.apps.fnd.framework.webui.beans.table.OATableBean.processRequest(OATableBean.java:100 at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:866) thank u very much. Sreeram
Hi:
I followed your video in Tutorial01 and created per your directions. When I try to rebuild the project, I got the below error. Tried to research from metalink but couldnt find anything. Error(10, : class xxt.oracle.apps.ak.xxperson2.schema.server.xxPerson2DetailsEOImpl should be declared abstract; it does not define method setLastUpdateLogin(oracle.jbo.domain.Number) in class oracle.apps.fnd.framework.server.OAEntityImpl
While running the xxPersonMainPG.xml file, I encounter the following error:
Exception Details. oracle.apps.fnd.framework.OAException: Application: ICX, Message Name: Could not find the specified responsibility. at oracle.apps.fnd.framework.CreateIcxSession.getEncryptedSessId(CreateIcxSession.java:15 at oracle.apps.fnd.framework.CreateIcxSession.createSession(CreateIcxSession.java:80) at _runregion._jspService(runregion.jsp:96) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:797) at java.lang.Thread.run(Thread.java:534) Can you pls provide me some pointers. In my project settings, I login to DB as APPS.
Hi,
I am regular user of the site .My user name is blocked Regards Charu
hi Anil,
I am getting the following error while creating a new page in JDeveloper. Error(12, : class oracle.apps.per.test.sehema.server.PerJobsDetailsViewImpl should be declared abstract; it does not define method setLastUpdateLogin(oracle.jbo.domain.Number) in class oracle.apps.fnd.framework.server.OAEntityImpl Pls Help me.
When i am creating a page after save it when i am trying compile it after compilation, show error on complilation ;
Error(12, : class test1.oracle.apps.ak.schema.server.EmpImpl should be declared abstract; it does not define method setLastUpdateLogin(oracle.jbo.domain.Number) in class oracle.apps.fnd.framework.server.OAEntityImpl how can i rectifiay it.
Thank you Very Much Anil.
I want to create a UML diagrma can you help me by providing a tutarial session for that.
Thank you , Anil. Your tutorial is s excellent.
hi anil,
i am trying to create a submit button and after submitting in the button it should come on the same page on which there are certains columns out of which i am taking one column in the Vo which is id which i am using the sequence in the backend everytime new record is generated.For that i used the sequence function in am but in the backend on clicking nothing is going in the database .Can u suggest me why it is saying like that....I am attaching the AM which i am using.Here ppr concept is also there.... public void init(String s) { OAException msg = new OAException("entered in init of AM: the entered Table name is =" s, OAException.INFORMATION); OAViewObject appPropsVO = (OAViewObject)findViewObject("TablePVO1"); if (appPropsVO != null) { if (appPropsVO.getFetchedRowCount() == 0) { appPropsVO.setMaxFetchSize(0); appPropsVO.executeQuery(); appPropsVO.insertRow(appPropsVO.createRow()); // Set the primary key value for this single-rwo VO. OARow row = (OARow)appPropsVO.first(); row.setAttribute("RowKey", new Number(1)); } } handleTableNameInputEvent(s); throw msg; } // end init() public void handleTableNameInputEvent(String s) { OAException msg = new OAException("Entered in AM:the entered Table name is =" s, OAException.INFORMATION); OAViewObject vo = (OAViewObject)findViewObject("TablePVO1"); OARow row = (OARow)vo.first(); TableColmnDetVOImpl rrv=(TableColmnDetVOImpl)findViewObject("TableColmnDetVO1"); if (s== null) { row.setAttribute("ColumnDetailRender", Boolean.FALSE); } else row.setAttribute("ColumnDetailRender", Boolean.TRUE); Serializable aserializable[] = { s }; rrv.invokeMethod("initQuery", aserializable); throw msg; } // end handlePositionChangeEvent() public static void main(String[] args) { launchTester("owb.oracle.apps.ak.report_registration.server", "ReportRegistrationAMLocal"); } public ReportRegistrationVOImpl getReportRegistrationVO() { return (ReportRegistrationVOImpl)findViewObject("ReportRegistrationVO"); } public OAViewObjectImpl getTablePVO1() { return (OAViewObjectImpl)findViewObject("TablePVO1"); } public TableColmnDetVOImpl getTableColmnDetVO1() { return (TableColmnDetVOImpl)findViewObject("TableColmnDetVO1"); } public OAViewObjectImpl getCreateReportVO1() { return (OAViewObjectImpl)findViewObject("CreateReportVO1"); } public void createReport() { OAViewObject vo = (OAViewObject)getCreateReportVO1(); if (!vo.isPreparedForExecution()) { vo.executeQuery(); // Row reportRow = reportVO.getCurrentRow(); } Row row = vo.createRow(); vo.insertRow(row); createReportSeq(); // Required per OA Framework Model Coding Standard M69 row.setNewRowState(Row.STATUS_INITIALIZED); } // end createReport() public void createReportSeq() { OADBTransaction txn = getOADBTransaction(); //CreateReportVOImpl reportVO = getCreateReportVO1(); OAViewObject reportVO = (OAViewObject)findViewObject("CreateReportVO1"); Row reportRow = reportVO.getCurrentRow(); if (reportRow!=null) { Number numReportId = txn.getSequenceValue("report_registration_chandan_S"); reportRow.setAttribute("ReportId",numReportId); // reportRow.setAttribute("TableId",numTableId); } } //end createReportSeq public void rollbackReport() { Transaction txn = getTransaction(); if (txn.isDirty()) { txn.rollback(); } } // end rollbackReport() public void apply() { getTransaction().commit(); } // end apply() } PLEASE HELP ME OUT ASAP. tHANKS, Chandan Sandhu
Hi Anil,
Can u pls put the AV of this blog for download. Thanks, Amar
Hi Anil,
Thanks for ur tutorial,its very helpful for beginners of OAF. I followed ur steps and created the EO,VO and AM objects,I got the page on browser but while searching am getting the following error: oracle.apps.fnd.framework.OAException: oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity row for TMP_EMP_OAF_EO. at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:891) at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1145) at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:140 at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2636) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:165 at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:501) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:422) at _OA._jspService(OA.jsp:40) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803) at java.lang.Thread.run(Thread.java:534) please help me.it would be greatful. Thanks in Advance, Lavanya oracle.apps.fnd.framework.OAException: oracle.jbo.RowCreateException: JBO-25017: Error while creating a new entity row for TMP_EMP_OAF_EO. You must be logged in to a comment. Please register if you do not have an account yet.
|
Tutorial is Excellent, Audio and Vedio is also Good. Please add the Vedio and Audio demo upto deploying the code into apps.
Most of the cases we are facing the problems in Deploying the code into apps and calling from apps.