EXTEND E-BUSINESS SUITE PAGE
This exercise is to demonstrate how extract the required classes and xml files into JDeveloper, ready for an extension on an E-Business Suite page. We then see how to deploy that extension.
We have kept the extension very simple – we will simply add a default value into the Purpose field of the Create Expense Report page. This simple example is used to enable us to concentrate on the extraction and deployment processes. PREPARE FOR EXTENSION
Because this is a Self-Service page, in order to test, our user needs to be associated with a person. In addition our user needs the grants associated with the iExpenses functions. Therefore we need to edit user FWKTESTER and associate with a person (Pat Stock), and add the iExpenses responsibility.
Responsibility: System Administrator >
Define User: FWKTESTER
Associate FWKTESTER with person - Pat Stock
Add responsibility: iExpenses ANALYZE
1. Login to the E-Business Suite instance as FWKTESTER/fwkdev
2. Select the iExpenses responsibility.
3. Click the Create Expense Report button.
4. Click About This Page link and analyze page information:
Page: /oracle/apps/ap/oie/entry/header/webui/GeneralInformationPG
Attribute: messageTextInput: Purpose
View Attribute: Description
View Object: ExpenseReportHeadersVO
ExpenseReportHeadersVOImpl.java
Entity Object: oracle.apps.ap.oie.server.ExpenseReportHeaderEO
Controller: oracle.apps.ap.oie.webui.HeaderCO
Root AM: oracle.apps.ap.oie.server.WebExpensesAM (root)
Nested AM: oracle.apps.ap.oie.server.GeneralInfoAM
Other views contained in packages: oracle.apps.ap.lookups.server Page | 2 oracle.apps.ap.oie.entry.accounting.server oracle.apps.ap.oie.entry.advances.server oracle.apps.ap.oie.entry.header.webui oracle.apps.ap.oie.entry.server oracle.apps.ap.oie.lov.server oracle.apps.ap.oie.notes.server oracle.apps.ap.oie.server oracle.apps.ap.oie.setup.accounting.server oracle.apps.ap.oie.webui EXTRACT CLASSES AND XML
The majority of the VOs used in our page exist in the oracle.apps.ap.oie package. We need to extract all the classes in this package into JDeveloper.
1. Log on to the oracle instance provided by the instructor using NXCLIENT.
2. Start a terminal process giving access to the Linux file system.
3. Create matching directory structures in JDeveloper Home. cd $JDEV_USER_HOME/myclasses mkdir oracle/apps/ap cd $JDEV_USER_HOME/myprojects mkdir oracle/apps/ap
4. Change to the applmgr (E-Business Suite owner) user. su applmgr password: oracle
5. Source the E-Business Suite instance environment variables. cd $APPL_TOP
EGxxxx_egxxxx.env (where xxxx is the assigned oracle instance)
6. Change to the $JAVA_TOP directory to get the needed java classes. cd $JAVA_TOP cd oracle/apps/ap zip –r oieExtract.zip oie
7. This file is owned by applmgr. Change the ownership so that any user can use the zip file. chmod 777 oieExtract.zip exit Page | 3
8. Change directory to $JDEV_USER_HOME/myclasses/oracle/apps/ap. cd $JDEV_USER_HOME/myclasses/oracle/apps/ap
9. Copy the zip file to this directory and extract the data. This allows the pages to run in jDeveloper. cp $JAVA_TOP/oracle/apps/ap/oieExtract.zip . unzip oieExtract.zip –d . GET THE PAGE FOR THE EXTENSION PROJECT cd $JDEV_USER_HOME/myprojects java oracle.jrad.tools.xml.exporter.XMLExporter /oracle/apps/ap/oie/entry/header/webui/GeneralInformationPG -rootdir $JDEV_USER_HOME/myprojects -username apps –password apps -dbconnection egxxxx.us.oracle.com:1521:EGxxxx VERIFY JDEVELOPER SETUP
1. Start JDeveloper from the terminal session by entering JDev.
2. Click on the connection tab then expand Database to verify a database connection is still in place (if not, set up a database connection).
3. Click on the Application Navigator tab and verify the ClassLabs workspace is still in place. This workspace will hold your extension project. CREATE THE EXTENSION PROJECT
1. Highlight the ClassLabs workspace and right click.
2. Select the New OA Project from the selector pane. Click Next on the welcome pane if it appears.
3. Set the Project Name to ExtProject.
4. Confirm the Directory Name is set to $JDEV_USER_HOME/myprojects.
5. Set the Default Package to .oracle.apps.ap.oie.entry.header.webui and select Next button twice skipping the 2 of 3 Database Connection pane.
6. Set the DBC File Name to the location of the .dbc file used. Other values may be set or reset if needed.
User Name: fwktester
Passwork: fwkdev (remember case sensitive in R12)
Application Short Name: AK
Responsibility Key: FWK_TBX_TUTORIAL
7. Click the Finish button to complete the project set up.
When the project is complete the libraries that you unzipped to $JDEV_USER_HOME/myprojects should show up in the list of available libraries containing both the classes and page and region xml.
The project may take a while to collate all the classes. Go and get a coffee…
Page | 4
8. Save your work.
9. To finalize project setup: right click ExtProject and select Project Properties from the display pane.
10. Expand Oracle Applications (at bottom of the navigator pane) and select Run Options.
11. Shuttle OADiagnostics from the Available Options to the Selected Options.
12. Click the OK button and then save your work. CORRECT FILES CONTAINED IN THE PROJECT
When you attempt to run the GeneralInformationPG, you will come across errors.
1. Delete any files in error from myprojects directory, eg:
../oracle/apps/ap/oie/entry/accounting/server/FndFlexValuesVVO.xml
..oracle/apps/ap/oie/server/DetailExpenseLinesVO.xml
../oracle/apps/ap/oie/server/DetailPolicyViolationsVO.xml
../oracle/apps/ap/oie/server/GlDailyRatesVO.xml
../oracle/apps/ap/oie/server/HRAssignmentsVO.xml
../oracle/apps/ap/oie/server/ItemizationAM.xml
../oracle/apps/ap/oie/server/ItemizationHeaderVO.xml
../oracle/apps/ap/oie/server/ItemizationLinesVO.xml
../oracle/apps/ap/oie/server/ItemizationSummaryVO.xml
2. Upload missing elements, eg: oracle.apps.ap.oie.entry.server.ExpAttendeesVO For each missing element, you need to:
Change user to applmgr
Navigate to the file directory in $JAVA_TOP (eg oracle/apps/ap/oie/entry/server)
Change ownership on the file (eg chmod 777 ExpAttendeesVO)
Exit applmgr
Copy the file into the corresponding folder in $JDEV_USER_HOME/myclasses
Copy the file into the corresponding folder in $ JDEV_USER_HOME /myprojects
Test the page again.
Continue until the page runs adequately – so that you can see the Purpose field. It doesn’t matter if the message region contains errors – you are not extending that region. EXTEND THE PAGE – CREATE A NEW EO TO CONTAIN THE OVERLOADED METHODS.
1. Right click on ExtProject project and select New… from the resulting menu.
Page | 5
2. From the Categories pane select Business Tier->ADF Business Components.
3. In the Items pane select Entity Object then press the OK button. If the next screen is the Welcome screen press Next.
4. Set the Name field to ExtExpenseReportHeaderEO.
5. Set the Package field to:
.oracle.apps.ap.oie.server
6. Use the browse button to set the Extends Entity field to: oracle.apps.ap.oie.server.ExpenseReportHeaderEO 7. Press the Next button.
8. In the Step 2 of 5: Attributes pane press the New from Table button to acquire the attributes supported by the EO. Shuttle all attributes in the Available pane to the Selected pane by pressing the >> button.
9. Remove the RowId attribute from the Selected pane by selecting it and pressing the < button.
10. Press the Next button 2 times to get to the Step 4 of 5: Java pane. Deselect the Accessors checkbox, and select the Create checkbox. Press the Next button.
11. Do not generate the Default View Object. Leave this checkbox unchecked.
12. Press the Finish button to create the new Entity Object. ADD THE DEFAULTING LOGIC
1. Edit the ExtExpenseReportHeaderEOimpl java class.
2. Next set the ExtExpenseReportHeaderEOimpl.java so that when a new record is created the Purpose field holds the value of “Customer Visit”.
The attribute name for the Purpose field is Description. The constructor method is called create(). Edit the method to make it look like the code below: public void create(AttributeList attributeList){ super.create(attributeList); setDescription("Customer Visit");
}// end create()
3. Now that the code changes are in place a substitution is needed so that the new EO is used in place of the old EO. Right click on ExtProject and select Project Properties from the menu.
4. Expand Business Components and select Substitutions.
5. In the Available pane expand oracle.apps.ap.oie.server and select ExpenseReportHeaderEO.
6. In the Substitute pane expand .oracle.apps.ap.oie.server and select ExtExpenseReportHeaderEO.
7. Click the Add button followed by the OK button to create the substitution.
Page | 6
8. Click the Run/Debug category in the Project Properties.
9. Click the Edit button
10. Add the following to the Java Options field:
-Djbo.project=ExtProject (or whatever the name of the project is)
Make sure there is a blank space between the dash and whatever precedes it.
11. Click the OK button.
12. Click the OK button.
13. Save your work. The ExtExpenseReportHeaderEO will now run in place of the ExpenseReportHeaderEO.
14. Run the page – the Purpose field should now have a default value of “Customer Visit”. DEPLOY THE CREATED CLASSES AND XML TO $JAVA_TOP
You have only modified one class file, ExtExpenseReportHeaderEOImpl.class, which has been compiled into JDEV_USER_HOME/myclasses//oracle/apps/ap/oie/server. You also need to deploy the corresponding ExtExpenseReportHeaderEO.xml file, and the associated server.xml file.
1. Save everything and shut down JDeveloper.
2. Change directory to $JDEV_USER_HOME/myclasses. cd $JDEV_USER_HOME/myclasses
3. Create a zip file that contains the new or modified class and xml files. zip oieDeploy -@
A blank line with a blinking cursor displays. Enter the following one line at a time with a carriage return after each line.
/oracle/apps/ap/oie/server/ExtExpenseReportHeaderEOImpl.class
/oracle/apps/ap/oie/server/ExtExpenseReportHeaderEO.xml
/oracle/apps/ap/oie/server/server.xml
d (hold down the control key and press "d")
4. Modify the oieDeploy.zip file so that any user may use it. chmod 777 oieDeploy.zip
5. Change to the applmgr user id to complete the java deployment. su applmgr password: oracle
6. Set the environment variables for the Oracle instance. cd /appltop/apps/apps_st/appl
EGxxxx_egxxxx.env (where xxxx is the assigned oracle instance)
Page | 7
7. Copy the deploy.zip file to $JAVA_TOP. cd $JAVA_TOP cp $JDEV_USER_HOME/myclasses/oieDeploy.zip ./
8. Unzip the deploy.zip completing the java deployment. unzip oieDeploy.zip –d ./ DEPLOY THE SUBSTITUTION INTO THE MDS
1. Change back to $JDEV_USER_HOME/myprojects and look for ExtProject.jpx. cd $JDEV_USER_HOME/myprojects ls ExtProject*
2. Load the ExtProject.jpx file into the MDS using the jpx loader provided by Oracle. java oracle.jrad.tools.xml.importer.JPXImporter $JDEV_USER_HOME/myprojects/ExtProject.jpx -username apps -password apps -dbconnection egxxxx.us.oracle.com:1521:EGxxxx STEP 7.3 BOUNCE THE E-BUSINESS SUITE INSTANCE
You need to bounce the E-Business suite in order to clear the cache and allow the new page to be run from the menu.
1. Return to the NXCLIENT terminal window which should still be using APPLMGR user id.
2. Stop the HTTP (adapcctl) and OACORE OC4J (adoacorectl) services:.
$ADMIN_SCRIPTS_HOME/adapcctl.sh stop
$ADMIN_SCRIPTS_HOME/adoacorectl.sh stop
3. Start the HTTP (adapcctl) and OACORE OC4J (adoacorectl) services:.
$ADMIN_SCRIPTS_HOME/adapcctl.sh start
$ADMIN_SCRIPTS_HOME/adoacorectl.sh start STEP 7.4 TEST THE DEPLOYMENT
5. Login to the E-Business Suite instance as FWKTESTER/fwkdev
6. Select the iExpenses responsibility.
7. Click the Create Expense Report button.
The newly deployed page should run and be fully functional. You should see a default value of “Customer Visit” in the Purpose field. STEP 7.5 CLEANING UP DEVELOPMENT ENVIRONMENT
Now you have successfully deployed the application, you can clean up the development environment.
Page | 8
1. Return to the Linux server terminal window.
2. Return to the $JDEV_USER_HOME directory: exit (log off from applmgr) cd $JDEV_USER_HOME/myclasses
3. Delete the directory from myclasses. rm –rf
4. Restart JDeveloper to remove the ExtProject from JDeveloper.
JDev (starts jDeveloper)
5. Select ExtProject in the navigator pane.
6. In the File menu select Close to close the project.
7. Right click on the ExtProject and select Delete to remove the project from JDeveloper.
8. Close JDeveloper for the next step.
9. Change directory to myprojects: cd $JDEV_USER_HOME/myprojects
10. Remove the ExtProject files from the $JDEV_USER_HOME/myprojects directory. rm –rf rm ExtProject.jpr rm ExtProject.jpx
You May Also Find These Documents Helpful
-
Modify the Week Three Java™ application using Java™ NetBeans™ IDE to meet these additional and changed business requirements:…
- 761 Words
- 4 Pages
Better Essays -
Query1: find the treatment given to Jackson, and who is his doctor with his address?…
- 260 Words
- 5 Pages
Satisfactory Essays -
Based on the Business Wire (2008) article, explain why an application must function on Java Standard Edition and Enterprise Edition.…
- 693 Words
- 4 Pages
Satisfactory Essays -
There a various methods of job advertisement these include that Greggs could use to advertise the position of Team member, they could advertise it internally by using the staff intranet for example, sending an email to all staff or advertising it on the staff notice board, this is simple cheap and very time efficient to do as Greggs can get an employee to write an advertisement up and post it on the same day. There are external ways to advertise the vacancy at Greggs like through their website www.greggs.co.uk this way the public can apply for their jobs all through the same process and it is easier to access and easier to use for the Greggs itself as they are in direct control of the recruitment process and seeing who is applying. Greggs could also advertise through the Job centre, this is government a based programme which means it is free to use, it can also be used nationally or locally this means that Greggs have can choose to have a very large recruitment pool if they wanted. They could advertise through a Recruitment Agency, it does cost however they have specialist staff to find the best person for the job which means Greggs can be very specific over who they choose to recruit, They could also advertise in a newspaper, locally or nationally, this will give the job vacancy plenty of candidates as it will be advertised to a big audience. A job advert should contain: the name of the position that is vacant, this is to show people exactly what they may apply for, it should also contain basic information about the job role for example a team member will be required to serve customers and prepare food, If the person looking to apply cannot fulfil those tasks they will not apply and Greggs won't have to waste time looking at their application, The advert will also have the location and address of the vacancy, it will also contain the wage or salary information it will also tell the candidate whether any bonuses can be earned and the…
- 9832 Words
- 27 Pages
Good Essays -
2. Have the customer look for a copy of the previous expense report file and Save the document under a new name to be used later…
- 918 Words
- 4 Pages
Good Essays -
"Other Expenses Topic (720)." Proposed Accounting Standards Update. FASB Emerging Issues Task Force, 17 Dec. 2010. Web. 1 Apr. 2011 .<http://www.fasb.org/cs/BlobServer?blobcol=urldata&blobtable=MungoBlobs&blobkey=id&blobwhere=1175821918986&blobheader=application%2Fpdf>.…
- 1925 Words
- 8 Pages
Best Essays -
Given a business system application that needs to retrieve from and write to a relational database using an external sequential or CSV data file format, the student will design, code, and document the business application using a high-level language.…
- 1818 Words
- 8 Pages
Better Essays -
This paper will examine and discuss three vendors that offer e-business solutions, including EDI, CRM, SCM, ERP and MRP. The paper will focus on success stories with clients and what the benefits are to companies in meeting their overall business goals.…
- 1032 Words
- 5 Pages
Powerful Essays -
Given the limited information in this case, which product would you recommend that Apex commercialize? Why?…
- 644 Words
- 3 Pages
Good Essays -
Given the limited information in this case, which product would you recommend that Apex commercialize? Why?…
- 610 Words
- 3 Pages
Good Essays -
Managed a project to develop e-business strategies for selected divisions (i.e., P&C Insurance, Commercial Leasing) of a global commercial finance company.…
- 647 Words
- 3 Pages
Good Essays -
Under your heading MONTHLY BUDGET, enter a budget amount for each ITEM category. Under the heading for each Month, enter an actual expense amount for that item for that month. (For example, in the winter months, your utility bills might be higher). While some items…
- 1056 Words
- 5 Pages
Good Essays -
Yes, because when we have many competitors in the market it will create the healthy market situation where the customer can see clearly about the differences of price and innovation. But if Oracle succeed with the take over it can create the unhealthy market situation. Because the competitions only focused on two companies, which are SAP and Oracle. Software market is very complicated and there are many different needed for users. So, it’s better to have many competitors to stimulate the creativity and the competitions it self. If only two companies playing as competitors, the companies will control the price and it will create monopoly market.…
- 328 Words
- 2 Pages
Satisfactory Essays -
| Incorrect. Refer to the Why Use The Configuration Manager In My Oracle Support training for more information.…
- 895 Words
- 10 Pages
Satisfactory Essays -
D. The number of columns and data types must be identical for all SELECT statements in the…
- 12451 Words
- 50 Pages
Powerful Essays