Sunteți pe pagina 1din 39

Oracle Fusion Applications

Using External Data Integration Services

Table of Contents
OVERVIEW .......................................................................................................................................................... 4
INTEGRATION TEMPLATES .................................................................................................................................. 5
FINDING TEMPLATES AND CONTROL FILES ........................................................................................................................... 5
DOWNLOADING TEMPLATES ............................................................................................................................................. 5
PREPARING DATA USING THE XLS TEMPLATE ....................................................................................................................... 5
TEMPLATE STRUCTURE .................................................................................................................................................... 6
TEMPLATE REQUIREMENTS .............................................................................................................................................. 6
DATA INTEGRATION USING MANUAL FLOW ........................................................................................................ 7
FILE FOR IMPORT AND EXPORT .......................................................................................................................................... 7
USING CONTENT MANAGEMENT ....................................................................................................................................... 7
MANAGING FILES FOR IMPORT AND EXPORT ........................................................................................................................ 7
USING THE FILE IMPORT AND EXPORT PAGE ........................................................................................................................ 8
INTERACTING WITH CONTENT MANAGEMENT ...................................................................................................................... 8
SECURITY ...................................................................................................................................................................... 8
SEARCHING RECORDS ...................................................................................................................................................... 9
ACCESSING CONTENT IN A NEW ACCOUNT .......................................................................................................................... 9
ACCOUNT NAMES .......................................................................................................................................................... 9
DELETING FILES.............................................................................................................................................................. 9
UPLOADING FOR IMPORT ................................................................................................................................................. 9
DOWNLOADING FOR EXPORT ............................................................................................................................................ 9
FILE SIZE ..................................................................................................................................................................... 10
LOAD INTERFACE FILE FOR IMPORT PROCESS ..................................................................................................................... 10
IMPORTING DATA INTO APPLICATION TABLES .................................................................................................................... 10
LOADING DATA INTO INTERFACE TABLES ........................................................................................................................... 10
FINDING AND SUBMITTING THE IMPORT PROCESS ............................................................................................................... 11
FLOW AUTOMATION USING WEB SERVICE ........................................................................................................ 12
ACCESSING AUTOMATION SERVICE DETAILS ...................................................................................................................... 12
CONSTRUCTING END POINT URL .................................................................................................................................... 12
WEB SERVICE OPERATIONS ............................................................................................................................................ 13
OPERATION: UPLOADFILETOUCM.................................................................................................................................... 13
OPERATION: SUBMITESSJOBREQUEST.............................................................................................................................. 14
OPERATION: GETESSJOBSTATUS ...................................................................................................................................... 15
OPERATION: DOWNLOADESSJOBEXECUTIONDETAILS .......................................................................................................... 15
TROUBLESHOOTING .......................................................................................................................................... 16
CORRECTING DATA UPLOAD ERRORS ............................................................................................................................... 16
CORRECTING IMPORT PROCESS ERRORS ............................................................................................................................ 16
INBOUND: AN END TO END AUTOMATION FLOW USE CASE ............................................................................... 17
PREREQUISITES ............................................................................................................................................................ 17
FLOW STEPS ................................................................................................................................................................ 17

RESPONSE PAYLOAD ..................................................................................................................................................... 19


OUTBOUND: AN END TO END AUTOMATION FLOW USE CASE ........................................................................... 20
PREREQUISITES ............................................................................................................................................................ 20
FLOW STEPS ................................................................................................................................................................ 20
APPENDIX 1: SECURITY PREREQUISITES TO DOWNLOAD THE ESS JOB EXECUTION DETAILS ................................ 22
APPENDIX 2: SAMPLE CODE FOR PREPARING DATA FILE FOR INBOUND/OUTBOUND FLOW ............................... 24
APPENDIX 3: PREDEFINED TARGET UCM ACCOUNTS .......................................................................................... 26
APPENDIX 4: ESS JOB EXECUTION STATUS ......................................................................................................... 27
APPENDIX 5: TESTING WEB SERVICE USING CLIENT PROXY ................................................................................ 28
STEPS TO IMPORT A NEW CERTIFICATE IN THE KEYSTORE...................................................................................................... 28
CREATE A PROXY CLIENT AND ADD THE OWSM POLICY ...................................................................................................... 28
TEST UPLOAD FILE TO UCM USING WEB SERVICE .............................................................................................................. 29
EXPORT THE CERTIFICATE ............................................................................................................................................... 29
APPENDIX 6: AUTOMATE WEB SERVICE INVOCATION USING JDEVELOPER 11G .................................................. 33
APPENDIX 7: ERROR HANDLING FOR IMPORT JOBS ........................................................................................... 34
ERROR HANDLING PROCESSES ........................................................................................................................................ 34
APPENDIX 8: USING XML TEMPLATES TO GENERATE DATA FILES ....................................................................... 35
INSTALLING AND SETTING UP ORACLE DATA INTEGRATOR .................................................................................................... 35
CREATING SOURCE AND TARGET MODELS ......................................................................................................................... 35
CONFIGURING INTEGRATION PROJECTS ............................................................................................................................. 35
OPENING THE XML TEMPLATE ....................................................................................................................................... 36
USING XML INTEGRATION TEMPLATES TO GENERATE DATA FILES ......................................................................................... 36
FAMILY-LEVEL XML FILES .............................................................................................................................................. 36
PRODUCT-LEVEL XML FILES ........................................................................................................................................... 37
PRODUCT XML FILES .................................................................................................................................................... 37
CREATING INTEGRATION PROJECTS THAT GENERATE DATA FILES FOR IMPORT .......................................................................... 37
KNOWLEDGE MODULES................................................................................................................................................. 38
INTEGRATION INTERFACES .............................................................................................................................................. 38

Overview
You can use external data integration services to load data into Oracle Fusion Applications from external sources, such as legacy
systems and third-party applications.
The integration process includes the following components:

Templates to structure, format, and generate the data file according to the requirements of the target application tables.

File-based load process to load the data file into the interface tables.

Application-specific data import processes to transfer data from interface tables to the application tables in your Oracle
Fusion Applications.

The following flow diagram outlines the steps involved in the process:

Download the File Import


template

Prepare data file using


template

Upload file to Universal


Content Management

Correct data in data file

Load data to interface table

Yes
Errors?

Load process purges


interface table

No

Import data to application


table using import job

Yes
Errors?

Correct data in interface


table using ADFdi
spreadsheet

No

Data successfully uploaded


to product tables

Figure 1. External Data Integration process flow diagram.

4 | USING EXTERNAL DATA INTEGRATION SERVICES

Integration Templates
Oracle Enterprise Repository includes integration templates to help you prepare external data for loading and importing. Each
template includes table-specific instructions, guidelines, formatted spreadsheets, and best practices for preparing the data file for
upload. Use the templates to ensure that your data conforms to the structure and format of the target application tables.
Preparing external data using templates involve the following tasks:

Finding templates and control files

Downloading templates

Preparing data using the XLS template

Finding Templates and Control Files


To find the templates and control files:
1.

Sign in to Oracle Enterprise Repository.

2.

Enter the following information in the search fields.


Field
Enter Search String
Type
Product Family

Value
FBDI
File Based Data Import
<product family>

3.

Click Search.

4.

Select your respective import process from the results pane. For example, Journal Import.

Downloading Templates
To download the templates:
1.

Use the search criteria to locate and select the import process.

2.

Click the Details tab on the lower pane to view the list of files.

Control files describe the logical flow of the data load process.

XLSM templates include the worksheets and macros for structuring, formatting, and generating your data file.
Note
You can use XML templates to import data into Oracle Data Integrator. For more information on using XML
templates to generate data files, see Appendix 7.

3.

Click the template link to download the file. For example, click JournalImportTemplate.xlsm in the Journal Import
process.

Preparing Data using the XLS Template


To prepare your data in a spreadsheet format:
1.

