Written by Shubham, Senior Consultant at Fusion Practices
This blog covers how to call Business Intelligence Publisher (BIP) report via Oracle integration cloud, while developing an Integration with Oracle Fusion or any Third-party system which is often a common requirement by businesses.
Let’s take a business scenario where you will need to call a BIP report from Oracle Integration Cloud (OIC).
- You are developing an outbound integration which is taking supplier master data from fusion via BIP report to update the downstream system database with new supplier.
- You are developing an inbound integration which is creating AP invoices in the fusion, to reconcile the invoices back to third party system (Supplier) You will need to call BIP report which will bring you the status and error message for each Invoice.
- You are developing an integration that is calling ETL report to fetch Customer details from Fusion to PaaS Database for further transformation
There are many scenarios where you need to call the BIP report from Oracle integration cloud (OIC). This article focuses on how to invoke BIP SOAP API from OIC and what are the prerequisite steps to call a BIP report.
Prerequisite:
- BI SOAP API URL: https://<server>/xmlpserver/services/v2/ReportService?wsdl
Replace <server> with your Fusion URL.
- Fusion Credentials: To call the BI SOAP API.
- Required Roles in Fusion: Integration Specialist
Click Here for more details.
Once you have all prerequisites, you can start your integration with Oracle Integration Cloud.
- Define Connection for BIP Report in OIC
To define a connection, Go to ICS Home à Integrations à Connections
- Click Create button from Connections page.
- Search SOAP and select SOAP adapter.
- Enter below information and click on Create button.
- Name: Meaningful Connection name of your choice.
- Identifier: It will automatically get picked from the Name. However, you can update this
- Role: Select Trigger and Invoke
Click here to understand usage of Connection Role.
- Description: Provide some meaningful description. It’s optional field.
- After clicking on Create, it will open Connection property.
- Configure Connection property
- WSDL URL: Populate WSDL URL created in Prerequisite step 1
- Security Policy: select Username and Password Token
Click Here for more details.
- Populate Fusion Credentials created in Prerequisite step 2
- Click Test button from upper right corner then click Validate and Test.
- If all details are valid, then your connection will reach 100%.
- Now you can use this SOAP Connection as a Trigger / Invoke point in the ICS Integration.
- Create Integration:
To call BIP report, first you need to create an OIC Integration. Here we will create Scheduled Integration using the above configured SOAP connection.
- Create Scheduled Integration.
- Enter below information and click on Create button.
- Name: Meaningful name of your integration.
- Identifier: It will automatically be populated based on Name chosen.
- Version: It will define the version of your integration.
- Description: Optional field.
- Package: To group same kind of Integration into single logical package.
Click Here for more details
- Drop BI SOAP Connection just besides the Schedule Activity.
- From the wizard enter the endpoint name, select Next. From the Next screen select Operation name “runReport”, select Next. From the Next screen Configure Headers (Non Mandatory) information and finish the wizard.
- Open the Mapper and map the request parameters.
Here are some of the Parameter which you need to use while calling BIP report.
- attributeFormat: It defines the output format of the requested report. Valid values are pdf, rtf, html, excel, excel2000, mhtml, csv, data, flash, and powerpoint.
- attributeLocale: It defines the Locale for the report.
- reportAbsolutePath: It defines the absolute path to the report in the BI Publisher repository. For example: /HR Manager/HR Reports/Employee Listing.xdo.
- sizeOfDataChunkDownload: Set this parameter to -1 to return all data back to the client.
- parameterNameValues: You can pass the report parameters and its value dynamically using this field.
Click Here to know more.
- BIP report will return report Bytes in encoded format, to read the data first we need to decode and then we will assign it to some variable for future use.
- Drop Assign Action into Integration template and click on Create button after populating below information.
- Name: Meaningful name of the Assign activity.
- Description: Optional Description.
- Add variable by clicking on right bottom Plus(+) icon.
- Provide Meaningful name to added variable and click on update value icon.
- From components panel at bottom left corner search for decodeBase64 and drag and drop to the Expression builder, then take the reportbytes from BIP Report SOAP connection response and pass it to decodeBase64 function.
- Click on Validate (Upper Right corner) and Save and Close your Integration.
Integration is completed now, and you can Activate the integration.
To run the Integration, click on Adhoc icon or Schedule your integration from Scheduler menu.
Note: Ensure that an incoming structured payload from a BIP does not exceed 10 MB in size. If the size of the payload exceeds 10 MB, an HTTP error code message is returned to the client.