Oracle Reports (RDF) Concurrent Program in Oracle Apps

Oracle Reports is an enterprise reporting tool. You can generate reports in any popular format for web and paper, burst, and distribute reports to any destination. Businesses get immediate access to information to all levels within and outside of the organization in an unrivaled scalable and secure environment.

Oracle Reports is the one of execution methods available in Oracle Apps while defining concurrent program executable. In this article, I will cover how to define a concurrent program based on Oracle Reports (RDF) executable.

Note: This method is obsolete to define concurrent programs on Reports. Oracle recommends using XML publisher instead as Oracle Reports released with Oracle Fusion Middleware’s 12.2.1.3.0 will be its terminal release.

Step 1 – Create a sample/demo report (RDF)

To demonstrate working, let’s create a sample report on the DBA_OBJECTES table to display 20 rows in a tabular format. You can use any table or data source to create a report. This report has an owner as an input parameter. Depending on the Owner’s name respective object data should get displayed.

Start Oracle Reports Builder and using a wizard-driven approach simply create a tabular report. Below is the tree layout of the report.

rdf report navigator

The paper layout of the report.

 

report paper layout

Report Parameters

We are going to have only one parameter for demo purposes. p_conc_request_id is the important and mandatory parameter you need to create. It holds request-id returned by the concurrent manager. If you miss this parameter, your program will end in error.

  • P_CONC_REQUEST_ID – This user parameter is mandatory when you run it in the Oracle Apps environment. Concurrent Manager returns request_id in this parameter.
  • P_OWNER – Placeholder for custom OWNER Parameter.

Report Triggers

Add below code the respective triggers mention.

Before Report 

function BeforeReport return boolean is
begin
 SRW.USER_EXIT('FND SRWINIT');
 return (TRUE);
end;

 

After Report

function AfterReport return boolean is
begin
 SRW.USER_EXIT('FND SRWEXIT');
 return (TRUE);
end;

SRW.USER_EXIT(‘FND SRWINIT’) – This user exit sets up information for use by profile options and other AOL features. Always use it before report trigger.

SRW.USER_EXIT(‘FND SRWEXIT’) – This user exit frees all the memory allocation done by other AOL exits. Always use it in the after report trigger.

Step 2 – Copy/FTP the report file to Unix Server

Copy this RDF file to the UNIX server. If there is a multi-node environment, make sure to copy in each node. RDF is a binary file, so transfer it using Binary FTP mode. Either use WINSCP of FILEZILLA. Both are free-to-use software.

Step 3 – Define executable

Navigate to Application Developer -> Concurrent -> Executable. Define executable as shown below.

Define concurrent program executable

 

Step 4 – Define Concurrent Program

Navigate to Application Developer -> Concurrent -> Program. Define concurrent program as shown below.

 

define concurrent program

Define concurrent program parameter as shown below. The Token label show at the end of the image should match the name of your parameter in rdf file.

 

define concurrent program parameters

Step 5 – Register concurrent program

Next register program in valid responsibility. Navigate to System Administrator -> Security -> Responsibility – > Request. Add this program to request group

Step 6 – Submit concurrent program

Navigate to the responsibility where you registered the concurrent program. Submit it and check the output. Below is the sample output shown. Oracle Report supports PDF, Text, XML output.

 

final report output

Reference