Professional Documents
Culture Documents
com/
.C
T
G 11i
Oracle Applications
O
L
Reports
.B
8
S
P
A
E
http://oracleapps88.blogspot.com/
Topics
Reporting Tools
.B
8
8
Report Registration Process
in OA
S
P
Usage of User Exits
P
L
A
E
.C
T
http://oracleapps88.blogspot.com/
Reporting Tools
.C
T
S
P
A
E
http://oracleapps88.blogspot.com/
Reporting Tools
M
Decision Making
.C
T
.B
8
S
P
Type of Reporting
tool, Which satisfies the
A
E
ReportingLNeeds
of organization.
http://oracleapps88.blogspot.com/
Reporting Tools
M
.C
T
http://oracleapps88.blogspot.com/
Reporting Tools
M
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Reporting Tools
M
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Reporting Tools
M
.C
T
B
.
Oracle Reporting Tools (Major).
8
8
S
P
Oracle Reports.
P
Oracle XML Publisher
A
E
Oracle Discoverer.
L
Oracles
C business intelligence suite (BIS).
A
R
O
http://oracleapps88.blogspot.com/
Scope
.C
T
L
The Scope of this presentation
is
.B
8
Oracle
S Reports 6i
P
P
A
E
10
http://oracleapps88.blogspot.com/
Oracle Reports6i
.C
T
11
http://oracleapps88.blogspot.com/
Reports 6i
M
.C
T
O
Character mode reports run faster.
P
S
Following are the Pre requisites for G
designing
a report in
character mode
O
L
.B
Set the Reports Design
8 in Character Units property to
8
yes
S
P
P
A width and report height
Set the report
E
For L
C Landscape 132 or 180 as width and 66 as
height
A
RFor Portrait 102 as width and 85 or 116 as height
12
http://oracleapps88.blogspot.com/
.C
T
In the properties of the mode system parameter
set
O
the initial value field to character.
P
S
G
O switch grid snap on,
In the layout editors view menu:
L
and in options ~ ruler settings
.B set the number of snap
8to one.
points per grid spacing
8
S
P
P
Dont use objects
that are not consistent with
A
Emode output e.g. images, colors , drawings,
character
L
Cellipses, diagonal lines, drill down buttons,
italics,
A
multimedia etc.
R
13
http://oracleapps88.blogspot.com/
Bitmap Reports
.C
T
S either PCL or
Bitmap reports are used for generating
G
Postscript type Reports.
O
L
B
.
These reports use different
8 fonts or incorporate
graphics images into8a report.
S
P
P reports of type PDF, but these are
We can also
build
A and are not bitmap reports.
set up differently
E
L
C
A
R
O
14
http://oracleapps88.blogspot.com/
.C
Following are the Pre requisites for designing a T
report in
O
Bitmap mode
P
S
G
Go to reports designer, underO
data model, open up
Lclick on DESTYPE and
the system parameters, right
.B
8printer as the initial value and
select properties, enter
8
click OK.
S
P
P
A
Right click
E on MODE and select properties enter
L as the initial value and click OK.
BITMAP
C
A
R
O
15
http://oracleapps88.blogspot.com/
Character Mode
Output uses Fixed Font
Bitmap
S Mode
G Proportional Fonts.
Output uses
L
B
.
Font type, size, or style does not
Font type, size, or style does hold
8
hold any meaning.
meaning
8
S
P
P to a set Objects gets mapped with
Object gets mapped
exactly
A
of character-cells
without
any
overlapping.
E
overlapping L
C
A
R
O
http://oracleapps88.blogspot.com/
Report
.B
8
C
.
SELECT... T
O
FROM...
P
S
G
Query
S
P
A
E
Template
PL/SQL Library
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
.C
T
Data
Model
Report
Layout
Model
.B
8
Properties
S
P
Triggers
P
A
E
O
Parameter
P
S Form
PL/SQL
program
units
http://oracleapps88.blogspot.com/
Data
Model
Columns
A
E
Groups
A
Columns
S
P
B
.Data
8 links
Queries
.C
T
Parameters
http://oracleapps88.blogspot.com/
Layout
Model
Repeating
frames
Frames
S
P
.B
8
Fields
8
.C
T
Boilerplate
A
E
OLE2
http://oracleapps88.blogspot.com/
Parameter O
P
FormS
Fields
S
P
A
E
.B
8
Boilerplate
.C
T
http://oracleapps88.blogspot.com/
Description
Type
.rdf
.
Modifiable through Builder
Binary, executable
S
P
A
E
L
(includes source code and comments)
.C
T
http://oracleapps88.blogspot.com/
Tabular Report
M
Employee List
Salary S
Emp No Name
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Department Details
Department Name
Emp Name
Salary
Department
Name
A
Emp Name
Salary
.B
8
S
P
.C
T
http://oracleapps88.blogspot.com/
Matrix Report
M
Department Salaries
Job Title
Dept No
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Wizard Pages
Report Style
Query Type
.B
8
Fields
Totals
A
E
Labels
S
P
Data Query
Template
.C
T
http://oracleapps88.blogspot.com/
Query Builder
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Building a Query
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
.C
T
File>Save
.B
8
A
E
S Save As
File
A Abc.rdf
xyz.rdf
http://oracleapps88.blogspot.com/
Live Previewer
M
3
1
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Data Model
M
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Group Hierarchy
M
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Dept
Deptno
Dname
10
ACCOUNTING
20
RESEARCH
O
Emp
L
.B
Ename
8
S
P
Dept.deptno=Emp.deptno
A
.C
T
Deptno
JONES
20
SCOTT
20
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Create a Column
S
Por at report level
Create in a group
P
A
E
L
C
A
What frequency?
.B
8
.C
T
CP_
1
CP_
1
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
2
4
.C
T
http://oracleapps88.blogspot.com/
Summary Column
M
Specific properties:
Function
Source
Reset At
.C
T
.B
8
S
P
Datatype depends
on Source Datatype
P
A
E
L
C
A
R
O
http://oracleapps88.blogspot.com/
Formula Column
O
Performs a user-defined computation
P
S
Executes a PL/SQL function G
O
L
Must return a value
.B
8
Can be Character, 8
Number,
or Date
S
Returned valuePmust match datatype
P
A
function CF_Total_salFormula
return Number is
E
begin
L
return(:sal+nvl(:comm,0));
C
end; A
R
O
.C
T
http://oracleapps88.blogspot.com/
Placeholder Column
An empty container at
design time
Populated by another
.C
T
SCP_1
.B
8
CF_1
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
User Parameters
O
Restrict values in a WHERE clause
P
SELECT EMPNO,ENAME,JOB
S
G
FROM EMP
O
WHERE DEPTNO = <a value>
L
B
.
Substitute any part of a SELECT8
statement
SELECT EMPNO,ENAME,JOB 8
S
FROM EMP
P
P
<a where clause>
A
E
Substitute a single
L column or expression
C
SELECT
<a
A column/expression>
FROM
R EMP
O
.C
T
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Referencing Parameters
In Report Query
.C
T
S
Bind reference replaces a value:
G
O
L
:parameter_name
B
.
Parameter object may
8be created by default
8
Lexical referenceSreplaces a clause:
P
P
¶meter_name
A
E object may be created by default
Parameter
L
C
A
R
O
http://oracleapps88.blogspot.com/
.B
8
Restrict values in a WHERE clause
8
S
P
P
A
E
L
C
A
R
O
.C
T
http://oracleapps88.blogspot.com/
.B
8
S
P
SELECT empno,ename,job
FROM emp
&P_WHERE_CONDITION
&P_ORDER_BY
A
Note: Ensure that
E the number of values and datatypes
L
match at runtime
C
.C
T
http://oracleapps88.blogspot.com/
http://oracleapps88.blogspot.com/
Layout Objects
.B
8 Drawing Tools
Frame
A
E
L Field
C Chart
A Anchor
R
O Default Layout
Additional
S
P
Text
Repeating Frame
Link File
Button
OLE2
object
.C
T
http://oracleapps88.blogspot.com/
.C
T
http://oracleapps88.blogspot.com/
Sizing Objects
Elasticity
Vertical
fixed
.B
8
expand
contract
A
E
C
variable
A
S
P
C
.
HorizontalT
O
P
S
Layout icons
http://oracleapps88.blogspot.com/
Print Frequency
-1-
O
P-2-
Employee Report
Employee Report
.C
T
Employee Report
.B
8
Employee Report
S
P
A
E
-3-
http://oracleapps88.blogspot.com/
O
Describe the different types of triggers
P
Describe sample uses of triggers
S
Write and reference common codeOG
L
Create a PL/SQL library
.B
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
Report Level:
Five triggers
O
Report Triggers node in Object L
Navigator
S
P
Format trigger
A on most objects
.B
8
Layout:
.C
T
http://oracleapps88.blogspot.com/
Trigger Code
True
False
S
P
A
E
O
Character
.B
8
Number
Date
.C
T
http://oracleapps88.blogspot.com/
Sequence of Firing
.B
8
S
P
Before Report
E
.C
T
Between pages
After Report
http://oracleapps88.blogspot.com/
SELECT empno,ename,job,sal,deptno
FROM emp
&P_WHERE_CLAUSE
.C
T
http://oracleapps88.blogspot.com/
.C
T
O
Format triggers:
P
Exist on most layout objects
S
G group
Can suppress an entire layout section (master
O
frame): No records fetched
L
.B records (repeating
Can suppress the display of individual
8
frame): All records fetched8
P
S
P
A
E
http://oracleapps88.blogspot.com/
At Report level:
Object Navigator, Program Units
Menu: Program>PL/SQL Editor
In a library:
Object Navigator, PL/SQL 8
SLibrary
P library
File>New: Create new
P
File>Open: Add
A to existing library
E
Attach library
L to report
.B
8
.C
T
http://oracleapps88.blogspot.com/
O
Describe the package contents
P
Output messages at run time
S
G
Execute a drill-down report
O
Create and populate temporaryL
tables
B
.
Modify visual attributes dynamically
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
SRW Package
M
.C
T
.B
8
8
Note: You cannot reference constructs
in the SRW package
S from SQL*Plus.
from another product,P
e.g.,
P
A
E
http://oracleapps88.blogspot.com/
G
SRW.DO_SQL
SRW.SET_BOOKMARK
L
SRW.RUN_REPORT
SRW.SET_ATTR
.B
8
S
P
SRW.REFERENCE
A
E
SRW.SET_MAXROW
L
C
SRW.MESSAGE
SRW.PROGRAM_ABORT
.C
T
http://oracleapps88.blogspot.com/
Displaying Messages
M
Warning
.B
8
Error
.C
T
http://oracleapps88.blogspot.com/
Example
SRW.DO_SQL('CREATE TABLE LOG_TABLE PO
(USER_NAME VARCHAR2(40),
S
DATE_EXEC VARCHAR2(11)' ); G
SRW.DO_SQL('INSERT INTO .B
LOG_TABLE(USER_NAME,DATE_EXEC)
8
8
VALUES(:P_USER_NAME,sysdate)');
S
Exception
A
E
SRW.DO_SQL_FAILURE
L
C
A
R
O
.C
T
68
http://oracleapps88.blogspot.com/
C
.
Oracle reports provides a suite of PL/SQL procedures T
in the SRW
package. The user_exit procedure in this package allows
O you to call
Puse quite a lot of
user exits (pro C routines) and oracle apps reports
S
these calls. The user exits available in oracle
G reports are:
O
L
FND SRWINIT .B
8
8
FND SRWEXIT
S
P
FND FLEXIDVAL
P
AGETPROFILE & FND PUTPROFILE.
FND
E
LFND calculate.
C
A FND FORMAT_CURRENCY
R
O
69
http://oracleapps88.blogspot.com/
FND SRWINIT
.C
T
P application
Sets your profile option values and allowsS
oracle
object library user Exits to detect that they
G have been called by
O
a oracle reports program.
L
.B
8 from the before report trigger
You always call FND SRWINIT
8
as follows:
S
P
SRW.User_exit('FND
SRWINIT');
P
A
E
Lexit is important, where, in a multi-org environment to
This user
Cyour report displays data from the users organization.
ensure
A
R
O
70
http://oracleapps88.blogspot.com/
FND SRWEXIT
.C
T
S application object
Ensures that all the memory allocated for
library user exits has been freed. UpG
properly.
.
You always call FND SRWEXIT
from the after report
trigger as follows:
S
P
P
SRW.USER_EXIT('FND
SRWEXIT');
L
A
E
71
http://oracleapps88.blogspot.com/
.C
T
profile option.
FND calculate.
.B
8
S
P
Use this routine
P to calculate the result of an unlimited number
of operands
Aand operators.
E
L
C
A
R
72
http://oracleapps88.blogspot.com/
FND FLEXSQL
.C
T
.
8
A
E
73
http://oracleapps88.blogspot.com/
.C
T
FND FLEXIDVAL
O
This user exit is called to populate fields for display.
Pass the
P this user exit
key flexfield data retrieved by the queryS
into
from the formula column and the display
G values and
descriptions and prompts by passing
O appropriate token.
L
.B
8 amount dynamically depending
This user exit formats the currency
8
S
upon:
P
The precisionP
of the actual currency value.
The user'sA
positive and negative format profile options
E
The location
(country) of the site : The location of the site
L
C
determines
the thousands separator and radix to use when
A
R displaying currency values.
FND format_currency
74
http://oracleapps88.blogspot.com/
P_CONC_REQUEST_ID.
O
L "FND SRWINIT" uses this
You always create this lexical parameter.
parameter to retrieve information.B
about this concurrent request.
P_MIN_PRECISION.
S
P parameter in your FND
You reference this lexical
P user exit call.
FORMAT_CURRENCY
A
L
P_FLEXDATA
Character
600-6000
R
P_STRUCT_NUM
Character15
75
http://oracleapps88.blogspot.com/
Report Deployment.
.C
T
76
http://oracleapps88.blogspot.com/
C
.
Register your report within oracle applications
T
Navigate to application developer responsibility after logging in to Oracle Applications
O
P
S
G
O
L
.B
8
8
S
P
P
A
E
L
C
A
R
O
77
http://oracleapps88.blogspot.com/
Concurrent executable
.B
8
S
P
A
E
.C
T
78
http://oracleapps88.blogspot.com/
.C
T
.B
8
S
P
A
E
79
http://oracleapps88.blogspot.com/
Concurrent Program
.B
8
S
P
A
E
.C
T
80
http://oracleapps88.blogspot.com/
.
This step sets up the report so it can be submitted by the concurrent
T Executable
manager, identifying parameters which must be passed etc. The
O
Name field is the link to the previous step. The ProgramP
name field and
Description will appear in the List of Values users see,
Sso they should be
G
functionally descriptive.
L
.B
8
S
P
A
E
81
http://oracleapps88.blogspot.com/
Request Section
MLS Function
.C
T
Use in SRS
.B
Run Alone
8
8
Enable Trace
S
Allow disabled valuesP
Pfailure
Restart on system
A
82
http://oracleapps88.blogspot.com/
Output Section
Format
Save
Print
Columns
Rows
Style
Style Required
Printer
.B
8
S
P
A
E
.C
T
83
http://oracleapps88.blogspot.com/
.C
Use the Parameters button to open the window shown below and defineT
the parameters
that the report should prompt the user for. Notice that the Token fieldO
links the parameters
you list here to the parameters which your report is expecting. It P
is not case sensitive.
S
G
O
L
.B
8
8
S
P
P
A
E
L
C
A
R
O
Oracle Reports Parameters.
84
http://oracleapps88.blogspot.com/
.C
T
O
Concurrent manager passes program arguments to your.
Porder does not
Oracle reports program using tokens (so that their
S
matter), you should write your program to receive
G arguments in the
same order that you specify when you call
Oyour program and pass
arguments for easier maintenance. L
.B
8
8
Oracle reports program parameters
should not expect NULL.
S
Values. The concurrent
P manager cannot pass a NULL value to your
program.
P
A
E
85
http://oracleapps88.blogspot.com/
C
.
If your report should not be run at the same time as any other report
or process
T
(perhaps even itself) then use the Incompatibilities button to open
O the window
shown below and identify them.
P
S
G
O
L
.B
8
8
S
P
P
A
E
L
C
A
R
O
86
http://oracleapps88.blogspot.com/
.C
T
.B
8
S
P
A
E
Copy
87
http://oracleapps88.blogspot.com/
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.
S
P
A
E
.B
8
88
http://oracleapps88.blogspot.com/
.B
8
S
P
A
E
Ahalf of the screen, query back the Request Group to which you
In the top
wish R
to add your report and then in the lower half of the screen create a
Orecord, select your report name and save.
new
89
http://oracleapps88.blogspot.com/
FND Packages
.C
T
B
.
Parameters for Concurrent Programs
8
Concurrent Request Sets 8
S
Recommended whenP
maintaining multiple instances (i.e. development,
test, production) P
A
E
L
C
A
R
O
Concurrent Programs
90
http://oracleapps88.blogspot.com/
FND Packages
FND_Program Functionality
.C
T
P by System
Most procedures correspond to functionality provided
S
Administration forms:
FND_Program
Procedure
Executable
Register
Parameter
Incompatibility
Request_Group
Add_To_Group
.B
8
S
P
A
Echecking for the existence of programs and
Others allowLfor
components,
C and deleting existing programs and components
A
UseR
FND_Program.Message
to display error messages.
O
91
http://oracleapps88.blogspot.com/
FND Packages
Register an Executable:
Package Name:
Procedure Name:
.B
8
S
P
A
E
FND_PROGRAM
EXECUTABLE
.C
T
http://oracleapps88.blogspot.com/
FND Packages
Example :
BEGIN
P
S
FND_PROGRAM.EXECUTABLE
G
( executable
=> 'KKG_LST_OF_CNTRCTS'
O
, application
=> 'KKG Custom
Application'
L
, short_name
=> 'KKG_LST_OF_CNTRCTS'
B
.
, description
=> 'KKG 8
List Of Contract Report'
8 Reports'
, execution_method => 'Oracle
S
, execution_file_name=>
'KKG_LST_OF_CNTRCTS'
P
);
P
END;
A
.C
T
93
http://oracleapps88.blogspot.com/
FND Packages
.B
8
S
P
A
E
.C
T
94
http://oracleapps88.blogspot.com/
FND Packages
Example :
BEGIN
FND_PROGRAM.REGISTER
(Program
, Application
, Enabled
, Short name
, Description
, Executable_short_name
, executable_application
, Save_output
, Print
, Cols
, Rows
, Style
, Style_required
, Printer
, Output_type
, Use_in_srs
, Nls_compliant
, Mls_function_short_name
, Mls_function_application
);
END;
A
E
.B
8
S
P
.C
T
95
http://oracleapps88.blogspot.com/
FND Packages
S
P
Example :
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;
A
E
.B
8
.C
T
96
http://oracleapps88.blogspot.com/
FND Packages
Parameters:
.B
8
S
P
A
E
.C
T
97
http://oracleapps88.blogspot.com/
FND Packages
BEGIN
Example :
.B
8
S
P
A
E
.C
T
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;
98
http://oracleapps88.blogspot.com/
Tips
.C
T
A character mode report that saves its output to a file with an extension of .Csv, will
automatically be recognizable by MS excel.
Oexisting reports!
Beware of traps when modifying
L
.B
8
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.
S
P
A
E
99
http://oracleapps88.blogspot.com/
Definitions
O
.C
T
An ORACLE schema that has access to the complete oracle applications data model.
O
Standard report submission (SRS).
P
The procedure to submit a background report to the concurrent manager
Susing SRS is the same
regardless of the product that owns the report. SRS takes advantage
of shared flexfield value sets.
G
Custom reports can be integrated into standard report submission so that they can be submitted
O reports. Developers can set up
and monitored using the same procedures as other oracle applications
Lor standard objects.
certain menus and responsibilities to access custom reports
B
.
Repeating frames
8
8of data that are retrieved for a group. Thus, they "repeat"
Repeating frames are used to display the rows
S
until all the data is retrieved.
P
Frames
P
Frames are used to keep layout objects together and can be used to protect layout objects from being
A
overwritten by repeating frames at runtime.
E
Fields
L
Fields define howC
columns appear in a report, such as the format of currency amounts and dates
Anchors A
AnchorsR
are used to determine the relative positioning of one object to another in a report. The anchor
attaches
O the anchored object, or child, to an anchoring object, or parent.
APPS schema.
http://oracleapps88.blogspot.com/
.B
8
Questions??
8
S
P
A
E
.C
T
http://oracleapps88.blogspot.com/
.B
8
Thank You
8
S
P
A
E
.C
T