Oracle Apps D2K Reports Overview
Report Builder is one of the Oracle GUI (Graphical user Interface) Tool
By using this we can develop simple and Complex reports
Oracle Applications reports can be developed and registered with below approaches
- Report Builder
- XML Publisher/BI Publisher
In this section, we mainly focus on the concepts of Report builder and how can we register the reports in Oracle apps through Report builder
We can develop the report in two ways
There are two concepts to remember while developing the reports as below
- Data Model
- Layout model
Data Model will be used to select the data from Database and generally will include SQL statements, Place Holder, Summary Columns, Formula Columns etc.,
Layout model is used as User Interface(UI) application which should be visible to the end users along with the data in respective Fields.
Layout Model Objects:
1)Text : Will be used to display the standard text information
2)Frame : Will be used to display the layout objects only one time
like totals,titles,Headings and so on
3)Repeating Frame: Will be used to display the objects multiple times
like database columns,Sub Totals,Page Totals…….
4)Field : Will be used to display the Data base columns,variables and so on.
First page : Employee Information Report
Second Page : Empno Ename Sal hiredate Comm
Last page : End of the report
Summary Column : If we want to apply summary functions then we will go for summary columns like Average,count,min,max and so on.
1)Group level : Executed for every record in the group
2)Report Level : Executed only once for entire report.
Min Salary :
Max Salary :
Formula Columns : When we want implement some logic and return the value then we will use formula columns.
It is a PL/SQL Function. where we can write PL/SQL code we can return only one value.
Place Holder Columns:
A datatype which stores some value and we can use this across the report.
It will work lika Global variable in the reports.
If we want to return more than one value from the Formula Columns then it will be used.
- Format Trigger
- Validation Trigger
- Action Trigger
- Report Triggers
Format Trigger : To Hide or display the layout objects dynamically it will be used.
layout objects means frame, repeating frame, field,…………
Action Triggers: If we want to develop drill down reports then we will use Action Triggers.
Place the Button in the layout when user press the button we can execute some PL/SQL code.
Report Triggers: 5 Types which will fired automatically when we run the report.
- Before Parameter Form
- After Parameter Form
- Before report
- Between pages
- After Report
Before Parameter Form : Will Execute before the parameter form is going to open. To assign any default values for the parameter.
After Parameter Form : After the Parameters are entered in the form and submit it will be executed.To change the Parameter values dynamically And To populate the Lexical parameter values.
Before Report : It will be executed before report is executing and select data from database.
Between Pages : When cursor moves from one page to another page it will be executed. It will be executed (n-1) times.
After Report : after completion of the report. once the output is reach the destination (Printer , file, fax , e-mail) then it will be executed.
- System Parameters
- User Defined Parameters
Bind parameters will used to pass the the value into the query in the WHERE Clause
Lexical parameters will be used to replace the string in side of the query in any clause.
SELECT * FROM EMP &P_ORDER_BY
Ex:After Parameter Form Trigger
If user pass the deptno then select between that otherwise select all the dept employees data
If P_from is entered then it should retrieve all dept from the specified dept
If p_to is entered then it whould retireve upto specified deptno.
|To pass the Values into the WHERE Clause.|
We will use the symbol “:”
Can be used only in the WHERE Clause.
Any Data Type.
Values will be passed in the Parameter Form.
|To Replace the String in the Query.|
We will use the symbol “&”
In any Clause we can use this.
Must be Character.
Values will be assigned dynamically form in the After Parameter Form Trigger.
DESFORMAT : Html, pdf…..
DESNAME : Name of the Printer, E-mail,Fax,File
DESTYPE : File, Screen, Print, Fax, E-mail
MODE : Bitmap, Character
Confine Mode: Lock mode if it is on then we can not take the child object out of the Parent Object. If it is off then we can take out of the parent.
Flex Mode: If Flex mode is on . If we Incr/Decr the child object automatically parent object also incr/decr. If it is off then Only child object will be decr/Incr.
Program Unit :
Is a PL/SQL objects(Procedures, Functions, Packages) which will be stored in the Report we can use only in the Current Report.
|Program units||PL/SQL Objects|
|Will be stored in the file|
Can be used only in the Current Report
Improve the Performance
|Stored in the Database|
We can use any report
It takes more time
Libraries : Group of Program units and Libraries We can attach the Attach the Library to another report and use the Program units.
We can not attach the Program units to another reports directley that’s why we will PL/SQL Library to attach.
.pll – Source Code – Program Link Library
.plx – Executable Code – Program Link Executable
Report Registration Steps in Oracle Applications:
1) Based on Client requirement, prepare SQL statement and develop the report (.rdf) using Reports Builder
Step – 1: select “Built a new Report manually” option and click OK button.
Step – 3: Click on OK and connect to apps/apps@VIS
Step- 4 : As our query is having parameters its creating two bind parameters
Step – 5: Go to Paper layout and design Frame, then keep Labels and then design Repeating Frame with in Frame and keep Fields with in Repeating Frames.
Go to Frame Properties set Vertical Elasticity as Expand
Go to Repeating Frame Properties set like following
Go to Field Properties set like below.
2) Move the report from the local machine in to the server by using WINSCP
A. CUS_TOP\11.5.0\reports\US .rdf (or)
Note: Ideally, you have to move the .rdf file to CUST_TOP path in Server but here we were moving to PO_TOP for explanation. But in real project, we use only CUST_TOP.
Step – 1: open Putty and type below commands to know path of Custom top
Step – 2: Open WinSCP to reach the Custom Path through GUI
Step – 3: Deploy the XX_TEST_RPT.rdf into Custom top Location.
3) Select System Administrator
a. Create Executable
b. Executable name
c. Application Name
d. Execution Method
e. Report (.rdf) file name
Step – 4: Create Executable by linking to XX_TEST_RPT.rdf
Executable File name should be Report name which is available in server only.
4) Create Concurrent Program and attach :
concurrent program is Instance of executable file along with input parameters and incompatible programs. Development of sample report and Move to oracle apps and execution.
Step – 5: Create Concurrent Program, while creating provide Executable name to this.
Step – 6: Click on Parameters Tab and go to screen to provide details like below screen. Token values should be like parameter from Report Builder.
5) Create Request group and attach Concurrent Program
Step – 7: Go to Request Group screen , create group, or open existing group to attach our Concurrent Program Name.
6) Create Responsibility
a. Request Group – Collection of Concurrent Programs
b. Data Group – Collection of User IDs
c. Menu – Collection of forms
Step – 7: Go to Responsibility Screen and create one responsibility and attach our Request Group to this Responsibility.
7) Create user attach Responsibility to the user
Step – 9: Go to User Screen and attach our responsibility to existing Business User.
Run the Report through SRS window.
- Go to File => switch Responsibility => select our responsibility
- Go to View => Request => find then we can fine below screen.
Click on Submit New Request button.
Click on ok button to submit single request. Then call our report to run SRS window.
Provide the Values for Parameters before click on OK button.
Click on No button for not to submit another request.
Click on Refresh Button to make our report into complete Normal Stage.
Types of executables : These are programs
Oracle Application supports 12 types of executable types. You can find these in executable Form
Navigation => Application Developer => Concurrent Program => Executable
1) Oracle Reports => .rdf
2) Sql * Plus => .sql
3) PL/SQL Procedures => .proc
4) Sql * Loader => .ctl
5) Unix shell script => .sh
6) C – Language => .C
7) Pro – C => .prc
8) Java Programs => .java
9) Java Serve Pages (OAF) => .jsp
10) PERL scripting => .perl
11) Java Server Faces(ADF) => .JSF
2) SQL Statement
4) Current Date
5) Current Time
These are of 8 types of Validation types
5) Translate dependent
6) Translate Independent
Request Set: Request set is a collection of report / Programs that you group together and can be submitted to run is a single interaction.
Request Id: When submit a request oracle application assigns a request id to the request. We can use this request id to search for request.
Concurrent Manager: A concurrent manager is a component of concurrent processing that monitors and runs tasks without typing up your computer.
View LOG: Using this we can see the technical details of the concurrent programs.
View Output: Using this we can see the actual result data.
Concurrent Program: After creation of executable we will create concurrent Program by attachingExecutable, if parameters are there we will attach parameter if incompatibility Programs are there we will add those programs , for single executable we create Multiple concurrent programs with different parameters.
Request Group: After creation of concurrent program we must add the program to the request group. Request Group is nothing but collection of Concurrent Programs and Reports.
Responsibility: It is level of authority where we will combine Data Group, Request Group and Menu. Request Group is optional, where as menu and data group is mandatory.
Data Group: Data Group is nothing but collection of applications names and Oracle User Names based on this Username data will be retrieved from database.
Menu: Menu is nothing but collection of functions (forms) and submenus.
Value Set: Values set is nothing but list values. It will be used to validate values while entering the parameters.
Token: Token is one the field will be used to map concurrent Program parameters with report builder Bind variable. We will enter the Bind variable name in the toke field so that parameters will be passed to the Bind variable.
Required check box: By using this check box we can make the parameters mandatory or optional
Enabled Check Box: By using this we can enable or disable the parameter.
Display Check Box: By using this we can hide or display the parameters in SRS Window.
Range Option: While defining the from and to parameters if we wanted to accept Values in accession order menus from values is low and to value is high we will Select the options called low and high.
Default Types: If we are hiding the parameters user can’t enter the values that Time we can pass default values by using default type and default value filed.
Scheduling the Concurrent program We can submit the Concurrent program future date or date by using the schedule button in SRS window.
1. As soon as possible: This is default option whenever we submit the request it will submit the as soon as possible
2. Once: It will submit the rest only once for future date.
3. Periodically: WE can specify the from_date and to_date to submit program periodically no of. Days months, hours, minutes and so on.
4. Specific Days: If we want submit concurrent program in the specific days we write select this option
5. Save this Schedule: This check box will be used to save the schedule and apply same schedule to other concurrent programs by selecting the button called ‘Apply save schedule’