Open the XLS template. The first worksheet in each template provides instructions for using the template.

5 | USING EXTERNAL DATA INTEGRATION SERVICES

Important
If you do not follow the instructions, you will get data load errors and data import failures.

2.

Save the file.

3.

Click the Generate CSV File button.

The macro generates a comma-separated values (CSV) file and compresses the file into a ZIP file. You must transfer the ZIP file
to the content management server.

Template Structure
The integration templates include the following characteristics:

A separate worksheet represents each interface table.

A worksheet column with a header in the first row represents each interface table field.

Each column header contains bubble text or comments that include details about the column, such as the expected
data type, length, and in some cases, other instruction text.

Columns are formatted, where applicable, to match the target field data type to eliminate data entry errors.

The worksheet columns are in the order that the control file processes the data file.

Template Requirements
To minimize the risks of an unsuccessful data load, ensure the following:

Unused columns can be hidden, but they cannot be reordered or deleted.

Important
Deleting or reordering columns causes the load process to fail and results in an unsuccessful data load.

External data must conform to the data type accepted by the control file and process for the associated database
column.

Date column values must appear in the YYYY/MM/DD format.

Amount column values cannot have separators other than a period (.) as the decimal separator.

Negative values must be preceded by the minus (-) sign.

Column values that require whole numbers include data validation to allow whole numbers only.

For columns that require internal ID values, refer to the bubble text for additional guidance about finding these values.

After you finish preparing the data in the sheet, click the Generate CSV File button to generate a ZIP file containing one or more
CSV files.
For more information on using XML templates to generate data files, see Appendix 7.

6 | USING EXTERNAL DATA INTEGRATION SERVICES

Data Integration using Manual Flow


After you generate the ZIP file that contains the CSV data import file, transfer the ZIP file to the content repository.
Use any of the following methods to transfer the file:

File Import and Export page in Oracle Fusion Applications: Manual flow

Oracle Fusion Financials Utility web service: Automated flow

For more information on the Oracle Fusion Financials Utility web service, see the Flow Automation Web Service section.

File for Import and Export


Use the File Import and Export page to access content repositories. For example, each Oracle Fusion Applications instance
connects to a single Oracle WebCenter Content server for content management.
For more information about the use and administration of content management, see:

Oracle WebCenter Content Server User's Guide

Oracle WebCenter Content Server System Administrator's Guide

Using Content Management


Oracle Enterprise Repository provides the objects to upload and download, including templates for external data integration. For
general access to content management, including the metadata and manage accounts, use the Oracle WebCenter Content
Server's standard service user interface.
The following table provides additional resources for more information:
Topic
Content server
Creating WebCenter content accounts
Naming accounts used in import and export processes
Programmatic upload and download to content management
Oracle WebCenter content server document transfer utility
Security
Roles

Resource
Oracle WebCenter Content User's Guide for Content Server
Oracle WebCenter Content System Administrator's Guide for
Content Server
Files for Import and Export section
Oracle WebCenter Content System Administrator's Guide for
Content Server
Oracle Enterprise Repository
Oracle Enterprise Repository
Oracle Fusion Applications Common Security Reference Manual

Managing Files for Import and Export


Import data or export data out of Oracle Fusion Applications using content and processes repositories. Integration specialists
stage data for import and export. Application administrators run processes to import data in the content repositories to the
application transaction tables, or retrieve data exported from the applications.
Managing files for import and export involve the following:

Using the File Import and Export page

Interacting with the content management server

7 | USING EXTERNAL DATA INTEGRATION SERVICES

Using the File Import and Export Page


The File Import and Export page enables you to upload or download content from the document repository of Oracle WebCenter
Content Management. The Search criteria section is limited to the minimum metadata of content management records needed
for file import and export.
To access the File Import and Export page:
1.

From the Navigator, click Tools.

2.

Click File Import and Export.

Interacting with Content Management


When you use the File Import and Export page, you are assigned to one or more accounts in the content management server.
These accounts organize and secure access to the content items.
Interaction between the File Import and Export page and Oracle WebCenter Content requires securing content in an account.
Oracle provides predefined accounts in Oracle WebCenter Content.
File import and export include the following concepts:

Security

Searching records

Accessing content in a new account

Account names

Deleting files

Uploading for import

Downloading for export

File size

Security
Use the File Import and Export Management duty role to access the File Import and Export page. This duty role is included in the
predefined role hierarchy for integration specialist roles and product family administrator roles.
The files in Oracle WebCenter Content Management are associated with an account. The users who have the access privileges
to a specific account can work with content items that belong to that account.

Note
You can only upload and download files to and from the content management that are associated with the accounts that you
are entitled to access.

Oracle WebCenter Content Management server does not support trailing slashes (/). Account names are appended with a dollar
sign ($) to ensure each account is unique. Account names are dynamic so that if they overlap (one name is completely contained
in another, longer name, such as US and US Sales), each account is considered as discrete by access grants. Security such as
virus scanning is handled by the underlying integrated content management.

8 | USING EXTERNAL DATA INTEGRATION SERVICES

Searching Records
A record in Oracle WebCenter Content Management contains metadata used to access the file. When you run a scheduled
process to completion on a file, the record for the file includes a process ID.

Accessing Content in a New Account


When you create a new account in Oracle WebCenter Content Management and the content server is not restarted, the access
to the content in the new account from the File Import and Export page is delayed until the policy store is updated.

Account Names
If you create custom accounts for importing or exporting data, use the following naming conventions for the account:

Do not include a slash (/) at the beginning or use a dollar sign ($) at the end, to avoid partial string matching.

Use a dollar sign and slash ($/) as a separator in the hierarchical structure.

The File Import and Export page transforms account names by removing the dollar signs ($). For example, fin$/journal$/import$
displays as fin/journal/import.
The Remote Introdoc Client (RIDC) HTTP Command-Line Interface (CLI) transforms the account name you specify without the
dollar signs ($) to one that includes them. For example, fin/journal/import becomes fin$/journal$/import$ in Oracle WebCenter
Content Management.
You must transfer files to these predefined accounts in content management that correspond to the interface table or assets. For
a list of the target accounts in each interface table, see Appendix 3.
You can create subaccounts to organize your files. However, you must create the account subordinate to the predefined account
for the asset you are integrating.

Deleting Files
You can delete one file at a time in the File Import and Export page. To delete multiple files simultaneously from the content
repository, use the standard service page in Oracle WebCenter Content Management.

Uploading for Import


To create a record, you must specify an account and the file. The account you specify determines which import process is used.
You can upload any file formats that can be parsed by the content repository, such as any MIME or content types. However, the
format uploaded must conform to the requirements of the import process, such as a CSV file for the Load Interface File for Import
process.

Downloading for Export


The export data processes create files in the content management. Records in the search results table of the File Import and
Export page provide links to the files for download.

9 | USING EXTERNAL DATA INTEGRATION SERVICES

File Size
Upload and download does not apply for the following:
1.

Data compression

2.

File chunking or splitting

The UPLOAD_MAX_DISK_SPACE parameter in the web.xml file determines the maximum allowable file size in the content
management. The default maximum size is 10240000 (10MB).

Load Interface File for Import Process


The Load Interface File for Import process loads external setup or transaction data from the data file on the content management
server to the interface tables. You run this process from the Scheduled Processes page on a recurring basis.
Before running this process, you must:
1.

Prepare your data file.

2.

Transfer the data file to the content management server.

The following table describes the parameters for this process:


Parameter
Import Process
Data File

Description
Select the target import process.
Choose the data file from the choice list.

Importing Data into Application Tables


The final destination for your external data is the application data tables of your Oracle Fusion application.
Importing data into application tables involves the following:

Loading data into interface tables

Finding and submitting the import process

Loading Data into Interface Tables


