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:-
Creates a table named xx_person_details to capture Person Details
Create a API to help insert records in this table
Inserts three records into table xx_person_details
- In jDeveloper, create an OA Workspace and default Project for this OA Framework tutorial
Step 2 Create the required BC4J and java packages for this OA Framework Screen
This step will create
xxPersonDetailsEO [ Entity Object ]
xxPersonDetailsVO [ View Object ]
xxPersonAM [ Application Module ]
Relation between view Object and AM, in effect creating an instance of the View Object.
Name of this view Object instance will be xxPersonDetailsVO1
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
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.
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..
Thank s once again
Best Regards
Amjad
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.
Re gards
Sri
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
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
Thank s for the help
T hanks
Anil
I am very happy from this traning and it very big efforts ,thanks alot .
Raed
i am a very avid reader /follower of your articles/tutori als.;) and for many of my colleauges oracle.anilpass i.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
I m very new to this OAF concepts..
Real ly great service Anil..
I am getting some error when I rebuild the workspace. I have not followed the naming convention. name of the entity object created is TlkApInvoicesHe aderTmp.
Could you please help.
Error is
---------
Error(12,8): class apps.oracle.ak. prativa.testing .TlkApInvoicesH eaderTmpImpl should be declared abstract; it does not define method setLastUpdateLo gin(oracle.jbo. domain.Number) in class oracle.apps.fnd .framework.serv er.OAEntityImpl
Your table didn't have columns for last_update_dat e, 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 setLastUpdateLo gin( oracle.jbo.doma in.Number n ) {}
public void setLastUpdatedB y( oracle.jbo.doma in.Number n ) {}
public void setLastUpdateDa te( oracle.jbo.doma in.Date n ) {}
public void setCreationDate ( oracle.jbo.doma in.Date n ) {}
public void setCreatedBy( oracle.jbo.doma in.Number n ) {}
Thanks,
Anil Passi
I want to practice this lesson. Is there any pre requisite for this?
Like setting up any env variable etc.
Thanks
BA DRI
The demos(OA Framework Tutorial 01,02,03,04) shown by you; are prepared in which version of JDeveloper.
Ple ase let me know.
Thanks in Advance.
regard s,
Satya
I used the applicable version for 11.5.10, i.e. jDev 9.0.3
Thanks,
Anil Passi
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.
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
You are doing a great job.I'm new to apps. Its very useful to me.
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
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.
Thank s,
Garima
Indeed, you must not install standalone jDeveloper from http://technet.oracle.com
Download jDeveloper patch from Metalink that comes bundled with OA Framework libraries and wizards
Downlo ad one of the below patches. Note that the patch itself will contain either jDev 9i or jDev 10g
Base 11.5.10
Patch 4045639 JDeveloper 9i
11.5.10 ATG CU1
Patch 4141787 JDeveloper 9i
11.5.10 ATG CU2
Patch 4573517 JDeveloper 9i
11.5.10 ATG CU3
Patch 4725670 JDeveloper 9i
11.5.10 ATG CU4
Patch 5455514 JDeveloper 9i
11.5.10 ATG CU5
Patch 6012619 JDeveloper 9i
R12 Base Version
Patch 5856648 jDeveloper 10g
R12 RUP2
Patch 6197418 jDeveloper 10g
Thanks,
An il Passi
I want to start R&D with OAF. Please clear my doubt. Are OA Framework and Oracle Application Development same.
Thanks and Regards.
Ranja n
I have to to some R&D with OAF. Please clear my doubt. Are OA Framework and Oracle Application Development same?
Thanks and Regards.
Ranja n
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.
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.
Regar ds,
Anshul singhal
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.
Anshu l singhal
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
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.
Regard s,
Narasimha Potla
I wait your adds lessons help us to know more about
oracel secrets.
Milon Thanks
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
Regards
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,
Hussei n
## Detail 0 ##
oracle.apps. fnd.framework.O AException: No entities found, entityMaps not defined for attachment item (gap).
at oracle.apps.fnd .framework.webu i.OAAttachmentU tils.getEntityM appings(OAAttac hmentUtils.java :156)
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
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
Je mila
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.m ds.exception.MD SRuntimeExcepti on: Unable to find component with absolute reference = /oracle/apps/fn d/framework/too lbox/tutorial/w ebui/HelloWorld PG, 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-characte r-set-39
at oracle.adf.mds. internal.Metada taManagerBase.g etUserCustomiza tionData(Metada taManagerBase.j ava:2216)
at oracle.adf.mds. internal.Metada taManagerBase.g etTransAndCustH elper(MetadataM anagerBase.java :2154)
at oracle.adf.mds. internal.Metada taManagerBase.g etTransAndCust( MetadataManager Base.java:1897)
at oracle.adf.mds. internal.Metada taManagerBase.f indElement(Meta dataManagerBase .java:1360)
etc ., etc., . . . . .
Here's my environment info.:
OA Framework version: 11.5.10.5RUP
MD S version: 9.0.5.4.89 (build 555)
UIX Version: 2.2.24.1.0
BC4J Version: 9.0.3.13.97
Us ing 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:\JDeveloper\j devhome\jdev which corresponds to my JDeveloper installation.
M y connection config. tested "Success"
My .dbc file is under C:\JDeveloper\j devhome\jdev\dbc_files\secure, 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
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?
P rocedure 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.
I got the document to deploy pages into Oracle Applications. Thanks.
Cheers .
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...
Raj esh Kumar
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).
********** *************** *************** *************** *************** *************
E rror Page
You have encountered an unexpected error. Please contact the System Administrator for assistance
U r doing a great job. i'm new to OAF.i tried to develop the oaf tutorial1(xxPer sonDetails). 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/jdev eloper/jdevhome /jdev/system9.0 .3.5.1312/oc4j- config/log/tran saction.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.
This is a very common issue.
You accidentally have two instances of jDeveloper running in one memory.
Please go to windows "Task Manager"/"Proce ss" and kill all processes with names begining with java.
Thanks,
Anil Passi
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..ple ase 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.ap ps.fnd.framewor k.OAException: java.lang.Class CastException at oracle.apps.fnd .framework.OAEx ception.wrapper Exception(OAExc eption.java:888 ) at oracle.apps.fnd .framework.webu i.OAWebBeanHelp er.getControlle r(OAWebBeanHelp er.java:1778) at oracle.apps.fnd .framework.webu i.OAWebBeanHelp er.processReque st(OAWebBeanHel per.java:490) at oracle.apps.fnd .framework.webu i.OAWebBeanTabl eHelper.process Request(OAWebBe anTableHelper.j ava:2058) at oracle.apps.fnd .framework.webu i.beans.table.O ATableBean.proc essRequest(OATa bleBean.java:10 08) at oracle.apps.fnd .framework.webu i.OAWebBeanHelp er.processReque stChildren(OAWe bBeanHelper.jav a:866)
thank u very much.
Sreeram
I followed your video in Tutorial01 and created per your directions.
Wh en I try to rebuild the project, I got the below error.
Tried to research from metalink but couldnt find anything.
Error(10,8): class xxt.oracle.apps .ak.xxperson2.s chema.server.xx Person2DetailsE OImpl should be declared abstract; it does not define method setLastUpdateLo gin(oracle.jbo. domain.Number) in class oracle.apps.fnd .framework.serv er.OAEntityImpl
Excepti on Details.
oracle.apps.fn d.framework.OAE xception: Application: ICX, Message Name: Could not find the specified responsibility. at oracle.apps.fnd .framework.Crea teIcxSession.ge tEncryptedSessI d(CreateIcxSess ion.java:158) at oracle.apps.fnd .framework.Crea teIcxSession.cr eateSession(Cre ateIcxSession.j ava:80) at _runregion._jsp Service(runregi on.jsp:96) at com.orionserver .http.OrionHttp JspPage.service (OrionHttpJspPa ge.java:56) at oracle.jsp.runt imev2.JspPageTa ble.service(Jsp PageTable.java: 317) at oracle.jsp.runt imev2.JspServle t.internalServi ce(JspServlet.j ava:465) at oracle.jsp.runt imev2.JspServle t.service(JspSe rvlet.java:379) at javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:853) at com.evermind.se rver.http.Servl etRequestDispat cher.invoke(Ser vletRequestDisp atcher.java:727 ) at com.evermind.se rver.http.Servl etRequestDispat cher.forwardInt ernal(ServletRe questDispatcher .java:306) at com.evermind.se rver.http.HttpR equestHandler.p rocessRequest(H ttpRequestHandl er.java:767) at com.evermind.se rver.http.HttpR equestHandler.r un(HttpRequestH andler.java:259 ) at com.evermind.se rver.http.HttpR equestHandler.r un(HttpRequestH andler.java:106 ) at EDU.oswego.cs.d l.util.concurre nt.PooledExecut or$Worker.run(P ooledExecutor.j ava:797) at java.lang.Threa d.run(Thread.ja va:534)
Can you pls provide me some pointers.
In my project settings, I login to DB as APPS.
I am regular user of the site .My user name is blocked
Regard s
Charu
I am getting the following error while creating a new page in JDeveloper.
Er ror(12,8): class oracle.apps.per .test.sehema.se rver.PerJobsDet ailsViewImpl should be declared abstract; it does not define method setLastUpdateLo gin(oracle.jbo. domain.Number) in class oracle.apps.fnd .framework.serv er.OAEntityImpl
Pls Help me.
Is this a Custom VO? By the naming convention it appears to be a standard VO which is shipped by Oracle in compiled state.
Have tyou
If you are builiding a custom EO, on a table that does not have Row-Who columns, then you can include dummy methods as below
import oracle.jbo.doma in.Date;
import oracle.jbo.doma in.Number;
public void setCreatedBy(Nu mber number)
{
}
public void setCreationDate (Date date)
{
}
public void setLastUpdatedB y(Number number)
{
}
public void setLastUpdateDa te(Date date)
{
}
public void setLastUpdateLo gin(Number number)
{
}
Thanks,
Anil Passi
Error(12,8): class test1.oracle.ap ps.ak.schema.se rver.EmpImpl should be declared abstract; it does not define method setLastUpdateLo gin(oracle.jbo. domain.Number) in class oracle.apps.fnd .framework.serv er.OAEntityImpl
how can i rectifiay it.
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....
publ ic void init(String s)
{
OAException msg = new OAException("en tered in init of AM: the entered Table name is =" s, OAException.INF ORMATION);
OAViewObject appPropsVO = (OAViewObject)f indViewObject(" TablePVO1");
if (appPropsVO != null)
{
if (appPropsVO.get FetchedRowCount () == 0)
{
appPropsVO.setM axFetchSize(0);
appPropsVO.exec uteQuery();
appPropsVO.inse rtRow(appPropsV O.createRow()); // Set the primary key value for this single-rwo VO.
OARow row = (OARow)appProps VO.first();
row.setAttribut e("RowKey", new Number(1));
}
}
handleTableName InputEvent(s);
throw msg;
} // end init()
public void handleTableName InputEvent(Stri ng s)
{
OAExc eption msg = new OAException("En tered in AM:the entered Table name is =" s, OAException.INF ORMATION);
OAViewObject vo = (OAViewObject)f indViewObject(" TablePVO1");
OARow row = (OARow)vo.first ();
TableColmnDetVO Impl rrv=(TableColmnDetVO Impl)findViewObject("TableColmnDetVO1");
if (s== null)
{
row.setAttribut e("ColumnDetail Render", Boolean.FALSE);
}
else
row.setAttribut e("ColumnDetail Render", Boolean.TRUE);
Serializable aserializable[] = {
s
};
rrv.invokeMetho d("initQuery", aserializable);
throw msg;
} // end handlePositionC hangeEvent()
public static void main(String[] args)
{
launchTester("o wb.oracle.apps. ak.report_regis tration.server" , "ReportRegistra tionAMLocal");
}
public ReportRegistrat ionVOImpl getReportRegist rationVO()
{
return (ReportRegistrat ionVOImpl)findViewObject("ReportRegistrationVO");
}
public OAViewObjectImp l getTablePVO1()
{
return (OAViewObjectImp l)findViewObject("TablePVO1");
}
public TableColmnDetVO Impl getTableColmnDe tVO1()
{
return (TableColmnDetVO Impl)findViewObject("TableColmnDetVO1");
}
public OAViewObjectImp l getCreateReport VO1()
{
return (OAViewObjectImp l)findViewObject("CreateReportVO1");
}
public void createReport()
{
OAViewObject vo = (OAViewObject)g etCreateReportV O1();
if (!vo.isPrepared ForExecution())
{
vo.executeQuery ();
// Row reportRow = reportVO.getCur rentRow();
}
Row row = vo.createRow();
vo.insertRow(ro w);
createRepor tSeq();
// Required per OA Framework Model Coding Standard M69
row.setNewRowSt ate(Row.STATUS_ INITIALIZED);
} // end createReport()
public void createReportSeq () {
OADBTransaction txn = getOADBTransact ion();
//CreateReportV OImpl reportVO = getCreateReport VO1();
OAViewObject reportVO = (OAViewObject)f indViewObject(" CreateReportVO1 ");
Row reportRow = reportVO.getCur rentRow();
if (reportRow!=nul l) {
Number numReportId = txn.getSequence Value("report_r egistration_cha ndan_S");
reportRow.setAt tribute("Report Id",numReportId );
// reportRow.setAt tribute("TableI d",numTableId);
}
} //end createReportSeq
public void rollbackReport( )
{
Transaction txn = getTransaction( );
if (txn.isDirty())
{
txn.rollback();
}
} // end rollbackReport( )
public void apply()
{
getTransaction( ).commit();
25; // end apply()
}
PLEASE HELP ME OUT ASAP.
tHANKS,
Chandan Sandhu
Can u pls put the AV of this blog for download.
Than ks,
Amar
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.framew ork.OAException : oracle.jbo.RowC reateException: JBO-25017: Error while creating a new entity row for TMP_EMP_OAF_EO.
at oracle.apps.fnd .framework.OAEx ception.wrapper Exception(OAExc eption.java:891 )
at oracle.apps.fnd .framework.webu i.OAPageErrorHa ndler.prepareEx ception(OAPageE rrorHandler.jav a:1145)
at oracle.apps.fnd .framework.webu i.OAPageErrorHa ndler.processEr rors(OAPageErro rHandler.java:1 408)
at oracle.apps.fnd .framework.webu i.OAPageBean.pr ocessFormReques t(OAPageBean.ja va:2636)
at oracle.apps.fnd .framework.webu i.OAPageBean.pr eparePage(OAPag eBean.java:1658 )
at oracle.apps.fnd .framework.webu i.OAPageBean.pr eparePage(OAPag eBean.java:501)
at oracle.apps.fnd .framework.webu i.OAPageBean.pr eparePage(OAPag eBean.java:422)
at _OA._jspService (OA.jsp:40)
at com.orionserver .http.OrionHttp JspPage.service (OrionHttpJspPa ge.java:56)
at oracle.jsp.runt imev2.JspPageTa ble.service(Jsp PageTable.java: 317)
at oracle.jsp.runt imev2.JspServle t.internalServi ce(JspServlet.j ava:465)
at oracle.jsp.runt imev2.JspServle t.service(JspSe rvlet.java:379)
at javax.servlet.h ttp.HttpServlet .service(HttpSe rvlet.java:853)
at com.evermind.se rver.http.Servl etRequestDispat cher.invoke(Ser vletRequestDisp atcher.java:727 )
at com.evermind.se rver.http.Servl etRequestDispat cher.forwardInt ernal(ServletRe questDispatcher .java:306)
at com.evermind.se rver.http.HttpR equestHandler.p rocessRequest(H ttpRequestHandl er.java:767)
at com.evermind.se rver.http.HttpR equestHandler.r un(HttpRequestH andler.java:259 )
at com.evermind.se rver.http.HttpR equestHandler.r un(HttpRequestH andler.java:106 )
at EDU.oswego.cs.d l.util.concurre nt.PooledExecut or$Worker.run(P ooledExecutor.j ava:803)
at java.lang.Threa d.run(Thread.ja va:534)
pleas e help me.it would be greatful.
Than ks in Advance,
Lavany a
oracle.apps. fnd.framework.O AException: oracle.jbo.RowC reateException: JBO-25017: Error while creating a new entity row for TMP_EMP_OAF_EO.
Good article, I am new to OA Framework, In which module we have to create these table, APIs.
Thanks,
Hari
I have installed JDeveloper 10.1.3.2, can I use this version with Oracle Apps 11.5.10.2 and customize the pages?
Thanks
Ravi V
Am new to OAF. Able to run HelloWorld from the tutorial.
But when I am trying to build the examples you shown in the video, I am not able to create Page.
Under Webtier/OA Components/Page ,region,Package all these are not selectable.
Am I missing any setups.?
Using JDeveloper 9i(9.0.3.5).
A ny workaround for this ?
Before visiting this site i was not knowing anything abt Jdeveloper or OAF ur tutorial made me understand the things.
Thanks a lot for that...
Jithin
Kindl y check and upload the correct link ...
Thanks in Advance.
The SWF of step 3 dont work now ?
In our work place, DBA's do not publish any oracle passwords of lower instances including PROD. So they remove GUEST password in DBC file. Is there any work around to run OA page locally? How other companies deal with this kind of situation if at all they have to secure GUEST password?
The Tutorial OA Framework Training Tutorial 03 is not working, would you please reload it again ?
Thanks,
Amit
Could you please help me on this.
Regards,
Amit
The Tutorial OA Framework Training Tutorial 03 is not working, would you please reload it again ?
Thanks,
Amit
The Tutorial OA Framework Training Tutorial 03 is not working, would you please reload it again ?
Thanks,
Praveen
RSS feed for comments to this post