Tuesday, October 21, 2025

How to create custom BI Publisher reports in Oracle ERP Cloud

In this blog, we'll take a look at the typical steps to be followed to create a custom BI Publisher report in Oracle ERP Cloud.


Part 1: Create a Data Model

- Login to Oracle ERP Cloud

- Navigate to Reports and Analytics under Tools section.



- Click on Browse Catalog to open BI Publisher.




- Alternatively, you can directly navigate to BI Catalog by appending /analytics to your ERP Cloud base URL as shown below -




- Now, let's create a New Data Model


- Navigate to New -> Data Model.




- Click + and select Data Source  as SQL Query.





- Let's define the SQL query to show Fixed Asset details in our case.

- Provide a relevant name to the query.

  Select the correct data source: FSCM in our case

  Type of SQL would be Standard SQL



- Here, in the where clause of the query, I'm going to mention two additional conditions using :p_book_type and :p_Asset_Type.
This step would automatically create these parameters for us which we will refine in later steps.


AND d.BOOK_TYPE_CODE = NVL (:p_book_type, d.BOOK_TYPE_CODE)

AND a.ASSET_TYPE=NVL(:p_Asset_Type,a.ASSET_TYPE)



- Click OK

- Click Data -> View to preview the output of the Data Model.

- We would see the default output like this.


- If desired, we can change the number of Rows from the drop down (Max 200) and select Table View instead of Tree View and click View again to see a tabular output of our query.



- Now let's configure the Parameters

- Let's first define the LOVs (List of Values) for our parameters.

- Navigate to List of Values section and click + to create a new LOV



- Let's create a LOV for Book Type using below query

select distinct book_type_code from fa_distribution_history order by 1


- Similarly, let's create one more LOV for Asset Type using below query

select distinct asset_type from  fa_additions_vl order by 1


- Now, let's assign the LOVs to our parameters


- Navigate to parameter p_book_type, select Parameter Type as Menu and assign the Book_Type_LOV under List of Values section





- Similarly, navigate to parameter p_asset_type, select Parameter Type as Menu and assign the Asset_Type_LOV under List of Values section




- Let's navigate to View Data section

- Now we will be able to see the LOVs for both of the parameters

Book Type:



Asset Type:


- Once the desired values are selected, we can click on View to see the data filtered based on the parameter selection.



- Let's click on Save As Sample Data button to save this sample data. This basically saves the structure of the data model and sample data which comes handy in building the report.





- At this stage, we have completed the build of our data model.

- Let's click Save and save the Data Model in the desired folder





Part 2: Create a BI Publisher Report

Navigate to BI Publisher Home

- Click -> New -> Report



- Click Cancel for the default pop-up

- Click on the magnifying class button next to Data Model



- Select the Data Model created in Part 1.




- Click Generate button to automatically generate the first draft of the RTF based report.


- Provide a name for the layout and click Generate




- At this stage, we should see the new report automatically created as shown below.



- Let's click on View a list option and set the Output format and Default format to Excel. There are a number of options that we can use here like PDF, CSV etc. but I'm using Excel for this use case.



- Now, let's click Save to save the report with the relevant name in the desired folder.



- If we wish to further customize/modify the RTF template then we can click on Edit option under the template to download the RTF file.



- Once the RTF file is downloaded, we can open it in MS Word and modify it as needed.


- To upload the modified RTF template in the report, we first have to Delete the original one and upload the new one as a fresh template. There's no Replace option to overwrite the old template at the Report level.


- Finally, let's navigate back to the Catalog, locate our report and click Open to run it.



- We can select the Book Type and Asset Type parameter values and click Apply




- This should produce a Excel file which will contain the actual report data.




Conclusion:

By following the above steps, we can create a data model and RTF template based BI Publisher Reports in Oracle ERP Cloud. To enhance the functionality of the reports further, more features such as Bursting, ESS Jobs, report schedules can be implemented as well.


Share:

Monday, October 6, 2025

How to invoke a Web Service from BI Publisher report in Oracle Fusion Cloud

In Oracle Fusion Cloud, BI Publisher reports are widely used for generating formatted outputs and documents. One of the unique business requirement is to invoke a web service from a BI Publisher report, say to fetch real-time data from a particular web service provider. So how do we achieve this ?