Interface tables are intermediary tables that store your data temporarily while the system validates format and structure. Run the
Load Interface File for Import scheduled process to load data from the data file into the interface table that corresponds to the
template that you use to prepare the data.
To load your data into interface tables, submit the Load Interface File for Import scheduled process using the following steps:
1.

From the Navigator, click Tools.

2.

Click Scheduled Processes.

3.

Click the Schedule New Process button.

4.

Search and select the Load Interface File for Import job.

5.

On the Process Details page:


i.

Select the target import process.

ii.

Enter the data file name.

10 | USING EXTERNAL DATA INTEGRATION SERVICES

6.

Submit the process.

If the process is successful, the status is SUCCEEDED and the process populates the interface tables. If the process is not
successful, the status is ERROR. For more information on correcting load errors, see the Troubleshooting section.
Note
The data file remains in the content repository after the process ends.

Finding and Submitting the Import Process


To import your data into application tables:
1.

From the Navigator, click Tools.

2.

Click Scheduled Processes.

3.

Click the Schedule New Process button.

4.

Search and select the import process for the target application tables.

5.

On the Process Details page, select the process that corresponds to the data that you are importing. For example,
Journal Import.

6.

If you have prepared your data using the spreadsheet template, select the process shown in the Overview section of
the spreadsheet.

7.

Submit the process.

If the process is successful, the status is SUCCEEDED. The data in the interface tables is validated and the successful records
are imported into the Oracle Fusion application tables. If the process in not successful, the status is ERROR. For more
information on correcting import errors, see the Troubleshooting section.
Note
For more information on the process used for data prepared using the spreadsheet template, see the Instructions and
CSV Generation tab of the spreadsheet template.

11 | USING EXTERNAL DATA INTEGRATION SERVICES

Flow Automation using Web Service


A web service for Oracle Fusion Financials is an artifact that provides a standardized way of integrating other web-based
applications with Oracle Fusion Applications. This web service allows organizations to communicate with Oracle Fusion
Applications without application expertise. The FinancialUtilService web service provides external web service operations, such
as file upload operations to Oracle Universal Content Management (UCM), and service operations to submit ESS jobs from
external applications.
Internal Name: oracle.apps.financials.commonModules.shared.financialUtilService.FinancialUtilService

Accessing Automation Service Details


To access automation service details:
1.

Sign in to Oracle Enterprise Repository.

2.

Search for the service that you need. For example:


Field
Enter Search String
Type

3.

Value
Financial Utilities Service
ADF Service

Select Financial Utility Service from the results section. The bottom page tabs include the following:

Documentation Tab: Service cookbook information

Details Tab: Service path: http://<host:PortNumber>/finFunShared/FinancialUtilService


The "http://<host:PortNumber>" is environment specific whereas
"/finFunShared/FinancialUtilService" is static for a given service version.

Constructing End Point URL


To get the physical end point of any specific instance:
1.

Launch ATK home page and sign in as a functional user.

2.

Navigate to a dashboard or work area page associated with Payables Service.


For example, for the Financial Utility service, navigate to Payables.
In the Payables Invoice workbench, you can see a URL in the browser similar to
https://<domainname>/payables/faces/InvoiceWorkbench.
The <domain name> may be https://<pod-name>.<lba>.xxx.oraclecloud.com.
a. In this URL, take the "https://<domainname>".
For example, for the Payables Invoice workbench URL, use payables.
b.

Then append the static context root that we extracted from OER,
"/finFunShared/FinancialUtilService".
https://<domainname>/finFunShared/FinancialUtilService is the WSDL URL for Financial
Utility Service.

12 | USING EXTERNAL DATA INTEGRATION SERVICES

Web Service Operations


Web Service has the following operations that are explained in the following sections.

uploadFileToUcm

submitEssJobRequest

getEssJobStatus

downloadESSJobExecutionDetails

The following table describes the web services operations used to automate the integration flow steps:
Step

Automation

Financial Service
Operation
uploadFileToUcm

Data file upload to the


content management server
(UCM)
Load the data into the
interface table

Call the FinancialUtilService web service to upload the file to the


UCM server under the FAFusionImportExport security group and
the relevant UCM account.
Call the FinancialUtilService web service to submit the Load
Interface File for Import ESS job.

Import data into the persistent


tables from the interface table

Call the FinancialUtilService web service to submit the relevant


import ESS job.

submitEssJobRequest

Monitor the status of the load


interface process or import
process
View and fix errors during the
import and load process

Call the FinancialUtilService web service and its operation to


monitor the status of the web services.

getEssJobStatus

Call the downloadESSJobExecutionDetails operation of the


FinancialUtilService web service.

downloadESSJobExecution
Details

submitEssJobRequest

Operation: uploadFileToUcm
The uploadFileToUcm method uploads a file to the UCM server based on the document specified. This operation requires
application user access.
The following table lists the parameters for this operation:
Parameter
Name
Document

Return

Description
List of elements, each containing the details of the file to be
uploaded. The details include the file content, file name, content
type, file title, author, security group, and account.
Document Attributes:

Content: File content uploaded onto the UCM server. The


value of the content tag is obtained by converting the file
content into BASE64 encoding. For a sample program for
base64 encoding, see Appendix 2.

FileName: Name of the file on the UCM server.

ContentType: Type of the content uploaded, such as.zip,


.txt, or .csv.

DocumentTitle: Title of the file on the UCM server.

DocumentAuthor: Author of the document.

DocumentSecurityGroup: A fixed value used to import and


export the documents on UCM server from Oracle Fusion.
The security group for all the import process is
FAFusionImportExport.

DocumentAccount: Account under which the file is


uploaded. For more information on the UCM account
associated with the ESS process, see Appendix 3.
Returns the document ID of the uploaded file.

13 | USING EXTERNAL DATA INTEGRATION SERVICES

Parameter
(In/Out)
IN

Mandatory

Type

Yes

java.lang.Strin
g

OUT

No

java.lang.Strin
g

The following sample payload illustrates the Journal Import process:


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:uploadFileToUcm
xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/types/">
<ns1:document
xmlns:ns2="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/">
<ns2:Content>UEsDBBQAAAAIAEhrrkQSDhHq5BLBQYAAAAAAQABAD0AAAATPQEAAAA=</ns2:Content>
<ns2:FileName>TestUploadFileName.zip</ns2:FileName>
<ns2:ContentType>zip</ns2:ContentType>
<ns2:DocumentTitle>Sample File1</ns2:DocumentTitle>
<ns2:DocumentAuthor>finuser1</ns2:DocumentAuthor>
<ns2:DocumentSecurityGroup>FAFusionImportExport</ns2:DocumentSecurityGroup>
<ns2:DocumentAccount>fin$/generalLedger$/import$</ns2:DocumentAccount>
</ns1:document>
</ns1:uploadFileToUcm>
</soap:Body>
</soap:Envelope>

Figure 2. Sample payload for the Journal Import process.

Operation: submitESSJobRequest
The submitESSJobRequest method submits an ESS job request for the specified job definition. This operation requires
application user access.

The following table lists the parameters for this operation:


Parameter
Name
jobPackageName

Description

Mandatory

Type

The ESS job package name for the ESS job.

Parameter
(In/Out)
IN

Yes

java.lang.String

jobDefinitionName

The ESS job definition name for the ESS job.

IN

Yes

java.lang.String

paramList

List of parameters used to call the ESS job. The order of


the parameters is maintained as per the list. The
corresponding entry in the list should be blank when a
given parameter is not passed.
The request ID is returned.

IN

No

java.util.List<jav
a.lang.String>

return

OUT

java.lang.Long

