在oracle官方网站下载压缩文件p4045639_11i_GENERIC,内含Oracle9i Developer和OA framework toolbox tutorial,Oracle9i Developer有OA framework toolbox tutorial的在线帮助。
DBC文件是安装系统时自动生成的,在服务器的$FND_SECURE变量指向的路径下。下载后将其中的一行APPS_JDBC_URL注释掉。
修改文件test_fwktutorial.jsp,因EBS R12是Apache/JServ。OA framework toolbox tutorial测试成功。
there is "workspace configured oracle applications" in oracle 9i jdeveloper. Why not in jdeveloper 11g?
How to develop applications for EBS using jdeveloper 11g?
I try to update with "help-check for update",I check "Oracle SOA Composite Editor" at step 3 of 5,An error "unexpected end of file from server" occurred at step 4 of 5.
Try the direct download from http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/156082.xml
http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/131167.xml
对于不同的EBS版本,需要使用对应的Jdeveloper才能够完成开发。
详见http://blog.csdn.net/kevingao/archive/2010/10/23/5960452.aspx
下载了与EBS R12.0.6相应的Jdeveloper(Jdeveloper With OA Extension ARU for R12 RUP6),解压后即可使用。JPX import utility在“解压后的根目录”/jdevbin/oaext/bin
JPX import utility
Usage :
jpximport jpx_file_path
-username "username"
-password "password"
-dbconnection "database connection string in TNSNAMES format"
[-userId "repository userid"]
[-jdk13]
[-developerMode "Developer Mode. False if this flag is not specified"]
java oracle.jrad.tools.xml.importer.XMLImporter
Import utility
Copyright(c) Oracle Corporation 2006. All rights reserved.
Usage:
import package directory path* or XML file path
-rootdir "XML source directory"
-username "Username"
-password "Password"
-dbconnection "Database connection string in TNSNAMES format"
[-mmddir "Directory for MMD files"]*
[-rootPackage "Package name corresponding to rootdir"]
[-userId "repository userid"]
[-jdk13]*
[-includeSubpackages]*
[-displayOnly]*
[-validate]*
Example1: import d:/jdeveloper/jdev/myprojects/pages/mypage.xml -rootdir d:/jdeveloper/jdev/myprojects -userId 1 -rootPackage /oracle/apps/ak -username jdr -password jdr -dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol = tcp)(host =incq027bc.idc.oracle.com)(port = 1521)))(connect_data = (sid = des9i2)))"
Example2: import d:/jdeveloper/jdev/myprojects/pages/mypage.xml -displayOnly -includeSubpackages -validate -rootdir d:/jdeveloper/jdev/myprojects -mmddir d:/jdeveloper/jdev/lib/ext/jrad/config/mmd -userId 1 -rootPackage /oracle/apps/ak -username jdr -password jdr -dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol = tcp)(host =incq027bc.idc.oracle.com)(port = 1521)))(connect_data = (sid = des9i2)))" -jdk13
*Note: The package directory path, -mmddir, -includeSubpackages, -validate
and -displayOnly options are supported only with -jdk13
java oracle.jrad.tools.xml.importer.JPXImporter
JPX import utility
Copyright(c) Oracle Corporation 2006. All rights reserved.
Usage :
jpximport jpx_file_path
-username "username"
-password "password"
-dbconnection "database connection string in TNSNAMES format"
[-userId "repository userid"]
[-jdk13]
[-developerMode "Developer Mode. False if this flag is not specified"]
Example: jpximport d:/myprojects/project1.jpx -userId 1 -username foo -password bar -dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol = tcp)(host =myhost.oracle.com)(port = 1521)))(connect_data = (sid = mysid)))"
以下兩個命令成功執行:
java oracle.jrad.tools.xml.importer.XMLImporter $APPL_TOP/fnd/12.0.0/mds/framework/toolbox/tutorial/webui -jdk13 -mmddir $APPL_TOP/ak/12.0.0/OA_HTML/jrad -username apps -password **** -rootdir $APPL_TOP/fnd/12.0.0/mds -rootPackage /oracle/apps/fnd -validate -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=testerp.***.com)(PORT=1571))(CONNECT_DATA=(SID=dev)))"
java oracle.jrad.tools.xml.importer.XMLImporter /devp/oracle/apps/apps_st/appl/fnd/12.0.0/mds/lookups/webui -jdk13 -mmddir "/devp/oracle/apps/apps_st/appl/ak/12.0.0/OA_HTML/jrad" -username apps -password **** -rootdir /devp/oracle/apps/apps_st/appl/fnd/12.0.0/mds -rootPackage /oracle/apps/fnd -validate -dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol = tcp)(host = testerp.***.com)(port = 1571)))(connect_data = (sid =dev)))"
java oracle.jrad.tools.xml.importer.JPXImporter $APPL_TOP/ak/12.0.0/java/HelloWorldOAProject.jpx -username apps -password **** -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=testerp.***.com)(PORT=1571))(CONNECT_DATA=(SID=dev)))"
以下命令仍然報錯:
java oracle.jrad.tools.xml.importer.XMLImporter $APPL_TOP/ak/12.0.0/mds/hello/webui -jdk13 -mmddir $APPL_TOP/ak/12.0.0/OA_HTML/jrad -username apps -password **** -rootdir $APPL_TOP/ak/12.0.0/mds -rootPackage /oracle/apps/ak -validate -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=testerp.***.com)(PORT=1571))(CONNECT_DATA=(SID=dev)))"
Error: The root directory does not exist
Import completed.
上面的错误没关系,可以用
BEGIN
jdr_utils.listContents(p_path => '/***/oracle/apps/cux/',p_recursive => TRUE);
END;
测试是否导入成功。
R12.0.6相应的JDeveloper的目录/jdevdoc/WebHelp/toolbox下有 Oracle Application Framework ToolBox Tutorial Lessons Release 12
按照教程做出现几个问题
1.Position的下拉框没有出来
2.按Apply没有保存新增的employee,因为查询不到新增的employee
3.按Cancel进入了系统自带的toolbox,见错误更正3
Create Your New BC4J Package
在windows环境下可以通过建立相应的目录,重新打开project文件的方法实现。
错误更正1
Chapter 2->Search->Step 2.6
- Select the <yourname>.oracle.apps.ak.schema.server BC4J package in the Navigator, right-click and select New Entity Object... from the context menu to open the Entity Object wizard.
-
似应为
- Select the <yourname>.oracle.apps.ak.schema.server BC4J package in the Navigator, right-click and select New Gallery->Business Tier->ADF Business Components->Business Components from Tables to open the Create Business Components from Tables wizard.
at step 1 of 5:Entity Objects,enter Name Filter and select schema, click Query
错误更正3
For the Position item, change the Item Style property to messageChoice to change the Position item to a poplist.
Chapter 2->Create-Part 1-》Step 2.4-Step 2.5没有完成,完成后问题1和问题2得到解决,因为position是必输栏位。
选择EmployeePG->PageLayoutRN->MainRN->Position
错误更正4
Chapter 2->Create-Part 2-》Step 1.4
pageContext.forwardImmediately("OA.jsp?page=/oracle/apps/fnd/framework/toolbox/labsolutions/webui/EmpSearchPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
true, // retain AM
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);应为:
pageContext.forwardImmediately("OA.jsp?page=/<yourname>/oracle/apps/ak/employee/webui/EmpSearchPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
true, // retain AM
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
错误更正5
Chapter 2->delete->Step 2.2
EmpSearchPG->PageLayoutRN->QueryRN-ResultsTable
错误更正6
Chapter 2->update->Step 1.2
- Change its Controller Class property value from oracle.apps.fnd.framework.toolbox.labsolutions.webui.EmployeeCreateCO to oracle.apps.fnd.framework.toolbox.labsolutions.webui.EmployeeUpdateCO.
应为
- Change its Controller Class property value from <yourname>.oracle.apps.ak.employee.webui.EmployeeCreateCO to <yourname>.oracle.apps.ak.employee.webui.EmployeeUpdateCO.
-
错误更正7
Chapter 2->update->Step CE-5.5
语句OAApplicationModule am = pageContext.getApplicationModule(webBean);
应放在if (pageContext.getParameter("Submit") != null)语句前面语句
OADialogPage dialogPage = new OADialogPage(OAException.CONFIRMATION,
confirmMessage,
null,
APPLICATION_JSP + "?page=/<yourname>/oracle/apps/ak/employee/webui/EmpSearchPG",
null);
pageContext.forwardImmediately(APPLICATION_JSP + "?page=/<yourname>/oracle/apps/ak/employee/webui/EmpSearchPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
true, // retain AM
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);中的APPLICATION_JSP 应为pageContext.getApplicationJSP()
错误更正8
Chapter 2->update->Step CE-5.6
- For each of the three pages in the multistep flow, right-click the PageLayoutRN in the Structure pane, and select New > Region from the context menu.
- Set the region's properties as follows:
- 应为
- For one of the three pages(EmpUpdatePG,EmpAssignPG and EmpViewPG) in the multistep flow, EmpUpdatePG,right-click the PageLayoutRN in the Structure pane, and select New > Region from the context menu.
- Set the region's properties as follows:
- For the orthers of the three pages,EmpAssignPG and EmpViewPG, Copy PageButtonBar of EmpUpdatePG to them.(right-click PageButtonBar of EmpUpdatePG, click Copy,right-click PageLayoutRN of EmpAssignPG or EmpViewPG, click Paste)
错误更正9
Chapter 2->update->Step CE-4.2
Text properties for three link TrainStep1,TrainStep2,TrainStep3 are Employee Details,Assignment,View and Sumbit
错误更正10
Chapter 2->update->Step CE-2.2
The Property of style for StartDate,EndDate and Salary is messageStyledText.
如上设置程序能运行,但是这三个栏位的值不能修改。不知道是不是应该按如下设置?示例程序是这样设置的。试了没有成功。重启动JDeveloper后成功。StartDate不能修改,EndDate和Salary可以修改。
The Property of style for StartDate is messageStyledText and its CSS Class is OraDataText.
Chapter 2->update->Step CE-2.3
在点下一页时,不能转到下一页,检查EmpAssignPG时与示例程序toolbox比较后发现:
Select the PageLayoutRN region and add a pageStatus component. Add a new region to the flowLayout region automatically created beneath the pageStatus component and extend the /oracle/apps/fnd/framework/webui/OAReqFieldDescRG region.
似应为
Select the PageLayoutRN region and add a pageStatus component. Add a new region to the flowLayout region automatically created beneath the pageStatus component,name it PageStatusRN,right-click PageStatusRN to add a new region named RequiredKey and the property of region style set tablelayout and the property of extends set /oracle/apps/fnd/framework/webui/OAReqFieldDescRG.
to modify the code written in Navigation Bar region Controller (EmployeeUpdateFooterCO)
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
.......
OANavigationBarBean navBean = (OANavigationBarBean)webBean.findChildRecursive("NavBar"); //Add this line
navBean.setValue(step+1); //Add this line
System.out.println("set navigation br "+(step+1));
} // end processRequest()错误更正11
Chapter 2->update->Step 1.1 Create the EmployeePVO View Object
- After you create the PVO, reopen and navigate to the Tuning page. Check the Enable Passivation and For All Transient Attributes checkboxes (it's important that the transient attributes in an application properties view object be properly passivated).
这一段没有找到地方设置。
The Property of style for EndDate and Salary is messageTextInput and their CSS Class is OraFieldText.
与页面个性化有关的profile。
FND: Personalization Seeding Mode
FND: Personalization Region Link Enabled
FND: Diagnostics
Chapter 3->Extending OA Framework Applications->Step 1.4
新建project时,已自动建立oracle/apps/fnd/framework/toolbox,已包含四个server.xml文件。
Chapter 3->Extending OA Framework Applications->Task 5: Substituting BC4J Objects
Right-click on your project in the Navigator pane,select Project Properties->Business Components-Substitutions
Search: EmployeeSummaryVO
Drilldown to Details: EmployeeFullVO
Create: EmployeeFullVO
Delete: EmployeeSummaryVO
VO加入AM后,修改了VO后应重新加入AM。