Oracle® Isetup: Developer'S Guide Release 12.1
Oracle® Isetup: Developer'S Guide Release 12.1
Oracle® Isetup: Developer'S Guide Release 12.1
November 2009
Oracle iSetup Developer's Guide, Release 12.1 Part No. E15842-01 Copyright 2009, Oracle and/or its affiliates. All rights reserved. Contributing Author: Mugunthan Srinivasan, Mildred Wang Contributor: Hima Bindu Boda, Mukesh Patidar Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065. This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications. This software and documentation may provide access to or information on content, products and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third party content, products and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third party content, products or services.
Contents
iii
Send Us Your Comments
Oracle iSetup Developer's Guide, Release 12.1
Part No. E15842-01
Oracle welcomes customers' comments and suggestions on the quality and usefulness of this document. Your feedback is important, and helps us to best meet your needs as a user of our products. For example: Are the implementation steps correct and complete? Did you understand the context of the procedures? Did you find any errors in the information? Does the structure of the information help you with your tasks? Do you need different information or graphics? If so, where, and in what format? Are the examples correct? Do you need more examples?
If you find any errors or have any other suggestions for improvement, then please tell us your name, the name of the company who has licensed our products, the title and part number of the documentation and the chapter, section, and page number (if available). Note: Before sending us your comments, you might like to check that you have the latest version of the document and if any concerns are already addressed. To do this, access the new Oracle E-Business Suite Release Online Documentation CD available on My Oracle Support and www.oracle.com. It contains the most current Documentation Library plus all documents revised or released recently. Send your comments to us using the electronic mail address: appsdoc_us@oracle.com Please give your name, address, electronic mail address, and telephone number (optional). If you need assistance with Oracle software, then please contact your support representative or Oracle Support Services. If you require training or instruction in using Oracle software, then please contact your Oracle local office and inquire about our Oracle University offerings. A list of Oracle offices is available on our Web site at www.oracle.com.
Preface
Intended Audience
Welcome to Release 12.1 of the Oracle iSetup Developer's Guide. This guide assumes you have a working knowledge of the following: The principles and customary practices of your business area. Computer desktop application usage and terminology.
If you have never used Oracle E-Business Suite, we suggest you attend one or more of the Oracle E-Business Suite training classes available through Oracle University. This manual describes how to set up your development environment, build, test, and deploy Oracle iSetup Framework Interfaces. For more information on coding standards followed by the Oracle E-Business Suite development staff and information on extending the products shipped by Oracle E-Business Suite development, refer to the Oracle Application Framework Developer's Guide. This documentation is written for the application developer and assumes familiarity with Java and SQL. See Related Information Sources on page viii for more Oracle E-Business Suite product information.
vii
Documentation Accessibility
Our goal is to make Oracle products, services, and supporting documentation accessible to all users, including users that are disabled. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/.
Structure
1 Oracle iSetup Framework Interface Registration 2 Oracle iSetup Reportable API A Oracle Application Object Library Messages for Oracle iSetup
viii
All Oracle E-Business Suite documentation is available online (HTML or PDF). Online Help - Online help patches (HTML) are available on My Oracle Support. PDF Documentation - See the Oracle E-Business Suite Documentation Library for current PDF documentation for your product with each release. The Oracle E-Business Suite Documentation Library is also available on My Oracle Support and is updated frequently. Release Notes - For information about changes in this release, including new features, known issues, and other details, see the release notes for the relevant product, available on My Oracle Support. Oracle Electronic Technical Reference Manual - The Oracle Electronic Technical Reference Manual (eTRM) contains database diagrams and a detailed description of database tables, forms, reports, and programs for each Oracle E-Business Suite product. This information helps you convert data from your existing applications and integrate Oracle E-Business Suite data with non-Oracle applications, and write custom reports for Oracle E-Business Suite products. The Oracle eTRM is available on My Oracle Support.
Related Guides You should have the following related books on hand. Depending on the requirements of your particular installation, you may also need additional manuals or guides. Oracle iSetup User's Guide This guide describes how to use Oracle iSetup to migrate data between different instances of the Oracle E-Business Suite and generate reports. It also includes configuration information, instance mapping, and seeded templates used for data migration. Oracle Application Framework Developer's Guide This guide contains the coding standards followed by the Oracle E-Business Suite development staff to produce applications built with Oracle Application Framework. This guide is available in PDF format on My Oracle Support and as online documentation in JDeveloper 10g with Oracle Application Extension. Additional Oracle JDeveloper 10g helpsets that apply to Oracle Application Framework application development include: Oracle Application Framework ToolBox Tutorial Oracle Application Component Reference Getting Started with the Oracle Application Extension Getting Started with JDeveloper
ix
Oracle E-Business Suite System Administrator's Guide Documentation Set This documentation set provides planning and reference information for the Oracle E-Business Suite System Administrator. Oracle E-Business Suite System Administrator's Guide - Configuration contains information on system configuration steps, including defining concurrent programs and managers, enabling Oracle Applications Manager features, and setting up printers and online help. Oracle E-Business Suite System Administrator's Guide - Maintenance provides information for frequent tasks such as monitoring your system with Oracle Applications Manager, administering Oracle E-Business Suite Secure Enterprise Search, managing concurrent managers and reports, using diagnostic utilities including logging, managing profile options, and using alerts. Oracle E-Business Suite System Administrator's Guide - Security describes User Management, data security, function security, auditing, and security configurations.
Integration Repository
The Oracle Integration Repository is a compilation of information about the service endpoints exposed by the Oracle E-Business Suite of applications. It provides a complete catalog of Oracle E-Business Suite's business service interfaces. The tool lets users easily discover and deploy the appropriate business service interface for integration with any system, application, or business partner. The Oracle Integration Repository is shipped as part of the E-Business Suite. As your instance is patched, the repository is automatically updated with content appropriate for the precise revisions of interfaces in your environment.
track of who changes information. If you enter information into database tables using database tools, you may store invalid information. You also lose the ability to track who has changed your information because SQL*Plus and other database tools do not keep a record of changes.
xi
1
Oracle iSetup Framework Interface Registration
Security Setup for Registering the Oracle iSetup Framework (BC4J) API
Follow these instructions for the security setup of the API. For more information on managing security, see the manual Oracle E-Business Suite System Administrator's Guide - Security.
Log in to Oracle E-Business Suite as a system administrator with the User Management responsibility and the Functional Administrator responsibility. Go to the User Management responsibility > User. Search for the username SYSADMIN and click Update.
2. 3.
4.
Assign the role to the user. Click on Assign Roles. In the LOV search window, search for iSetup Super User and select it.
5.
Provide a justification to add the role and click Apply. Return to the main menu.
To Create a Function:
1. 2.
Navigate to Functional Administrator. Navigate to Home > Core Services > Functions > Create Function.
3.
Enter the following details: Name: BC4JREGFUNC (Name of your choice) Code: BC4J:oracle.apps.gl.ispeed.currency.server.currsetupam. Prefix BC4J: with the Java class path to the Application Module that you have created. The code is not case sensitive; ultimately, it will be converted to uppercase by the application.
4. 5.
6.
Click Submit.
After creating the function, you can add it to a menu. You can directly proceed to that task by clicking on Menu in the subtab.
To Create a Menu:
1.
2.
Enter the following details. Name: BC4JREGMENU (Name of your choice) Code: BC4JREGMENU (Code of your choice) Type: Interface
Click Add Another Row. Add the following: Prompt: BC4JREGMENU Function: BC4JREGFUNC (Registered function) Grant: Deselect the box.
Click Apply.
To Create a Grant:
1. 2.
Navigate to Home > User Management > Role & Role Inheritance. Search for the iSetup Super User role.
3.
4. 5.
Click Create Grant. Enter the following: Name - iSetup API Demo Responsibility - iSetup
6. 7.
Click Next. Add the Menu name to the Set field. Set: BC4JREGMENU
8. 9.
'CurrSetupAM' should be physically present in the above-mentioned Java path. Details: Supports Filter - This flag indicates if iSetup could enable filtering support for the
interface being registered. If this option is checked, then Oracle provides a filtering icon in front of this interface in the iSetup UI shipped with Oracle E-Business Suite. Supports Transform - This flag indicates whether the API supports transformation on any attributes. This flag does not need to be set for a Reportable API. Commit If Warning - This flag indicates whether the transaction could be committed in the case of a warning while validating the data at the time of loading using the interface. This flag does not need to be set for a Reportable API. Supports Update - This flag indicates whether the API supports updates to preexisting records. That is, at the time of loading the extracted data into the target instance, if the interface finds any record already existing in the instance, then based on the business logic it should be able to update the record. This flag does not need to be set for a Reportable API. Override Update - This flag would be functional only if the "Support Update" flag is checked. Support Update and Override Update flags go hand in hand. This flag indicates if user has a choice to make a call to override the existing record in the target instance. This flag does not need to be set for a Reportable API.
3.
4.
Click on Create and fill in the following details: Name: iSetup Demo API. Application: General Ledger Type: iSetup Framework
Path: oracle.apps.gl.ispeed.currency.server.CurrSetupAM
Click Supports Filter, Commit If Warning, Supports Update, Override Update (Depending on what the API can do).
Note: The actual file 'CurrSetupAM' should be physically present
under $JAVA_TOP in path the oracle.apps.gl.ispeed.currency.server in the instance where the API is registered. The reason for this requirement is that when the API is registered, the system does not validate that the given file physically exists in the path; however, during extraction the system will try to instantiate the file ('CurrSetupAM' in this case) and if the file is not found, the system will return an error.
5.
Click Apply.
2.
Click on Create Custom and enter the following details: Name - iSetup Custom API Demo. Source Instance - Choose 'source'. LOV Field Name - iSetup Demo API.
3.
To Create an Extract:
1.
Navigate to iSetup > Migrations > Selection Set. Search for iSetup Custom API Demo, select it, and click on Extract.
2.
3.
Search for iSetup Custom Extract and click on the iSetup Custom Extract link.
4.
Wait for the Phase to be marked as Completed. Click on the Refresh button to confirm that it is Completed.
Note: You need to follow the same steps and register the API on the
2
Oracle iSetup Reportable API
Typographical Conventions
This chapter uses the following typographic conventions to distinguish important elements from the body of the chapter.
Command and example syntax adhere to the conventions in the following table:
Convention plain monotype Explanation Used for code fragments and examples.
Explanation Indicates developer-supplied values. An ellipsis indicates that the actual code extends beyond the example shown. A C-style comment.
/* */ /** */ // Indentation
A Javadoc comment.
A Java comment. The Oracle standard indentation helps to show code structure.
Setting Up JDeveloper
Refer to My Oracle Support Knowledge Document 416708.1 to find out the patch number for the patch with the appropriate version of JDeveloper for the Oracle E-Business Suite that you need. Download this patch for JDeveloper.
Note: You can build, test, and deploy Oracle iSetup Framework
interfaces on Oracle E-Business Suite Release 12.0.6 and later. These instructions use Release 12.0.6 as an example.
Download the Tutorial attachment to My Oracle Support Knowledge Document 843397.1 to get the Oracle iSetup Framework Library and sample code used in this document.
To Set Up JDeveloper:
1. 2.
Unzip the JDeveloper patch to the folder JDeveloper_12.0.6. You can add iSetup framework tutorial shipped with patch to your developer. Alternatively, you can go through this chapter to create BC4J objects on your own. Unzip the Tutorial.zip. You should have the following contents: iSetupFwk.jar - Oracle iSetup Framework Library.
3.
4. 5.
Navigate through the folder JDeveloper_12.0.6/jdevbin/ and click on jdeveloper.exe To open the example code, select File > Open in JDeveloper and navigate to the location where TutorialCode is present. Select iSetupReportableAPI.jws in the TutorialCode folder and click Open. To compile the above code, add the iSetup Framework Library as described in Steps 10 and 11, below. To create your own BC4J Objects, please follow the process described below. Click on Applications Navigator tab > Right-click on Applications > New OA Workspace > Enter the workspace file name and directory name. Ensure that the "Add a new OA Project" box is checked.
6.
Complete the following steps in the Oracle Applications Project Wizard window. Step 1 of 3: Click on Next. Enter Project Name, Directory Name, and Default Package Name (for example, 'oracle.apps.az.isetup.server').
Click Next. Step 2 of 3: Check the box "Use Repository for Design Time". If you have already defined the database connection select it from the list or else click on New. The window "Create Database Connection Wizard" opens.
8.
Click Next. Perform the steps required to create a database connection. Step 1 of 4: Enter Connection Name and Select Connection type as Oracle (JDBC). Click Next.
Step 2 of 4: Enter Username and Password to authenticate the connection. Click Next.
Step 4 of 4: Click on Test Connection to ensure that all the details you supplied above are correct.
Now you are done creating the new OA Project. Click Finish.
10. In the Applications Navigator right-click on the project and navigate to Project
Click on New. Enter Library Name using the navigation path iSetup > Select Class Path and click on Add Entry. Browse to the directory where the iSetup Tutorial files have been unzipped (Refer to Step 3). Select iSetFwk.jar. Click OK in Create Library Dialog Pane.
12. Click OK in Add Library Dialog Pane. 13. Click OK in Project Properties Dialog Pane.
Create View Object: Right-click on the Project and click on New > Select ADF Business Components: View Object.
2. 3. 4.
Click on OK. The "Create View Object Wizard" window opens. Click Next. Perform the following in the Create View Object screens: Step 1 of 7: Specify the package and name of the View Object. Select rows populated with SQL Query: with Read-only access radio button. Click Next. This tutorial is explained using Oracle iSetup, with the application short name 'az' ('AZ'). You can create under your custom PRODUCT_TOP. You can replace 'az' with your own product short code (application short name). For example, the Package Name can be given as oracle.apps.az.isetup.server and the View Object name as ReportCurrenciesVO.
Step 2 of 7: Enter the SQL query (The query for the desired records that needs to come in the report. In this example, we used the FND_CURRENCIES table) in the Query Statement text box and select the binding style as Oracle Positional. Click Next.
Click on Next, accepting the defaults, until you reach step 6 of 7: Attribute Settings. Step 6 of 7: Now mark the unique key attributes (Unique keys are the developer keys of your API. Unique Keys should not contain any sequence IDs. Based on unique key columns, you can uniquely identify a record. In this example, the CurrencyCode view object attribute uniquely identifies a record.
Step 7 of 7: Select Generate Java File for View Object Class: ReportCurrenciesVOImpl. Click on the Class Extends button. In the Against Object box, you need to override the base class as 'oracle.apps.az.fwk.server.BEViewObjectImpl'. Click OK on the Extends dialog pane and click Finish in Create View Object wizard.
Note that the View Object is created with following two files: ReportCurrenciesVO.xml
ReportCurrenciesVOImpl.java
5.
Filtering attributes need to be marked if the iSetup Reportable API has to support filtering records. APIs are responsible for determining which filtering parameters are allowed and to which view object attributes that these filtering parameters map. In order to achieve these goals, the APIs need to register the filtering parameters by marking view object attributes as filtering parameters as shown below: For the attributes that need to be filtered on, the APIs need to add the following three properties AZ_FILTER_NAME: a unique value within the view object. Make sure it's all-uppercase and has no spaces. This is a mandatory parameter if you wish to set filter on an attribute. AZ_ATT_DISPLAY_MSG: The Oracle Application Object Library (FND)
message name. AZ_ATT_DISPLAY_APP: The application short name that corresponds to the FND message name.
Optional properties are as follows: Properties AZ_ATT_DISPLAY_MSG and AZ_ATT_DISPLAY_APP are used to show the label of the filtering parameter in the iSetup Migration UI pages. These properties are optional. If you do not set the values for these properties, then the VO attribute name would be used as the display name. To set the above properties you need to follow following steps. In this example, attribute CurrencyCode of ReportCurrenciesVO is the filtering parameter.
1.
Select ReportCurrenciesVO in Applications Navigator of JDeveloper. In the Structure Pane, select and right-click on the CurrencyCode view object attribute and select 'Edit CurrencyCode'. Then select 'Custom Properties' in Attribute Editor wizard. For Name enter: AZ_FILTER_NAME and for Value enter: CURRENCY. Click on Add and Apply. Repeat the above procedure for the properties (Optional): AZ_ATT_DISPLAY_MSG and AZ_ATT_DISPLAY_APP. In this example the values are given as follows: AZ_FILTER_NAME: CURRENCY AZ_ATT_DISPLAY_MSG: AZW_FWK_CURRENCY AZ_ATT_DISPLAY_APP: AZ
2.
3.
After entering all the properties for filtering parameters, click OK.
Right-click on the project and click on New. Select ADF Business Components: Application Module.
2. 3.
Click OK. The "Create Application Module" wizard opens. Click Next. Perform the steps in the Create Application Module window. Step 1 of 4: Specify the package and name of the Application Module. Here the package name is given as 'oracle.apps.az.isetup.server' and the View Object name is given as 'ReportCurrenciesAM'.
Step 2 of 4: Select ReportCurrenciesVO in the Available View Objects and add it to the data model. Click on Next.
Select Application Module Class: ReportCurrenciesAMImpl > Generate Java File(s). Click on the Class Extends button. In the Against Object box you need to override the base class as 'oracle.apps.az.fwk.server.BEApplicationModuleImpl'. Click OK on the Extends dialog pane and click Finish in the Create Application Module wizard. Note that the Application Module is created with following two files: ReportCurrenciesAM.xml ReportCurrenciesAMImpl.java
Now you need to add exportable view object to the application module. Open ReportCurrenciesAMImpl.java and add the following piece of code to the application module's default constructor:
public class ReportCurrenciesAMImpl extends BEApplicationModuleImpl { /**This is the default constructor (do not remove) */ public ReportCurrenciesAMImpl() { addVO("ReportCurrenciesVO1"); } ..........
In the iSetup Migrator UI, a LOV can be linked to each filtering parameter. This feature is optional. You may skip this if you do not want the LOV. To enable this feature, the API needs to override BEViewObjectImpl.getSqlForLov method to return the LOV SQL, which should select the distinct values of the filtered column. Add the following piece of code to the ReportCurrenciesVOImpl.java file.
public class ReportCurrenciesVOImpl extends BEViewObjectImpl { /**This is the default constructor (do not remove) */ public ReportCurrenciesVOImpl() { } public String getSqlForLov(String attrName) { if (attrName.equalsIgnoreCase("CurrencyCode")) //if this attribute is not defined on a database column { StringBuffer sql = new StringBuffer(); sql.append("select distinct currency_code "); sql.append("from "); sql.append("fnd_currencies "); return sql.toString(); } else { return super.getSqlForLov(attrName); } } }
Now right-click on the workspace and select Rebuild. Ensure that there are no compilation errors.
Now your API supports the default export functionality, which is exporting all the records found for the defined view objects so that a report can be generated with the exported records.
2.
The Oracle Business Component Browser opens. Select Connection Name to the instance on to which you need to test and click on Connect.
3.
A Java frame window 'Oracle Business Component Browser' opens up. Click on the View Object you need to test. In this example, we added ReportCurrenciesVO1 to the application module, so we would click on ReportCurrenciesVO1. All the records that need to be fetched with the SQL query will be returned.
4.
Navigate to the JDeveloper folder where your code resides. By default when you create workspace and project, this folder is usually created here:
<JDeveloper12.0.6>\jdevbin\jdev\myclasses
Copy the Application Module and View Object related files to the JAVA_TOP of the instance. During copy don't disturb the directory structure. Here you need to copy the folder
<JDeveloper12.0.6>\jdevbin\jdev\myclasses\oracle\apps\az\isetup\serv er
to
<$JAVA_TOP>\oracle\apps\az\isetup\server 2.
For testing purposes, execute the following query against the instance database.
Note: This query is purely for testing purpose only. After testing
and if your API is working as expected, remove the below inserted record from the database and register the API as described in the section Registering the iSetup Framework (BC4J) API, page 1-10.
Insert Record Query INSERT INTO az_apis ( API_NAME, APPLICATION_SHORT_NAME, SEQ , DISPLAY_NAME, DESCRIPTION, COMMIT_IF_WARNING, TYPE_CODE, METHOD_NAME, PATH, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN, API_CODE, SEQ_NUM, API_DESC, COMMIT_IF_WARNING_FLAG, API_TYPE, REPORT_LAYOUT, FILTERING_PARAMETERS, DATA_SOURCE_NAME, UPDATABLE_FLAG, CHANGE_UPDATABLE_FLAG, ALLOW_SET_TARGETVAL_FLAG, ALLOW_FILTER_FLAG, API_STANDALONE_FLAG, ACTIVE, DISABLE_REPORT_FLAG ) VALUES ( NULL , 'AZ' , NULL , :1, NULL , NULL , NULL , 'importFromXML', :2, 1, to_timestamp('03-JAN-07','DD-MON-RR HH.MI.SSXFF AM'), 1, to_timestamp('21-MAR-07','DD-MON-RR HH.MI.SSXFF AM'), 0, :3, NULL, NULL, 'N', 'BC4J', 'MULTIPLE', NULL, NULL, NULL, NULL, NULL,
'Y', 'Y', 'Y', NULL ); Where :1 => DISPLAY_NAME => Any user friendly name to identify the API. In this case, please substitute Report Currencies for DISPLAY_NAME :2 => PATH => Java path to refer AM. In this case, substitute oracle.apps.az.isetup.server.ReportCurrenciesAM for PATH. :3 => API_CODE => A unique identifier to register the API. Naming convention is prefix with Application Short Name + "_" + API Name without any spaces. In this case, substitute AZ_Currencies for API_CODE. Delete Record Query DELETE FROM az_apis WHERE api_standalone_flag = 'Y' AND api_code= 'AZ_Currencies'; 3.
Reports can be generated as described in the Oracle iSetup User's Guide. You will need to create a Custom Selection Set by selecting the data object created above. In our example, the navigation path is Report Currencies > Create Extract > Create Report. The detailed process can be found in the Oracle iSetup User's Guide. Once you are done with testing the interface, you can deploy it on to any Oracle E-Business Suite instance. Follow the steps described in the section Registering the iSetup Framework (BC4J) API, page 1-10 to register the iSetup reportable API to the iSetup Interface Repository.
4.
A
Oracle Application Object Library Messages for Oracle iSetup
Message "Customer Account Number" "Supplier Name" "Supplier Number" "Bank Name" "Bank Number" "Employee Name" "Employee Number"