The following sample payload illustrates the Journal Import process:


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:submitESSJobRequest
xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/types/">
<ns1:jobPackageName>/oracle/apps/ess/financials/generalLedger/programs/common</ns1:jobPackageName>
<ns1:jobDefinitionName>JournalImportLauncher</ns1:jobDefinitionName>
<ns1:paramList>1061</ns1:paramList>
<ns1:paramList>Expenses</ns1:paramList>
<ns1:paramList>1</ns1:paramList>
<ns1:paramList>ALL</ns1:paramList>
<ns1:paramList>N</ns1:paramList>
<ns1:paramList>N</ns1:paramList>
<ns1:paramList>N</ns1:paramList>
</ns1:submitESSJobRequest>
</soap:Body>
</soap:Envelope>

Figure 3. Sample payload for the Journal Import process.

14 | USING EXTERNAL DATA INTEGRATION SERVICES

Operation: getEssJobStatus
The getEssJobStatus method obtains the execution status of the submitted ESS job. This operation requires application user
access.
The following table lists the parameters for this operation:
Parameter
Name
requestID

Description

return

Returns the current status of the ESS job.


For the complete list of the job statuses and description, see
Appendix 4.

The request ID of the ESS job.

Parameter
(In/Out)
IN

Mandatory

Type

Yes

java.lang.Long

OUT

java.lang.String

The following sample payload illustrates the Journal Import process:


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getESSJobStatus
xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/types/">
<ns1:requestId>35961</ns1:requestId>
</ns1:getESSJobStatus>
</soap:Body>
</soap:Envelope>

Figure 4. Sample payload for the Journal Import process.

Operation: downloadESSJobExecutionDetails
The downloadESSJobExecutionDetails method downloads the ESS job output and the logs as a zip file. This operation requires
application user access and access to the AttachmentsRead role.
For more information on assigning a user with this access, see Appendix 1.
The following table lists the parameters for this operation:
Parameter
Name
requestID
fileType

return

Description
The request ID of the ESS job.
The file type used to determine the execution details to
download. Specify the file type as log/out to download the log
file and output file respectively.
A list of documents is returned.

Parameter
(In/Out)
IN
IN

OUT

Mandatory

Type

Yes
No

java.lang.String
java.lang.String

List<DocumentD
etailsVORowImp
l>

The following sample payload illustrates the Journal Import process:


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:downloadEssJobExecutionDetails
xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/types/">
<ns1:requestId>35961</ns1:requeqentId>
<ns1:fileType >zip</ns1:fileType>
</ns1:downloadEssJobExecutionDetails>
</soap:Body>
</soap:Envelope>

Figure 5. Sample payload for the Journal Import process.

15 | USING EXTERNAL DATA INTEGRATION SERVICES

Troubleshooting
Correcting Data Upload Errors
If the load of the data file fails, the Load Interface File for Import process ends and shows an error. The Load File to Interface
child process ends as an error or warning. All rows that were loaded by the process are deleted and the entire batch of records is
rejected.
To correct errors::
1.

Review the error logs.

2.

Change any structural or formatting anomalies in the data.

3.

Generate the ZIP file containing the .csv files using the template.

4.

Upload the file to the UCM server and resubmit the Load Interface File for Import process.

5.

Repeat these steps until the process successfully loads all the data.

Correcting Import Process Errors


If the import process fails with errors:
1.

Review the errors in the import log.

2.

Correct the error records using the ADFdi correction spreadsheets.

For a list of import processes and their corresponding ADFdi correction spreadsheets, see Appendix 6.

16 | USING EXTERNAL DATA INTEGRATION SERVICES

Inbound: An End to End Automation Flow Use Case


The Journal Import flow illustrates the inbound data integration flow with Oracle Fusion Applications.

Prerequisites

Import certificate into your local keystore. For more information, see Appendix 5.

Configure the sample web service tester. For more information, see Appendix 5.

Identify the user name and password to call the Import Journals process.

Verify the user access to the AttachmentsRead role in the UCM. For more information, see Appendix 1.

Verify the end point URL for the web service. For more information, see the Automation web service at
https://<domainname>/finFunShared/FinancialUtilService?WSDL.

Flow Steps
1.

Download the Journal Import template, JournalImportTemplate.xlsm, from OER and populate the XLSM sheet with the
journals from the external third-party system. Click the Generate CSV File button to create the ZIP file.

2.

Prepare the payload to upload the file to UCM by invoking the web service.
The payload input parameters for the uploadFileToUcm operation are as follows:
Payload Parameter Name
Content

Value
<Output from the sample
utilEncodeBase.java program>

ContentType

zip

DocumentTitle
DocumentAuthor
DocumentSecurityGroup

<Sample Journal Import>


<USER1>
FAFusionImportExport

DocumentAccount

fin$/generalLedger$/import$

Comments
Run the base64 encoding sample
program to provide the Content value.
This sample program creates the zip file
as input and provides the content output.
Generate CSV File creates a ZIP file.
Other content types include .txt, and .csv.

This is fixed value and must not be


changed.
See Appendix 3 to construct this value
and add a dollar sign ($) as an escape
character before a slash (/).

Use the service tester to call the web service with the payload. Check the response for the document ID. If there is an
error, check the error code in the response.

3.

Prepare the payload to load data to the GL_INTERFACE table from the file on the UCM server, using ESS Process
Load Interface File for Import.
The payload input parameters for the submitESSJobRequest operation are as follows:
Payload Parameter Name
jobPackageName

jobDefinitionName
paramList

Value
oracle/apps/ess/financials/commonMod
ules
/shared/common/interfaceLoader
InterfaceLoaderController
15

paramList

<372750>

17 | USING EXTERNAL DATA INTEGRATION SERVICES

Comments

This is the value of the Import Journals


from the list of values.
This is document ID associated with file
uploaded to UCM in step 2.

paramList
paramList

N
N

Use the service tester to call the web service with the payload. Check the response for the request ID of the ESS
process.
4.

Prepare the payload to verify the status of the request.


The payload input parameters for the getEssJobStatus operation are as follows:
Payload Parameter Name
requestID

Value
<372750>

Comments
The request identifier for the ESS process.

Use the service tester to call the web service with the payload. Check the response for the status of the ESS request. If
the data is uploaded successfully then the execution status is SUCCEEDED. If there is an error, the execution status is
ERROR.
5.

Prepare the payload to import the journals from the interface table to GL_JE_HEADERS and GL_JE_LINES, using the
Journal import ESS process.
To map the ESS parameters to the payload parameters:
i.

Navigate to the Scheduled Processes page.

ii.

Click the Schedule New Process button.

iii.

Find and select the Import Journals process.

iv.

Submit the process by entering the requisite parameters.

v.

Go to the Process Monitor and select the submitted process.

vi.

In the Details region, expand the Parameters node. Review the ordered list of arguments and their values,
and find the arguments IDs that are passed internally.

The payload input parameters for the submitESSJobRequest operation are as follows:
Payload Parameter Name
jobPackageName
jobDefinitionName
paramList
paramList
paramList
paramList
paramList

Value
/oracle/apps/ess/financials/generalLedge
r/programs/common
JournalImportLauncher
1061
Expenses
1
ALL
N

paramList
paramList

N
N

Comments

Data access set identifier


Source
Ledger identifier
Group identifier
Post account errors to suspense
account
Create summary journals
Import descriptive flexfields

Use the service tester to call the web service with the payload. You can see the response back and contains the
request ID of the ESS process.
6.

Prepare the payload to verify the status of the request.


The payload input parameters for the getEssJobStatus operations are as follows:
Payload Parameter Name
requestID

18 | USING EXTERNAL DATA INTEGRATION SERVICES

Value
<372750>

Comments
The request identifier for the ESS process.

Use the service tester to call the web service with the payload. Check the response for the status of the ESS request.
7.

Prepare the payload to retrieve the log/out file associated with the request.
The payload input parameters for the downloadESSJobExecutionDetails operation are as follows:
Payload Parameter Name
requestID

Value
<372750>

Comments
The request identifier for the ESS process.

Use the service tester to call the web service with the payload. Check the response payload for this ESS request.

