oracle reports
DESCRIPTION
Reporting ToolsReporting Tools for Oracle ApplicationsOracle application with Reports 6iCharacter/Bitmapped ReportsBuilding a ReportReport Registration Process in OAUsage of User ExitsTRANSCRIPT
-
Oracle Applications 11i
Reports
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
2
Topics
Reporting Tools
Reporting Tools for Oracle Applications
Oracle application with Reports 6i
Character/Bitmapped Reports
Building a Report
Report Registration Process in OA
Usage of User Exits
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
3
Reporting Tools
Many organizations struggle with the
question What is the best applications reporting solution for its
requirements?
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
4
Reporting Tools
Decision Making
Type of Reporting tool, Which satisfies the Reporting Needs of organization.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
5
Reporting Tools
Following Points influence in Decision Making:
Different User communities with potentially Different
Information accessing the same Information Source.
The version of Oracle Applications.
Expertise in User Community.
Level of Technical Support.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
6
Reporting Tool Selection Plan
Reporting Tools
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
7
Reporting Tools
Understanding the User Audience
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
8
Reporting Tools
Determine Appropriate Tool Category.
Ensure that the selection process (mentioned in the previous slides)
does not overlook business requirements that are not met by reports 6i, XML Publisher, BIS and discoverer.
Oracle Reporting Tools (Major).
Oracle Reports.
Oracle XML Publisher
Oracle Discoverer.
Oracles business intelligence suite (BIS).
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
9
Scope
Oracle Reports 6i
The Scope of this presentation is
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
10
Reporting Tools for 11i
Oracle Reports6i
Oracle reports is an enterprise reporting tool that allows
organizations to build and publish high quality, dynamically
generated reports.
Most often reporting consists of multiple queries within a single
report that may span across several functional areas.
Oracle reports fits into this reporting category where reporting
tends to answer questions like daily sales, current available
inventory against todays sales reservations etc.
These are real-time reports accessing the production database
directly.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
11
Reports 6i
Character Mode Reports Character mode reports run faster.
Following are the Pre requisites for designing a report in character mode
Set the Reports Design in Character Units property to yes
Set the report width and report height
For Landscape 132 or 180 as width and 66 as height
For Portrait 102 as width and 85 or 116 as height
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
12
Oracle Apps11i With Report 6i
In the properties of the mode system parameter set
the initial value field to character.
In the layout editors view menu: switch grid snap on, and in options ~ ruler settings set the number of snap
points per grid spacing to one.
Dont use objects that are not consistent with character mode output e.g. images, colors , drawings,
italics, ellipses, diagonal lines, drill down buttons,
multimedia etc.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
13
Oracle Apps11i With Report 6i
Bitmap Reports
Bitmap reports are used for generating either PCL or
Postscript type Reports.
These reports use different fonts or incorporate graphics images into a report.
We can also build reports of type PDF, but these are set up differently and are not bitmap reports.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
14
Oracle Apps11i With Report 6i
Following are the Pre requisites for designing a report in
Bitmap mode
Go to reports designer, under data model, open up
the system parameters, right click on DESTYPE and
select properties, enter printer as the initial value and
click OK.
Right click on MODE and select properties enter
BITMAP as the initial value and click OK.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
15
Oracle Apps11i With Report 6i
Character Mode Bitmap Mode
Output uses Fixed Font
Output uses Proportional Fonts.
Font type, size, or style does not
hold any meaning.
Font type, size, or style does hold
meaning
Object gets mapped exactly to a set
of character-cells without any
overlapping
Objects gets mapped with
overlapping.
Differences Between Character and Bitmap Report
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Report Query
PL/SQL Library Template
SELECT...
FROM...
Report Builder Modules
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Data & Layout
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Report Level Objects
Parameter
Form
Data
Model
Layout
Model
Properties Triggers
PL/SQL
program
units
Report
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Data
Model
Queries Data
links
Groups
Parameters Columns
Columns
Data Model Objects
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Layout Model Objects
Frames Boilerplate Repeating
frames Fields
OLE2
Layout
Model
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Parameter Form Objects
Parameter
Form
Fields Boilerplate
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Report File Types
Type
.rdf
.
Description
Full report definition
(includes source code and comments)
Modifiable through Builder
Binary, executable
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Tabular Report
Employee List
Emp No Name Salary
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Master Detail Report
Department Name
Emp Name Salary
Department Name
Department Details
Emp Name Salary
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Matrix Report
Job Title
Dept No
Department Salaries
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Creating a Tabular Report
Wizard Pages
Report Style
Query Type
Data Query
Fields
Totals
Labels
Template
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Query Builder
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Building a Query
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Additional Default Layout
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Selecting Fields to Display
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Summaries and Labels
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Select a Report Template
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
View the Report Output
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Saving the Report
Abc.rdf xyz.rdf
File Save As
File>Save
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Live Previewer
1 2
3
4
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Data Model
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Group Hierarchy
1
2
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Using Data Links
Deptno Dname
10 ACCOUNTING
20 RESEARCH
JONES
SCOTT
20
20
Ename Deptno
Dept.deptno=Emp.deptno
Dept
Emp
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Creating a Column-to-Column Link
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Create a Column
What type of value? Choose the correct column tool
What frequency? Create in a group or at report level
CP_
1
CP_
1
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Data Model Columns
1
2
4 3
5
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Summary Column
Specific properties:
Function
Source
Reset At
Datatype depends on Source Datatype
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Formula Column
Performs a user-defined computation
Executes a PL/SQL function
Must return a value
Can be Character, Number, or Date
Returned value must match datatype
function CF_Total_salFormula return Number is begin return(:sal+nvl(:comm,0)); end;
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Placeholder Column
An empty container at design time
Populated by another object at run time
Before Report trigger
Formula column at report
level
Formula column in same
group or below placeholder
CP_1
CF_1
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Populating Placeholder Column
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
User Parameters
Restrict values in a WHERE clause SELECT EMPNO,ENAME,JOB
FROM EMP
WHERE DEPTNO =
Substitute any part of a SELECT statement
SELECT EMPNO,ENAME,JOB
FROM EMP
Substitute a single column or expression
SELECT
FROM EMP
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Creating a User Parameter
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Referencing Parameters
In Report Query
Bind reference replaces a value:
:parameter_name
Parameter object may be created by default
Lexical reference replaces a clause:
¶meter_name
Parameter object may be created by default
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Using Bind References
SELECT empno, ename,job
FROM emp
WHERE deptno = :dept_id
Restrict values in a WHERE clause
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Using Lexical References
Use to Substitute any part of the query
SELECT empno,ename,job
FROM emp
&P_WHERE_CONDITION
&P_ORDER_BY
Note: Ensure that the number of values and datatypes match at runtime
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Layout Model - Different Sections of Report
Main
section
Page 1 of 1
Employees
Report
Header
section
End of report Trailer
section
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Layout Objects
The tool palette contains:
Standard GUI drawing tools
Frame, repeating frame, field objects
Other layout objects
Drawing Tools
Text
Repeating Frame
Link File
Button
OLE2
object
Frame
Field
Chart
Anchor
Additional Default Layout
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Layout Object Properties
Objects with common properties:
Frames
Repeating Frames
Fields
Boilerplate Objects
Some common properties affect:
Sizing
Pagination
Frequency of display
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Sizing Objects
Elasticity
Layout icons
Vertical Horizontal
fixed
expand
contract
variable
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Print Frequency
Print Object On = All Pages
Base Printing On = Enclosing Object
Employee Report Employee Report
-1-
Employee Report
-2-
Employee Report
-3-
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
PL/SQL Triggers in Reports
Describe the different types of triggers
Describe sample uses of triggers
Write and reference common code
Create a PL/SQL library
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Types of Triggers in Reports
Report Level:
Five triggers
Report Triggers node in Object Navigator
Layout:
Format trigger on most objects
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Trigger Code
True
False
Character
Number
Date
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Before Parameter Form
After Parameter Form
Before Report Between pages After Report
Sequence of Firing
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Using Report Triggers
After Parameter Form
Example : Build Dynamic Where Clause
SELECT empno,ename,job,sal,deptno
FROM emp
&P_WHERE_CLAUSE
function AfterPForm return boolean is
begin
IF :p_dept_id is null then
:p_where_clause:='';
ELSE
:p_where_clause:='where
deptno=:p_dept_id';
END IF;
return (TRUE);
end;
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Using Layout Triggers
Format triggers:
Exist on most layout objects
Can suppress an entire layout section (master group frame): No records fetched
Can suppress the display of individual records (repeating frame): All records fetched
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Writing Common Code
At Report level:
Object Navigator, Program Units
Menu: Program>PL/SQL Editor
In a library:
Object Navigator, PL/SQL Library
File>New: Create new library
File>Open: Add to existing library
Attach library to report
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Report Builder Built-in Package
Describe the package contents
Output messages at run time
Execute a drill-down report
Create and populate temporary tables
Modify visual attributes dynamically
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
SRW Package
Standard Report Writer Package
A collection of PL/SQL constructs that contains many functions, procedures, and exceptions
You can reference in any of your libraries or reports.
Note: You cannot reference constructs in the SRW package
from another product, e.g., from SQL*Plus.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Contents of SRW Package
SRW.SET_BOOKMARK
SRW.SET_ATTR
SRW.DO_SQL
SRW.RUN_REPORT
SRW.REFERENCE
SRW.SET_MAXROW
SRW.MESSAGE
SRW.PROGRAM_ABORT
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Displaying Messages
Warning
WHEN THEN
SRW.MESSAGE(999,
'Warning: An error occurred in report');
Error
WHEN THEN
SRW.MESSAGE(999,
'Error: Table creating failed.);
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Performing SQL Statements
Example
SRW.DO_SQL('CREATE TABLE LOG_TABLE
(USER_NAME VARCHAR2(40),
DATE_EXEC VARCHAR2(11)' );
SRW.DO_SQL('INSERT INTO
LOG_TABLE(USER_NAME,DATE_EXEC)
VALUES(:P_USER_NAME,sysdate)');
SRW.DO_SQL_FAILURE
Exception
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
68
Oracle reports provides a suite of PL/SQL procedures in the SRW package. The user_exit procedure in this package allows you to call
user exits (pro C routines) and oracle apps reports use quite a lot of
these calls. The user exits available in oracle reports are:
FND SRWINIT
FND SRWEXIT
FND FLEXIDVAL
FND GETPROFILE & FND PUTPROFILE.
FND calculate.
FND FORMAT_CURRENCY
Usage of User Exits
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
69
FND SRWINIT
Sets your profile option values and allows oracle application
object library user Exits to detect that they have been called by
a oracle reports program.
You always call FND SRWINIT from the before report trigger
as follows:
SRW.User_exit('FND SRWINIT');
This user exit is important, where, in a multi-org environment to
ensure your report displays data from the users organization.
Usage of User Exits
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
70
FND SRWEXIT
Ensures that all the memory allocated for application object library user exits has been freed. Up properly.
You always call FND SRWEXIT from the after report trigger as follows:
SRW.USER_EXIT('FND SRWEXIT');
Usage of User Exits
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
71
FND GETPROFILE & FND PUTPROFILE.
These user exits let you retrieve and change the value of a profile option.
FND calculate.
Use this routine to calculate the result of an unlimited number of operands and operators.
Usage of User Exits
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
72
FND FLEXSQL
This user exit can be called to create a SQL fragment.
Used by the report to tailor the SELECT statement that retrieves flexfield values.
This fragment allows you to SELECT flexfield values or to create a WHERE, ORDER BY, GROUP BY or HAVING clause to limit or sort the flexfield values returned by your SELECT statement.
The flexfield columns defined in the report should be of data type CHARACTER even though the table may use NUMBER / DATE.
Usage of User Exits
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
73
FND FLEXIDVAL This user exit is called to populate fields for display. Pass the
key flexfield data retrieved by the query into this user exit from the formula column and the display values and descriptions and prompts by passing appropriate token.
FND format_currency
This user exit formats the currency amount dynamically depending upon:
The precision of the actual currency value.
The user's positive and negative format profile options
The location (country) of the site : The location of the site determines the thousands separator and radix to use when displaying currency values.
Usage of User Exits
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
74
Ensure you have required parameters.
Ensure that the following parameters are defined using the oracle reports parameter screen, these will be used in the user exit calls and SQL statements.
P_CONC_REQUEST_ID.
You always create this lexical parameter. "FND SRWINIT" uses this parameter to retrieve information about this concurrent request.
P_MIN_PRECISION.
You reference this lexical parameter in your FND FORMAT_CURRENCY user exit call.
P_FLEXDATA Character 600-6000
P_STRUCT_NUM Character15 Initial value = 101
Usage of User Exits
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
75
Report Registration Process in OA
Report Deployment.
Typically the report will be developed on a PC, so when it is ready to test in the oracle applications environment, you must:
Upload your .rdf file to the server box, ensure file is uploaded properly. If the .rdf is not properly not uploaded the report will fail with a signal 10 error.
Place the .rdf file it in the correct directory.
Each product (eg. GL, AP etc) will have a directory structure and you will need to place the report in the report sub-directory of the appropriate product. Typically the directory structures will have names like ONT_TOP and are relatively easy to identify. You should always place your custom reports in mod directories.
Ensure your report has the appropriate file permissions which allow the oracle concurrent manager to execute it (using chmod etc).
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
76
Register your report within oracle applications Navigate to application developer responsibility after logging in to Oracle Applications
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
77
Concurrent executable
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
78
Identify the report to the AOL layer.
The execution file name is the operating system file name (without the extension)
The application field tells the AOL layer where to look for this file.
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
79
Concurrent Program
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
80
This step sets up the report so it can be submitted by the concurrent
manager, identifying parameters which must be passed etc. The Executable
Name field is the link to the previous step. The Program name field and
Description will appear in the List of Values users see, so they should be
functionally descriptive.
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
81
Request Section
MLS Function
The Multilingual Concurrent Request feature allows a user to submit a
request once to be run multiple times, each time in a different language. If
this program utilizes this feature the MLS function determines which installed
languages are needed for the request.
Use in SRS
Run Alone
Enable Trace
Allow disabled values
Restart on system failure
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
82
Output Section
Format
Save
Print
Columns
Rows
Style
Style Required
Printer
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
83
Oracle Reports Parameters.
Use the Parameters button to open the window shown below and define the parameters
that the report should prompt the user for. Notice that the Token field links the parameters
you list here to the parameters which your report is expecting. It is not case sensitive.
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
84
Concurrent manager passes program arguments to your.
Oracle reports program using tokens (so that their order does not
matter), you should write your program to receive arguments in the
same order that you specify when you call your program and pass
arguments for easier maintenance.
Oracle reports program parameters should not expect NULL.
Values. The concurrent manager cannot pass a NULL value to your
program.
Tip :It is always suggested to start the parameter sequence
from 10 and increment by 10 or as desired.
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
85
If your report should not be run at the same time as any other report or process
(perhaps even itself) then use the Incompatibilities button to open the window
shown below and identify them.
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
86
Copy the report
Copy
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
87
Add your report to the appropriate request groups. This is usually performed by the (functional) system administrator however you may
need to do it in the test environment at least.
Using the system administrator responsibility,
Menu path: Security Responsibility Request.
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
88
Reports are made available to users by adding them to the Request Group
assigned to a Responsibility which in turn is assigned to users. This
effectively makes your report appear in the List of Values which the user sees
in the Standard Report Submission screen.
In the top half of the screen, query back the Request Group to which you
wish to add your report and then in the lower half of the screen create a
new record, select your report name and save.
Report Registration Process in OA
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
89
FND Packages
Concurrent Program and Request Set Loaders
FND_Program and FND_Request
Used to programmatically create:
Concurrent executables
Concurrent Programs
Parameters for Concurrent Programs
Concurrent Request Sets
Recommended when maintaining multiple instances (i.e. development,
test, production)
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
90
FND Packages
FND_Program Functionality
Most procedures correspond to functionality provided by System Administration forms:
Others allow for checking for the existence of programs and
components, and deleting existing programs and components
Use FND_Program.Message to display error messages.
FND_Program
Procedure
Corresponding System Administration
Window
Executable Concurrent Program Executable
Register Concurrent Program
Parameter Concurrent Program Parameters
Incompatibility Incompatible Programs
Request_Group Request Groups, master region
Add_To_Group Request Groups, Requests region
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
91
FND Packages
Register an Executable:
Package Name: FND_PROGRAM
Procedure Name: EXECUTABLE
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
BEGIN
FND_PROGRAM.EXECUTABLE
( executable => 'KKG_LST_OF_CNTRCTS'
, application => 'KKG Custom Application'
, short_name => 'KKG_LST_OF_CNTRCTS'
, description => 'KKG List Of Contract Report'
, execution_method => 'Oracle Reports'
, execution_file_name=> 'KKG_LST_OF_CNTRCTS'
);
END;
Example :
FND Packages
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
93
FND Packages
Register Concurrent Program: Package: FND_PROGRAM
Procedure: REGISTER
Parameters:
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
94
FND Packages
BEGIN
FND_PROGRAM.REGISTER
(Program => 'KKG List Of Contract Report'
, Application => 'KKG Custom Application'
, Enabled => 'Y'
, Short name => 'KKG_LST_OF_CNTRCTS'
, Description => 'KKG List Of Contract Report'
, Executable_short_name => 'KKG_LST_OF_CNTRCTS'
, executable_application => 'KKG Custom Application'
, Save_output => 'Y'
, Print => 'N'
, Cols => NULL
, Rows => NULL
, Style => 'Landwide'
, Style_required => 'N'
, Printer => NULL
, Output_type => 'Text'
, Use_in_srs => 'Y'
, Nls_compliant => 'Y'
, Mls_function_short_name => NULL
, Mls_function_application => NULL
);
END;
Example :
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
95
FND Packages
Assign a Program to a Request Group: Package: FND_PROGRAM
Procedure: PROGRAM_ADD_TO_GROUP
BEGIN FND_PROGRAM.PROGRAM_ADD_TO_GROUP (Program_short_name => 'KKG_LST_OF_CNTRCTS' , Program_application => 'KKG Custom Application' , Request_group => 'All Reports' , Group_application => 'Oracle Payables' ); END;
Example :
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
96
FND Packages
Register value sets for the concurrent program Package: FND_FLEX_VAL_API
Procedure: CREATE_VALUESET_TABLE
Parameters:
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
97
FND Packages
BEGIN Fnd_flex_val_api.create_valueset_table ( Value_set_name => 'KKG_SUPPLIER_SITE', description => 'Supplier Sites for KKG List Of Contract Report', Security_available => 'N', Enable_longlist => 'N', Format_type => 'Char', Maximum_size => '150', Precision => NULL, Numbers_only => 'N', Uppercase_only => 'N', Right_justify_zero_fill => 'N', Min_value => NULL, Max_value => NULL, Table_application => 'Oracle Purchasing', Table_name => 'PO_VENDOR_SITES', Allow_parent_values => 'N', Value_column_name => 'VENDOR_SITE_CODE||''~''||ATTRIBUTE1', Value_column_type => 'Varchar2', Value_column_size => '150', Meaning_column_name => 'VENDOR_SITE_CODE||''~''||ATTRIBUTE1', Meaning_column_type => 'Varchar2', Meaning_column_size => '150', Id_column_name => 'VENDOR_SITE_CODE||''~''||ATTRIBUTE1', Id_column_type => 'Varchar2', Id_column_size => '150', Where_order_by => 'where rowid in (select max (rowid) From PO_VENDOR_SITES Group by VENDOR_SITE_CODE||''~''||ATTRIBUTE1)', Additional_columns => NULL); END;
Example :
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
98
Tips
Report in Microsoft excel.
A character mode report that saves its output to a file with an extension of .Csv, will automatically be recognizable by MS excel.
Beware of traps when modifying existing reports!
If you are modifying an existing report, you begin by FTPing it up to your PC and opening it in the reports designer there. Very often the report will give you error
messages about missing packages. The messages should give you the name of the
packages and you will be able to find them in the plsql subdirectory of the application
to which the report belongs on the server side.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
99
Definitions
APPS schema. An ORACLE schema that has access to the complete oracle applications data model.
Standard report submission (SRS).
The procedure to submit a background report to the concurrent manager using SRS is the same regardless of the product that owns the report. SRS takes advantage of shared flexfield value sets. Custom reports can be integrated into standard report submission so that they can be submitted and monitored using the same procedures as other oracle applications reports. Developers can set up certain menus and responsibilities to access custom reports or standard objects.
Repeating frames Repeating frames are used to display the rows of data that are retrieved for a group. Thus, they "repeat"
until all the data is retrieved.
Frames
Frames are used to keep layout objects together and can be used to protect layout objects from being overwritten by repeating frames at runtime.
Fields Fields define how columns appear in a report, such as the format of currency amounts and dates
Anchors Anchors are used to determine the relative positioning of one object to another in a report. The anchor
attaches the anchored object, or child, to an anchoring object, or parent.
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Questions??
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M
-
Thank You
http://oracleapps88.blogspot.com/
O
R
A
C
L
E
A
P
P
S
8
8
.
B
L
O
G
S
P
O
T
.
C
O
M