How To – Oracle Fusion BIP Schedule Report Services

August 30, 2023 Oracle Fusion
How To - Oracle Fusion BIP Schedule Report Services

Introduction

There are many use cases where there is a need to get data from Fusion that is not readily available via
Oracle-provided web services, HCM extracts, or BICC extracts. In such cases, it is an established practice
that we write the data model and report in BIP and then invoke the report via the BIP web service
(ExternalReportWSSService). ExternalReportWSSService, a SOAP-based web service, has an operation
called “runReport” to which one can pass the report name you want to run along with the parameters. In
response, you will get the output “reportBytes” as a base64 encoded string, which you can “decode” to get the content.

https://hosname/xmlpserver/services/ExternalReportWSSService

However, “runReport” times out if the data model takes time to query the data. This document intends to
share how “Schedule Service” web service operations can be used to achieve the same.

Note: Another method includes wrapping the BIP with a custom ESS job and achieving the same.

 Steps

  • Operation – scheduleReport – To schedule the Job to run the report. This operation, in response, provides the Job ID.
  • Operation – getScheduledReportStatus – To get the Job status (use the Job ID returned from the above step). You will have to call this operation repeatedly until you get your status of Success or Error.
  • Operation – getAllJobInstanceIDs – To Get the Job instances within the above-scheduled Job. You need the Job Instance ID to get the XML data (in the next operation)
  • Operation – getXMLData – To Get the XML Data of the Job Instance ID collected from the above step

1. Operation “scheduleReport”

Below are some sample payloads for the above operations for a quick reference. The payload for the “scheduleReport” operation will vary based on the report you are trying to launch.

Request

https://hostname/xmlpserver/services/v2/ScheduleService

Response

2. Operation “getScheduledReportStatus”

https://hostname/xmlpserver/services/v2/ScheduleService

Request

Response

3. Operation “getAllJobInstanceIDs”

https://hostname/xmlpserver/services/v2/ScheduleService

Request

Response

4. Operation “getXMLData”

https://hostname/xmlpserver/services/v2/ScheduleService

Request

Response


Observations

1. Creating a custom ESS Job creates additional overhead of maintenance and migration (there are no
automated ESS Job migration capabilities in Fusion at the time of this writing)

2. Username and Password are sent on the request payload of the “ScheduleService” (as you can note
in the above payload)