OAF-用JDeveloper二次开发EBS

在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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值