Response Payload
Run the base64 decode sample program to convert the Content value from the response payload to 212913.zip file.
<env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="Body-M3Y1Wo0PrQ91vGVfDENtkQ22">
<ns0:downloadESSJobExecutionDetailsResponse
xmlns:ns0="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/types/">
<ns2:result xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/"
xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/"
xmlns:ns2="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/types/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:DocumentDetails">
<ns1:Content>UEsDBBQACAAIAPK68UQAAAAAAAAAAAAAAAAKAAAAMjEyOTEzLmxvZz3PwYrDIBCA4btPMQ8gOJoa
6N5CY6CnDd28gCSTRTCa6gS6b99Syl6/ww8/PWg+mL5+pu42iZ4qh+Q55ARDiAR9KDRzLn+gasys
aKtnja3y+779FtWN4/Q9qpAq+zSTolpVWRdltDlro/LB4kb341WFaw9vbf7lkhPTgz8sYfWxkoR0
xChhcK3u0Wrd2guesHF4aixaHBA761onQRsJBo2Yik91pfLqbXskpkXQZ8qlRTwBUEsHCNkrs2Wz
AAAA4QAAAFBLAQIUABQACAAIAPK68UTZK7NlswAAAOEAAAAKAAAAAAAAAAAAAAAAAAAAAAAyMTI5
MTMubG9nUEsFBgAAAAABAAEAOAAAAOsAAAAAAA==</ns1:Content>
<ns1:FileName xsi:nil="true"/>
<ns1:ContentType>zip</ns1:ContentType>
<ns1:DocumentTitle>ESS_L_212913</ns1:DocumentTitle>
<ns1:DocumentAuthor>FIN_USER1</ns1:DocumentAuthor>
<ns1:DocumentSecurityGroup>Attachments</ns1:DocumentSecurityGroup>
<ns1:DocumentAccount xsi:nil="true"/>
<ns1:DocumentName>212913.zip</ns1:DocumentName>
</ns2:result>
</ns0:downloadESSJobExecutionDetailsResponse>
</env:Body>

Figure 6. Sample code to convert the Content value.

19 | USING EXTERNAL DATA INTEGRATION SERVICES

Outbound: An End to End Automation Flow Use Case


The Extract Receivables Transactions flow illustrates the outbound data integration flow with Oracle Fusion Applications. In this
example, a batch of transactions is extracted from the system and sent to the customers. The transactions are extracted in the
output file of the Print Receivables Transaction ESS process.

Prerequisites

Import the certificate into your local keystore. For more information, see Appendix 5.

Configure the sample web service tester. For more information, see Appendix 5.

Identify the user name and password to call the Print Receivables Transaction process.

Verify user access to the AttachmentsRead role in the UCM. For more information, see Appendix 1.

Verify the end point URL for the web service. For more information, see the Automation web service at
https://<domainname>/finFunShared/FinancialUtilService?WSDL.

Flow Steps
1.

Prepare the payload to call the Print Receivables Transactions ESS process.
To map the ESS parameters and the values for preparing the payload, see Step 5 in the inbound flow example.
The payload input parameters for the submitESSJobRequest operation are as follows:
Payload Parameter Name
jobPackageName
jobDefinitionName
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList
paramList

Value
oracle/apps/ess/financials/receivables/
transactions/shared
PrintReceivablesTransaction
204
NEW
TRX_NUMBER
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
#NULL
Default Invoice Template
Default Credit Memo Template
Default Debit Memo Template
Default Chargeback Template
No

Comments

Business Unit Identifier


Transactions to Print
Order By
Batch Name
Transaction Class
Transaction Type
Customer Class
From Customer
To Customer
From Customer Account Number
To Customer Account Number
From Transaction Number
To Transaction Number
Installment Number
From Print Date
To Print Date
Open Invoices Only
Invoice Template Name
Credit Memo Template Name
Debit Memo Template Name
Chargeback Template Name
Itemized Tax by Line

Use the service tester to call the web service with the payload. Check the response for the request ID of the ESS
process.

20 | USING EXTERNAL DATA INTEGRATION SERVICES

2.

Prepare the payload to verify the status of the request.


The payload input parameters for the getEssJobStatus operation are as follows:
Payload Parameter Name
requestID

Value
<372750>

Comments
The request identifier for the ESS process.

Use the service tester to call the web service with the payload. Check the response for the status of the ESS request.
3.

Prepare the payload to retrieve the log file or the out file associated with the request.
The payload input parameters for the downloadESSJobExecutionDetails operation are as follows:
Payload Parameter Name
requestID

Value
<372750>

Comments
The request identifier for the ESS process.

Use the service tester to call the web service with the payload. Check the response for the log/out file associated with
the ESS request.

21 | USING EXTERNAL DATA INTEGRATION SERVICES

Appendix 1: Security Prerequisites to Download the ESS Job Execution Details


ESS job and output files are placed in the Attachments Security group under the Universal Content Management server. You
must have access to the security group called Attachments to download the log file or the out file using the web service
operation, downloadESSJobExecutionDetails.
To grant access to the AttachmentsRead role:
1.

Navigate to the Setup and Maintenance work area.

2.

Search for the Manage Duties task.

3.

Click the Go to Task icon to navigate to the Entitlements Server page.

Figure 7. Use the Manage Duties task to navigate to the Entitlements Server page.

4.

Review the user access to the security group, AttachmentsRead.


i.

Click on Search Users and select fscm as the application name.

ii.

Enter the user name in the query panel and click Search.

iii.

Select the user name and click Open User in the results region. For example, FINUSER1.

Figure 8. Review user access to security group.

22 | USING EXTERNAL DATA INTEGRATION SERVICES

5.

Click the External Roles Assignments tab and verify that the user is granted the Employee role.

Note
You cannot proceed to the next step until the user is granted the Employee role.

6.

Select Attachments User from the Employee role.

7.

Click Open Role.

Figure 9. Verify users access to AttachmentsRead

8.

Click the Application Role Mapping tab and verify that AttachmentsRead is associated with the user for the
application name IDCCS. If this association does not exist, click the Create icon to grant AttachmentsRead access to
the user.

9.

Verify that the Attachments security group is listed in the UCM Search page.

Figure 10. Search page for UCM to identify whether user has access to Attachments security group.

23 | USING EXTERNAL DATA INTEGRATION SERVICES

Appendix 2: Sample Code for preparing data file for Inbound/Outbound Flow
The following example illustrates sample code for preparing a data file for the inbound flow.
Sample File Name: utilEncodeBase.java
import
import
import
import
import
import
import

java.io.ByteArrayOutputStream;
java.io.File;
java.io.FileInputStream;
java.io.FileReader;
java.io.IOException;
java.io.InputStream;
org.apache.commons.codec.binary.Base64;

public class utilEncodeBase {


public utilEncodeBase() {
super();
}
public static void main(String[] a) throws Exception {
// Enter the filename as input
File br = new File(a[0]);
// Convert the file into Byte
byte[] bytes = loadFile(br);
// Call the api for Base64 encoding
byte[] encoded = Base64.encodeBase64(bytes);
String encStr = new String(encoded);
// Print the file
System.out.println(encStr);
}

private static byte[] getByteArray(String fileName) {


File file = new File(fileName);
FileInputStream is = null;
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead;
byte[] data = new byte[16384];
try {
is = new FileInputStream(file);
while ((nRead = is.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, nRead);
}
buffer.flush();
} catch (IOException e) {
System.out.println("In getByteArray:IO Exception");
e.printStackTrace();
}
return buffer.toByteArray();
private static byte[] loadFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
long length = file.length();
if (length > Integer.MAX_VALUE) {
// File is too large
}
byte[] bytes = new byte[(int)length];
int offset = 0;
int numRead = 0;
while (offset < bytes.length &&
(numRead = is.read(bytes, offset, bytes.length - offset)) >=
0) {
offset += numRead;
}
if (offset < bytes.length) {
throw new IOException("Could not completely read file " +
file.getName());
}
is.close();
return bytes;

}
}

Figure 11. Sample code for the inbound flow.

24 | USING EXTERNAL DATA INTEGRATION SERVICES

The following example illustrates sample code for preparing a data file for the outbound flow.
Sample FileName: utilDecodeBase.java
import
import
import
import
import
import
import

java.io.ByteArrayOutputStream;
java.io.File;
java.io.FileInputStream;
java.io.FileOutputStream;
java.io.FileReader;
java.io.IOException;
java.io.InputStream;

import org.apache.commons.codec.binary.Base64;
public class utilDecodeBase {
public utilDecodeBase() {
super();
}

public static void main(String[] a) throws Exception {


System.out.println("Start");
// Read the inputsteam
String encStr = a[0];
// Run the api to perform the decoding
byte[] rbytes = Base64.decodeBase64(encStr.getBytes());
// Put the location for the output file
FileOutputStream os = new FileOutputStream("/tmp/Test1234.zip");
os.write(rbytes);
os.close();
}
}

Figure 12. Sample code for the outbound flow.

25 | USING EXTERNAL DATA INTEGRATION SERVICES

Appendix 3: Predefined Target UCM Accounts


You can transfer data files to predefined accounts in the Universal Content Management server that correspond to the interface
table or assets.
To find the UCM account:
1.

Sign in to Oracle Enterprise Repository.

2.

Enter the following information in the search fields.


Field
Enter Search String
Type
Product Family

Value
FBDI
File Based Data Import
<product family>

3.

Click Search.

4.

Select your respective import process from the results pane. For example, Journal Import.

5.

Click the Overview tab on the lower pane to view the UCM account details.

The following table identifies the predefined accounts for the interface table or assets.
Interface Table
Payables Standard Invoice Import
Supplier Bank Account Import
Autoinvoice Import
Receivables Standard Receipt Import
Customer Import
China Value added Tax Invoice Import
BAI2 Format Bank Statements Import
EDIFACT FINSTA Format Bank Statements Import
ISO200022 CAMT053 Format Bank Statements Import
SWIFT MT940 Format Bank Statements Import
Fixed Asset Mass Additions Import
Fixed Asset Mass Adjustments Import
Fixed Asset Mass Retirements Import
Fixed Asset Mass Transfers Import
Fixed Asset Units of Production Import
Intercompany Transaction Import
Journal Import
Chart Of Accounts Segment Values and Hierarchies Import
General Ledger Budget Balance Import
Tax Configuration Content Import
Import Blanket Purchase Agreements
Import Contract Purchase Agreements
Import Purchase Orders
Import Requisitions
Import Suppliers
Import Supplier Sites
Import Supplier Site Contacts
Import Supplier Site Assignments
Project Enterprise Resource Import
Project Unprocessed Expenditure Item Import
Cycle Count Import
Inventory Reservation Import
Inventory Transaction Import
Item Import
Receiving Receipt Import
Shipment Request Import

26 | USING EXTERNAL DATA INTEGRATION SERVICES

Predefined Account
fin/payables/import
fin/receivables/import

fin/cashManagement/import

fin/assets/import

fin/intercompany/import
fin/generalLedger/import
fin/budgetBalance/import
fin/tax/import
prc/blanketPurchaseAgreement/import
prc/contractPurchaseAgreement/import
prc/purchaseOrder/import
prc/requisition/import
prc/supplier/import

prj/projectManagement/import
prj/projectCosting/import
scm/cycleCount/import
scm/inventoryReservation/import
scm/inventoryTransaction/import
scm/item/import
scm/receivingReceipt/import
scm/shipmentRequest/import

Appendix 4: ESS Job Execution Status


The following table lists the main set of execution statuses of the ESS jobs and their descriptions. These statuses are returned by
the getEssJobStatus operation.
ESS Job Execution Status

Description

User Action

COMPLETED

Request has completed.

This is an intermediary status and is returned when


the child processes are spawned.

Check the status of the ESS job to ascertain


whether the return status changes to
SUCCEEDED or ERROR.

SUCCEEDED

Request is blocked by one or more


incompatible requests.
Request completed and was successful.

ERROR

Request ran and resulted in error.

ERROR_AUTO_RETRY
WARNING

Request ran, resulted in an error, and is


eligible for automatic retry.
Request ran and resulted in a warning.

RUNNING

Request is processed.

Download the details of the process. Check the


reason for the warnings and take the necessary
action to correct the input data.
No action.

CANCELED

Request was cancelled.

Resubmit the request if required.

BLOCKED

27 | USING EXTERNAL DATA INTEGRATION SERVICES

Wait for the completion of the incompatible request


and resubmit the process.
Check the details of the completed process and
proceed with any post processing.
Download the details of the error out process and
correct the data.
Resubmit the process after some time.

Appendix 5: Testing Web Service using Client Proxy


This implementation illustrates using JDeveloper to test the web service operation by performing the following steps:
1.

Import a new certificate in the keystore (for Internet Explorer).

2.

Create a web service client proxy and add the OWSM policy.

3.

Test the web service.

Steps to Import a New Certificate in the Keystore


1.

2.

Export the certificate from the browser to the file, using the following steps:
i.

Access the SSL URL for any web service.

ii.

Click the lock icon next to the URL.

iii.

Select Connections tab and click the Certificate Information link.

iv.

Select Details.

v.

Select Copy to File.

vi.

Click Next.

vii.

Change the encoding to Base-64 and click Next.

viii.

Provide the file name and click Finish.

Export the certificate from the browser to the file, using the following steps if Internet Explorer is not available on your
machine.
i.

Access the SSL URL for any web service.

ii.

Copy the content from the XML element dsig:X509Certificate.

iii.

Create a <File name>.cer file with begin and end certificate tags and add the certificate content from the
previous step.

3.

Type the following command at the command prompt:


keytool -import -trustcacerts -file <filename> -alias <aliasname> -keystore defaultkeystore.jks - storepass welcome1

Create a Proxy Client and Add the OWSM Policy


1.

Create a new project and select Web Services Proxy.

2.

Set the client style to JAX-WS Style.

3.

Select the web service description, for example,


https://<Hostname>.<Domain Name>:<Port No>/finFunShared/FinancialUtilService?WSDL.

4.

Select the Copy WSDL Info Project check box. Specify the default mapping options.

5.

Specify the asynchronous method.

6.

Select the Do not generate any asynchronous methods option.

7.

Click Finish.

28 | USING EXTERNAL DATA INTEGRATION SERVICES

8.

Once the proxy client code is generated, add the following variables:

jksFPath: The file location that has the certificate to add to the keystore. For example,
D:\fintuilwdestapp\Project5\client.jks

jksPassword: The password to access the WSDL. For example, Welcome1.

trustStore: The path where the certificates are stored, used during the java installation by default.

trustStorePassword: The password for truststore.

Username: The user name to sign in to the service.

Password: Password for the user to sign in to the service. For example, Welcome1.

endpointNonSSLURL: The URL for the FinUtilService service.

serviceName: The schema of the service used to add the policies.

securityFeature: The policy used to add to the service.

Note
An example of a message protection policy is policy:oracle/wss_username_token_over_ssl_client.

9.

Create the method invokeServiceWithUsernameTokenMessageProtectionPolicy() to add policy.

Test Upload File to UCM using Web Service


To test the file upload to UCM:
1.

Create a sample payload associated with the uploadFileToUcm operation.

2.

Create the method invokeUpload to call the operation uploadFileToUcm.

Export the Certificate


To export the certificate from the browser:
1.

Copy the content from the XML element dsig:X509Certificate.

29 | USING EXTERNAL DATA INTEGRATION SERVICES

Figure 13. Sample content of dsig:X509Certificate.

2.

Create a .cer file with begin and end certificate tags.

Figure 14. Sample certificate file (<Filename>.cer).

30 | USING EXTERNAL DATA INTEGRATION SERVICES

3.

Add the variables to the proxy client code.

FinancialUtilServiceSoapHttpPortClient.java
public class FinancialUtilServiceSoapHttpPortClient
{
@WebServiceRef
private static FinancialUtilService_Service financialUtilService_Service;
private static final AddressingVersion WS_ADDR_VER = AddressingVersion.W3C;
// Add the additional variables
private final String jksFPath = "D:\\fintuilwdestapp\\Project5\\client.jks";
private final String jksPassword = "Welcome1";
private final String trustStore = "C:\\ProgramFiles\\Java\\jdk1.7.0_51\\jre\\lib\\security\\cacerts";
private final String trustStorePassword = "";
private final String username = "finuser1";
private final String password = "Welcome1";
private String endpointNonSSLURL = "https://efops-rel9st1-cdrm1-externalfin.us.oracle.com/finFunShared/FinancialUtilService";
private static final QName servicename = new
QName("http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/","FinancialUt
ilService");
private SecurityPolicyFeature[] securityFeature = new SecurityPolicyFeature[] { new
SecurityPolicyFeature("policy:oracle/wss_username_token_over_ssl_client_policy") };
private FinancialUtilService financialUtilService;
// End add the additional variables
public static void main(String [] args)
{ System.out.println("inside main");
FinancialUtilServiceSoapHttpPortClient f = new FinancialUtilServiceSoapHttpPortClient();
f.invokeServiceWithUsernameTokenMessageProtectionPolicy();
String retStatus = f.invokeUpload();
//long submittedJobId = f.invokeSubmitJob(retStatus);
//f.invokeEssJobStatus(submittedJobId);
//f.invokeDownloadESSJobExecDetails(submittedJobId);
}

Figure 15. Test the web service.

4.

Create the method invokeServiceWithUsernameTokenMessageProtectionPolicy() to add the policy.

public void invokeServiceWithUsernameTokenMessageProtectionPolicy() {


System.out.println("inside invokeservice");
URL wsdlDoc = null;
try {
wsdlDoc = new URL("https://efops-rel9st1-cdrm1-externalfin.us.oracle.com/finFunShared/FinancialUtilService?wsdl");
}catch(MalformedURLException e){
e.printStackTrace();
}
System.setProperty("javax.net.ssl.trustStore", trustStore);
System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword);
financialUtilService_Service = new FinancialUtilService_Service(wsdlDoc, servicename);
financialUtilService =
financialUtilService_Service.getFinancialUtilServiceSoapHttpPort(securityFeature);
WSBindingProvider wsbp = (WSBindingProvider)financialUtilService;
Map<String, Object> requestContext = wsbp.getRequestContext();
requestContext.put(BindingProvider.USERNAME_PROPERTY, username);
requestContext.put(BindingProvider.PASSWORD_PROPERTY, password);
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointNonSSLURL);
requestContext.put(ClientConstants.WSSEC_KEYSTORE_TYPE, "JKS");
requestContext.put(ClientConstants.WSSEC_KEYSTORE_LOCATION, jksFPath);
requestContext.put(ClientConstants.WSSEC_KEYSTORE_PASSWORD, jksPassword);
System.out.println("Finished invokeservice");
}

Figure 16. Sample method code to add the policy.

31 | USING EXTERNAL DATA INTEGRATION SERVICES

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:uploadFileToUcm
xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/types/">
<ns1:document
xmlns:ns2="http://xmlns.oracle.com/apps/financials/commonModules/shared/financialUtilService/">
<ns2:Content>UEsDBBQAAAAIAEhrrkQSDhHq5BLBQYAAAAAAQABAD0AAAATPQEAAAA=</ns2:Content>
<ns2:FileName>TestUploadFileName.zip</ns2:FileName>
<ns2:ContentType>zip</ns2:ContentType>
<ns2:DocumentTitle>Sample File1</ns2:DocumentTitle>
<ns2:DocumentAuthor>finuser1</ns2:DocumentAuthor>
<ns2:DocumentSecurityGroup>FAFusionImportExport</ns2:DocumentSecurityGroup>
<ns2:DocumentAccount>fin$/generalLedger$/import$</ns2:DocumentAccount>
</ns1:document>
</ns1:uploadFileToUcm>
</soap:Body>
</soap:Envelope>

Figure 17. Payload for the operation uploadFileToUCM.

private String invokeUpload() {


System.out.println("inside invokeupload");
ObjectFactory objectFactory = new ObjectFactory();
DocumentDetails documentDet = new DocumentDetails();
String fileNameWithPath = "C:\\Users\\NGARLAPA\\Desktop\\Sample.zip";
String fileName = "Sample.zip";
String contentType = "zip";
String title = "Journals Import";
String ucmAccountInfo = "fin$/generalLedger$/import$";
String ucmSecurityGroup = "FAFusionImportExport";
documentDet.setContent(objectFactory.createDocumentDetailsContent(getByteArray(fileNameWithPath)));
documentDet.setContentType(objectFactory.createDocumentDetailsContentType(contentType));
documentDet.setDocumentAccount(objectFactory.createDocumentDetailsDocumentAccount(ucmAccountInfo));
documentDet.setDocumentAuthor(objectFactory.createDocumentDetailsDocumentAuthor(username));
documentDet.setDocumentSecurityGroup(objectFactory.createDocumentDetailsDocumentSecurityGroup(ucmSecuri
tyGroup));documentDet.setDocumentTitle(objectFactory.createDocumentDetailsDocumentTitle(title));
documentDet.setFileName(objectFactory.createDocumentDetailsFileName(fileName));
UploadFileToUcm uploadFileToUcm = new UploadFileToUcm();
uploadFileToUcm.setDocument(documentDet);
UploadFileToUcmResponse retStatus = null;
try {
retStatus = financialUtilService.uploadFileToUcm(uploadFileToUcm);
System.out.println("File successfully Uploaded.Status is:" + retStatus.getResult());
} catch (Exception e) {
e.printStackTrace();
}
return retStatus.getResult();
}
private byte[] getByteArray(String fileName) {
File file = new File(fileName);
FileInputStream is = null;
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead;
byte[] data = new byte[16384];
try {
is = new FileInputStream(file);
while ((nRead = is.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, nRead);
}
buffer.flush();
} catch (IOException e) {
System.out.println("In getByteArray:IO Exception");
e.printStackTrace();
}
return buffer.toByteArray();
}

Figure 18. Method invokeUpload () to invoke the operation uploadFileToUcm.

32 | USING EXTERNAL DATA INTEGRATION SERVICES

Appendix 6: Automate Web Service Invocation using JDeveloper 11g


The automation for the Web Services invocation includes the following:

Compile the Web Service client proxy project created in Appendix 5.


o

The following are the list of JDeveloper 11g jars to added to the deployment profile:

weblogic.jar : $MW_HOME/wlserver_10.3/server/lib/weblogic.jar

jrf.jar: $MW_HOME/oracle_common/modules/oracle.jrf_11.1.1/jrf.jar

Create the deployment profile for this project


o

Click on Project Properties.

Click Deployment.

Click New.

Select Archive Type as JAR File and specify the name.

Select the Include Manifest File (META-INF/MANIFEST.MF) option and specify the value for Main Class.
For example,
oracle.apps.finacial.testUtil.proxy.client.FinancialUtilServiceSoapHttpPortClient

Generate the jar file and execute the following command.


For example, java classpath $CLASSPATH jar <JAR File Name>

33 | USING EXTERNAL DATA INTEGRATION SERVICES

Appendix 7: Error Handling for Import Jobs


To address errors generated during the import process, use the following methods:

If an ADFdi correction spreadsheet is available, use the spreadsheet to correct the data in the interface table and
resubmit the import process.