Let's see the step by step process to achieve this.


- For a sample purpose, I'm going to use a Public Web Service that provides details about various Countries. Since this is a public web service, it doesn't need any authentication.

http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso

For example, this web service provides an operation named ListOfCountryNamesGroupedByContinent which is parameter-less and provides full list of Countries along with the Continents they belong to.



Output:



Another operation is FullCountryInfo which accepts a Parameter for Country Code and provides the full country information in return.



Output:


Now, let's see the steps for configuring and using this web service in our BI Publisher reports.

- Login to Oracle Fusion environment

- Add /xmlpserver at the end of URL and enter



- This will get us to the Analytics area

- Click on My Profile and navigate to Administration



- Navigate to Data Sources -> Web Service Connection



- Here, we are going to create a new Web Service Data Source

For this, we are going to refer to this WSDL provided by the web service.

http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL

WSDL typically provides details about all the operations offered by the given web service -




- Let's create a new Data Source as shown below:



Protocol: http in our case

Server: Use the base URL of the web service

Port: Default http port is 80 and default https port is 443

URL Suffix: the remaining part of the WSDL URL

Check the Complex Type box

Set WS-Security to 2002

Authentication Type: Set to HTTP

I'm leaving Username and Password empty since the web service I'm using is a Public service and doesn't need any authentication. If you are using any web-service that needs authentication, then the credentials can be entered here.

- Click Apply to save the Data Source


Let's create two Reports (and hence two Data Models) showcasing various options.


Report 1: No Parameters

List of Countries by Continent


- Let's create a new Data Model of type Web Service




- I'm going to name it CountryList_DataModel

- Here, I'm going to select Data Source as the Web Service Data Source (CountryWebService) we created in previous steps.

- It will automatically populate WSDL URL and Web Service name (CountryInfoService) from our data source.

- Under Method option, we need to choose which Operation we want to use. I'm going to select ListOfCountryNamesGroupedByContinent operation from the drop-down.





- Since this operation doesn't have any parameters, the Parameter section will show no options for configuration



- Let's save and navigate to View Data


- Click View to see the sample output data


- We can see the data provided by web service appears here




- Let's click Save As Sample Data and Create Report using this Data Model


- In the report layout builder, we will be able to see all the columns offered by our Web Service Data Model in left pane.


- Drag and arrange the desired columns in the layout area.




- Click Done and Save the Report


- Run the Report and we will be able to see the output based on the data provided by web service:






Report 2: Parametric Report

Country Info Report


- Let's create a new Data Model

- We are going to use FullCountryInfo operation from our Country Web Service.

Since this operation needs a Parameter for Country Code, let's first create a Parameter P_COUNTRY_CODE in our Data Model



- Now, let's create a Data Set of type Web Service




- I'm going to name it CountryInfo_DM


- Here, I'm going to select Data Source as the same Web Service Data Source (CountryWebService) we used in previous report.


- It will automatically populate WSDL URL and Web Service name (CountryInfoService) from our data source.


- This time, under Method option, I'm going to select FullCountryInfo operation from the drop-down.





- Since this operation needs a parameter, it will automatically show us the Name of the parameter and we can map it to our Data Model parameter P_COUNTRY_CODE as shown below:




- Let's Save it and navigate to View Data


- Here, we can enter a sample country code (e.g. US) in the parameter and click View


- We'll be able to see that the web service has returned the full country details for the given Country Code




- Let's click Save As Sample Data and Create Report using this Data Model


- In the report layout builder, we will be able to see all the columns offered by our Web Service Data Model in left pane.


- Drag and arrange the desired columns in the layout area.





- Click Done and Save the Report


- Run the Report and we will be able to see the web service output based on the Parameter we entered in report parameter:






Conclusion:

Oracle Fusion Cloud offers a robust and secure methods to invoke web services from within BI Publisher reports and consume the data for reporting purposes. This supports reporting based on a parameter-less or parameter-based web service calls which gives us a liberty of making a variety of HTTP or HTTPS web service calls to fetch real-time data for our reporting needs.


Share: