You are on page 1of 101

http://oracleapps88.blogspot.

com/

.C
T

G 11i
Oracle Applications
O
L
Reports
.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

Topics

Reporting Tools

Reporting Tools for Oracle Applications P

Oracle application with Reports 6i G


Character/Bitmapped Reports LO
Building a Report

.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

Many organizations struggleOwith the


P
S
question What is the best
G
applications reportingLO
solution for its
B
.
requirements? 88
P

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

Following Points influence in Decision Making:


O

Different User communities with


O potentially Different
L Information Source.
Information accessing the
same
.B
8Applications.
The version of Oracle
8
S
Expertise in User
P Community.
P
Level of Technical
Support.
A

http://oracleapps88.blogspot.com/

Reporting Tools
M

Reporting Tool Selection Plan

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Reporting Tools
M

Understanding the User Audience

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Reporting Tools
M

Determine Appropriate Tool Category.

.C
T

Ensure that the selection process (mentioned S


in the previous slides)
does not overlook business requirements that
G are not met by reports
6i, XML Publisher, BIS and discoverer. O

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/

Reporting Tools for 11i

Oracle Reports6i

.C
T

Oracle reports is an enterprise reporting toolSthat allows


G dynamically
organizations to build and publish high quality,
O
generated reports.
L
Most often reporting consists of.B
multiple queries within a single
8
report that may span across
8 several functional areas.
Oracle reports fits into S
P this reporting category where reporting
tends to answer questions
like daily sales, current available
P
A todays sales reservations etc.
inventory against
E
These areLreal-time reports accessing the production database
C
directly.

11

http://oracleapps88.blogspot.com/

Reports 6i
M

.C
T

Character Mode Reports

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/

Oracle Apps11i With Report 6i


M

.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/

Oracle Apps11i With Report 6i


M

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/

Oracle Apps11i With Report 6i


M

.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/

Oracle Apps11i With Report 6i


M

Differences Between Character and Bitmap Report


.C

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 Builder Modules


M

Report

.B
8

C
.
SELECT... T
O
FROM...
P
S
G

Query

S
P

A
E

Template

PL/SQL Library

http://oracleapps88.blogspot.com/

Data & Layout


M

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Report Level Objects


M

.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 Objects


M

Data
Model

Columns

A
E

Groups

A
Columns

S
P

B
.Data
8 links

Queries

.C
T

Parameters

http://oracleapps88.blogspot.com/

Layout Model Objects


M

Layout
Model

Repeating
frames

Frames

S
P

.B
8
Fields
8

.C
T

Boilerplate

A
E

OLE2

http://oracleapps88.blogspot.com/

Parameter Form Objects


M

Parameter O
P
FormS

Fields

S
P

A
E

.B
8

Boilerplate

.C
T

http://oracleapps88.blogspot.com/

Report File Types


M

Description

Type

Full report definition

.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/

Master Detail Report


M

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/

Creating a Tabular Report


M

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/

Additional Default Layout


M

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Selecting Fields to Display

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Summaries and Labels


M

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Select a Report Template


M

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

View the Report Output


M

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Saving the Report


M

.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/

Using Data Links


M

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/

Creating a Column-to-Column Link


M

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Create a Column

What type of value?

Choose the correct column tool

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/

Data Model Columns


M

.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

object at run time


8
Before Report trigger
S
P
Formula column
P at report
level EA
L column in same
Formula
C
A
group or below placeholder
R
O

CF_1

http://oracleapps88.blogspot.com/

Populating Placeholder Column

.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/

Creating a User Parameter

.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
&parameter_name
A
E object may be created by default
Parameter
L
C
A
R
O

http://oracleapps88.blogspot.com/

Using Bind References

SELECT empno, ename,job


FROM emp
WHERE deptno = :dept_id

.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/

Using Lexical References

Use to Substitute any part of the query

.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/

Layout Model - Different Sections of Report


M
O
.C
T
O
Employees
Header
P
Report
section
S
G
O
L
B
.
Page 1 of 1
8
8
Main
S section
P
P
A
E
L
C
A End of report Trailer
R
section
O

http://oracleapps88.blogspot.com/

Layout Objects

The tool palette contains:

Standard GUI drawing tools


O
P
S
Frame, repeating frame, field objects
G
Other layout objects
O

.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/

Layout Object Properties

Objects with common properties:


O
Frames
P
S
G
Repeating Frames
O
L
Fields
.B
Boilerplate Objects88
S
P
Some common properties
affect:
P
Sizing EA
L
Pagination
C
A
R
Frequency
of display
O

.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-

PrintCObject On = All Pages


A
R
Base Printing On = Enclosing Object
O

http://oracleapps88.blogspot.com/

PL/SQL Triggers in Reports

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/

Types of Triggers in Reports

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

Before Parameter Form

After Parameter Form

.B
8

S
P

Before Report
E

.C
T

Between pages

After Report

http://oracleapps88.blogspot.com/

Using Report Triggers


M

After Parameter Form

Example : Build Dynamic Where Clause

SELECT empno,ename,job,sal,deptno
FROM emp
&P_WHERE_CLAUSE

function AfterPForm return boolean


.Bis
8
begin
8
IF :p_dept_id is null then
S
P
:p_where_clause:='';
P
ELSE
A
:p_where_clause:='where
E
L
deptno=:p_dept_id';
C
ENDA
IF;
R (TRUE);
return
O
end;

.C
T

http://oracleapps88.blogspot.com/

Using Layout Triggers


M

.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/

Writing Common Code


M

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/

Report Builder Built-in Package


M

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

Standard Report Writer Package

.C
T

A collection of PL/SQL constructs that contains


S many

functions, procedures, and exceptions G


O
You can reference in any of your libraries
L or reports.

.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/

Contents of SRW Package


M

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

WHEN <exception> THEN


S
SRW.MESSAGE(999,
G
O ');
'Warning: An error occurred in report

.B
8

Error

WHEN <exception> THEN


P
P
SRW.MESSAGE(999,
A creating failed.);
'Error:E
Table

.C
T

http://oracleapps88.blogspot.com/

Performing SQL Statements


M

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/

Usage of User Exits


M

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/

Usage of User Exits


M

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/

Usage of User Exits


M

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/

Usage of User Exits


M

FND GETPROFILE & FND PUTPROFILE.

.C
T

These user exits let you retrieve andG


change the value of a

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/

Usage of User Exits


M

FND FLEXSQL

.C
T

This user exit can be called to create a SQL


S fragment.

O statement that retrieves


Used by the report to tailor the SELECT
L
flexfield values.
B

.
8

This fragment allows S


you to SELECT flexfield values or to create
PBY, GROUP BY or HAVING clause to limit
a WHERE, ORDER
P values returned by your SELECT statement.
or sort the flexfield

A
E

L columns defined in the report should be of data


The flexfield
C
type
ACHARACTER even though the table may use NUMBER /
DATE.
R

73

http://oracleapps88.blogspot.com/

Usage of User Exits


M

.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/

Usage of User Exits


M

Ensure you have required parameters.


.C
Ensure that the following parameters are defined usingT
the oracle
O exit calls and
reports parameter screen, these will be used in the user
P
SQL statements.

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

Initial value = 101

75

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

Report Deployment.

.C
T

Typically the report will be developed on a PC, so when


P it is ready to test
in the oracle applications environment, you must: S

Upload your .rdf file to the server box,Lensure file is uploaded


B uploaded the report will fail
properly. If the .rdf is not properly.not
8
with a signal 10 error.
8
Place the .rdf file it in the S
correct directory.
P etc) will have a directory structure and you
Each product (eg. GL, AP
P
will need to placeA
the report in the report sub-directory of the
appropriate product.
E Typically the directory structures will have
L
names like ONT_TOP
and are relatively easy to identify. You should
C
always place your custom reports in mod directories.
A
Ensure
R your report has the appropriate file permissions which allow
O oracle concurrent manager to execute it (using chmod etc).
the

76

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

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/

Report Registration Process in OA


M

Concurrent executable

.B
8

S
P

A
E

.C
T

78

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

Identify the report to the AOL layer.

.C
T

The execution file name is the operating system


Ofile name
P
(without the extension)
S
The application field tells the AOL layer
where
to look for
G
O
this file.

.B
8

S
P

A
E

79

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

Concurrent Program

.B
8

S
P

A
E

.C
T

80

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

.
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/

Report Registration Process in OA


M

Request Section
MLS Function

.C
T

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
.B
Run Alone
8
8
Enable Trace
S
Allow disabled valuesP
Pfailure
Restart on system
A

82

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

Output Section
Format
Save
Print
Columns
Rows
Style
Style Required
Printer

.B
8

S
P

A
E

.C
T

83

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

.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/

Report Registration Process in OA


M

.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

LTip :It is always suggested to start the parameter sequence

from 10 and increment by 10 or as desired.

85

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

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/

Report Registration Process in OA


M

Copy the report

.C
T

.B
8

S
P

A
E

Copy

87

http://oracleapps88.blogspot.com/

Report Registration Process in OA


M

Add your report to the appropriate request groups.


.C

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/

Report Registration Process in OA


M

Reports are made available to users by adding them to the Request


CGroup
.
assigned to a Responsibility which in turn is assigned to users.T
This
effectively makes your report appear in the List of Values which
O the user sees
P
in the Standard Report Submission screen.

.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

Concurrent Program and Request Set Loaders

FND_Program and FND_Request


Used to programmatically create:
Concurrent executables

.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

Corresponding System Administration


Window
Concurrent Program Executable
Concurrent Program
Concurrent Program Parameters
Incompatible Programs
Request Groups, master region
Request Groups, Requests region

.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

Register Concurrent Program:


Package: FND_PROGRAM
Procedure: REGISTER
Parameters:

.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

=> 'KKG List Of Contract Report'


=> 'KKG Custom Application'
=> 'Y'
=> 'KKG_LST_OF_CNTRCTS'
=> 'KKG List Of Contract Report'
=> 'KKG_LST_OF_CNTRCTS'
=> 'KKG Custom Application'
=> 'Y'
=> 'N'
=> NULL
=> NULL
=> 'Landwide'
=> 'N'
=> NULL
=> 'Text'
=> 'Y'
=> 'Y'
=> NULL
=> NULL

.B
8

S
P

.C
T

95

http://oracleapps88.blogspot.com/

FND Packages

Assign a Program to a Request Group:


Package: FND_PROGRAM
Procedure: PROGRAM_ADD_TO_GROUP

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

Register value sets for the concurrent program


Package: FND_FLEX_VAL_API
Procedure: CREATE_VALUESET_TABLE

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

Report in Microsoft excel.

.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