If no correction spreadsheet is available, use the purge process to delete all the records from the interface table.
Correct the data in the data file and reupload the file to the UCM account.

Repeat the process until your data is successfully imported.

Error Handling Processes


The following table lists the error handling processes for errors during the import process for each interface table.
Import Process
Import Payables Invoices

Correction Spreadsheet
CorrectImportErrors.xlsx

Import AutoInvoice

ManageInvoiceErrors
Spreadsheet.xlsx

Process Receipts through


Lockbox

ManageLockboxErrors.xlsx

Fixed Asset Mass Additions


Import
Fixed Asset Mass Adjustments
Import
Fixed Asset Mass Retirements
Import
Fixed Asset Mass Transfers
Import

PrepareSourceLines.xlsx

Journal Import

JournalCorrections.xlsx

UpdateMassFinancialTrans
action.xlsm
UpdateMassRetirements.xls
m
UpdateMassTransfers.xlsm

34 | USING EXTERNAL DATA INTEGRATION SERVICES

Steps
In the Invoices work area, navigate to Correct Import Errors in the
Tasks region.
In the Billing work area, navigate to the Review AutoInvoice Errors
table.
Click Number of Errors.
Select the Manage AutoInvoice Lines spreadsheet.
In the Receivables work area, navigate to Receivable Balances.

In the Fixed Assets work area, navigate to Additions.


Select Pending Source Lines.
In the Fixed Assets work area, navigate to Financial Transactions.
Select Pending Mass Financial Transactions.
In the Fixed Assets work area, navigate to Retirements.
Select Pending Retirements.
In the Fixed Assets work area, navigate to Pending Mass
Transfers.
Select Pending Mass Transfers.
In the Journals work area, navigate to Correct Import Errors in the
Tasks region.

Appendix 8: Using XML templates to Generate Data Files


Oracle Enterprise Repository includes XML integration templates that you use with Oracle Data Integrator (ODI) to generate the
import files from your external data. ODI provides a solution for integrating complex data from a variety of sources into your
Oracle Fusion Applications.
To use the XML templates and generate the import files, you must:

Install and set up Oracle Data Integrator

Create source and target models

Create integration projects

Note
For Oracle Cloud implementations, you must upload the ZIP file to the content management repository in Oracle Cloud. For
non-Cloud implementations, you can streamline the data integration process by installing the content management
document transfer utility, which uses ODI to transfer the ZIP file.

Installing and Setting Up Oracle Data Integrator


To use the XML templates for generating the import files:
1.

Install Oracle Data Integrator.


For more information about installing Oracle Data Integrator, see Oracle Fusion Middleware Installation Guide for
Oracle Data Integrator.

2.

Set up Oracle Data Integrator.


For more information about setting up Oracle Data Integrator, see Oracle Fusion Middleware Developer's Guide for
Oracle Data Integrator.

Creating Source and Target Models


Create the ODI models for both the source and target datastores. You determine the source models based on the system or
technology of the external data that you to import into your Oracle Fusion application. Create the target models by importing the
XML files that you download from Oracle Enterprise Repository.
For more information on creating a reverse engineering a model, see Oracle Fusion Middleware Developer's Guide for Oracle
Data Integrator.

Configuring Integration Projects


Create and configure an integration project by selecting the knowledge modules, creating the interfaces, and mapping the source
and target datastores.
For more information on creating an integration project, see Oracle Fusion Middleware Developer's Guide for Oracle Data
Integrator.

35 | USING EXTERNAL DATA INTEGRATION SERVICES

Opening the XML Template


To prepare your data in Oracle Data Integrator, download the XML templates using the following steps:
1.

Import the family-level template as a model folder.

2.

Import the product-level template as a model folder within the family-level model folder.

3.

Import the product template as a model within the product-level model folder.

4.

Create the integration project.

5.

Create the package.

6.

Add and configure these elements:

7.

Integration projects

ODIZip tool

Content management document transfer utility

Execute the package. The package generates the CSV file and compresses it into a ZIP file.

Using XML Integration Templates to Generate Data Files


Use the XML templates in the Oracle Data Integrator to prepare your external data for the load and import process.
Oracle Enterprise Repository includes three types of XML templates that you import as target models in your Oracle Data
Integrator repository:

Family level

Product level

Product

Family-Level XML Files


A family-level XML file is common to a group of product-level model folders and product models.
To use family-level XML files, consider the following points:

The family-level XML file supports all of the Oracle Enterprise Repository assets in the family, for example, Oracle
Fusion Financials or Oracle Fusion Human Capital Management.

Import the family-level XML file into your Oracle Data Integrator repository prior to importing other XML files.

Import one family-level XML file as a model folder for each family of products.

Import each family-level XML file as a top-level model folder.

Import the family-level XML file one time; it supports all subsumed product-level model folders.

Select the Synonym mode Insert Update as the import type.

36 | USING EXTERNAL DATA INTEGRATION SERVICES

Product-Level XML Files


A product level XML file is common to a group of product models.
To use product-level XML files, consider the following points:

The product-level XML file supports all of the Oracle Enterprise Repository assets in the product line, for example,
Fixed Assets, General Ledger, or Payables.

Import one product-level XML file as a model folder for each line of products.

Import the product-level XML file as a model folder into your Oracle Data Integrator repository.

Import the family-level XML file before you import product XML files.

Import each product-level XML file as a midlevel model folder within the appropriate family-level model folder.

Import the product-level XML file one time; it supports all subsumed product models.

Select the Synonym Mode Insert Update as the import type.

Product XML Files


A product XML file represents a specific Oracle Enterprise Repository interface table asset.
To use product XML files, consider the following points:

Import one product XML file as a model for each interface table or set of tables, for example, MassAdditions.

Import the product XML file as a model into your Oracle Data Integrator repository after you import the product-level
XML file.

Import each product XML file as a model within the appropriate product-level model folder.

Import each product XML file one time.

Select Synonym Mode Insert Update as the import type.

The model is based on File technology.

After you import the product model, connect the model to the correct logical schema.

Creating Integration Projects That Generate Data Files for Import


When you use Oracle Data Integrator to generate the import data files from the external data sources, you must configure an
integration project.
Integration projects are collections of ODI components that provide the procedural details of an integration from a source to a
target. The source is your external data and the target is the import data file that you load and import into your Oracle Fusion
Applications.
To create your integration project, you configure the following components:

Knowledge modules

Integration interfaces

37 | USING EXTERNAL DATA INTEGRATION SERVICES

Knowledge Modules
Knowledge modules contain the information that Oracle Data Integrator requires to perform a specific set of tasks against a
specific technology or set of technologies. For example, check knowledge modules ensure that constraints on the sources and
targets are not violated, and integration knowledge modules load data to the target tables.
Knowledge modules that you import into your integration project depend on the source and target technologies, as well as other
integration specific rules and processes. Multiple types of knowledge modules exist in ODI. Use the SQL file to append module to
create the import data file.

Integration Interfaces
Integration interfaces contain the sets of rules that define the loading of data from one or more sources to the target.
For the integration interfaces:

The source is the datastore from your external data model.

The target is the interface table datastore, which is the CSV file from your interface table model.

After you set up the source and target datastores, you map the target fields to the source fields, or map source field values to
target fields or constants.

38 | USING EXTERNAL DATA INTEGRATION SERVICES

Oracle Corporation, World Headquarters

Worldwide Inquiries

500 Oracle Parkway

Phone: +1.650.506.7000

Redwood Shores, CA 94065, USA

Fax: +1.650.506.7200

CONNECT WITH US

blogs.oracle.com/oracle
Copyright 2014, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the

facebook.com/oracle
twitter.com/oracle
oracle.com

contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other
warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or
fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are
formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any
means, electronic or mechanical, for any purpose, without our prior written permission.

S-ar putea să vă placă și