You are on page 1of 55

http://oracleapps88.blogspot.

com/

.C
T

G Library (AOL)
Application Object
O
L

.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

Objective

Register custom Application components


O
C
.
Understand the security authorization features ofTOracle
Applications
O
P
Run concurrent programs using StandardSReport Submission
G
Design and implement Key and Descriptive
Flexfields
O
L
Define and modify user profile .options
B

S
P

A
E

http://oracleapps88.blogspot.com/

Agenda
M

Setting Up Your Application


Flexfields
Profiles

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

.C
T

Setting
.BUp Your Application
8

S
P

A
E

http://oracleapps88.blogspot.com/

Setting Up Your Application


M

Oracle Applications and custom applications that integrate with


Oracle
.C
Applications need to have a particular directory structure T
where its
O
components must be available. Those componentsP
are,

1.
2.
3.
4.

Forms
Menus
Programs
Reports

A
E

.B
8

S
P

http://oracleapps88.blogspot.com/

Register Forms
M

.C
T

.B
8

S
P

A form is a user interfaceP


to insert ,update and delete data into and from

A , a form must be registered with Oracle Application


database. After development
E
Object Library. L
C

A
A form executable
(the fmx file) should be placed under the proper application

R eg. XXX_TOP/forms/US where XXX is the application short name


top directory
O
for a given application.

http://oracleapps88.blogspot.com/

Register Functions
M

.C
T

.B
8

S
P

A function is a partAofPan application functionality that is

Ea unique name for the purpose of assigning


registered under
L
/excludingCit from a responsibility.
A

R
Application
developers register functions when they develop
O

forms.

http://oracleapps88.blogspot.com/

Menus
M

A menu is a hierarchical
arrangement of application
functions, that is displayed in
the navigator window.

A menu consists of menu


entries , which could be a
submenu or a function.

selected and navigated to


using Navigator window.

menu associated with it.

associated with a
responsibility.

S
P

A
E

Note the Menu name


C

.B
8

Form functions are

Each responsibility has a

.C
T

http://oracleapps88.blogspot.com/

Menus (Contd.)
M

Query the menu name to


find the menu entries.

Add your functions as

menu entries here or


create a new menu with
your functions and add
that as a sub- menu
here.

Now you switch the

S
P

.B
8

P
responsibility and check
A
whether your menu entry
E
L
is appearing in
C
corresponding
A
R
responsibility.
O

.C
T

http://oracleapps88.blogspot.com/

Concurrent Program
M

A concurrent program is an executable file that runs simultaneously withO


online operations and with other concurrent programs. We need a .C
T
concurrent program for ..

1. Any long running data intensive program


2. Operating system script

.B
8a concurrent program are..
The various steps to define and register
8
S
1. Define concurrent program
P executable
P
2. Define concurrent A
program
E
L
3. Include the concurrent
program in a request group
C
A
4. Run concurrent
program through submit request form.
R
O
3. Oracle Reports

http://oracleapps88.blogspot.com/

Concurrent Program Executable

Enter a name for executable and short


name.
Choose the application to which this
executable belongs such that the system
will
look for this file in that directory structure.
Enter the execution method as
1.
2.
3.
4.

.B
8

SQL* Plus : sql files with anonymous sql blocks


PL/SQL Stored Procedure
Host
Oracle Reports

.C
T

S
Pwithout the
Enter the execution file name
P
file extension.
A
E
For PL/SQL stored
Lprocedures enter the <package>.<procedure name> in the
execution
file name. This procedure must have 2 out parameters of type
C
A
varchar2 preferably
with names errbuf and errout. These two parameters should be
R adding any other parameters.
added before
O

http://oracleapps88.blogspot.com/

Concurrent Program

Define a concurrent program,


O
Choose an executable created, which will be executed once this
concurrent
.C
T
program is scheduled to run.

.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

Define Concurrent Parameters


M

The parameters are the

placeholders for the input


values to a concurrent
program.

If the execution method of a

these parameters areE


passed
L
to the progam C
by position

concurrent program is Oracle


O
L
Reports then each parameter
B
.
is linked to the actual report
8
8
parameter via the Token field
S
in the parameters window
P

P
For PL/SQL stored procedures
A

.C
T

http://oracleapps88.blogspot.com/

Define Request Group


M

Note the Request group name for the responsibility, with which you O
want to
attach the concurrent program.

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Define Request Group (Contd.)


M

Query the request group and add your concurrent program to the group.
O

C
.
A request group is a collection of reports and concurrent programs.
T
O
A system administrator defines request group in orderP
to control user access to
S
reports and concurrent programs.
G
O
L
.B
8
8
S
P
P
A
E
L
C
A
R
O

http://oracleapps88.blogspot.com/

SRS Form
M

Then use SRS (Standard Report Submission) form for running and O
monitoring

C
your applications reports/concurrent programs at specific time .
interval.
T

This lets user specify run and print options and parameterO
value for reports and

concurrent programs.

Use fnd_file.put_line(fnd_file.log, any message)


O to show message in conc

program log file

.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

Request Set
M

Request Sets are a method of grouping multiple reports and/or


C

.
concurrent programs by business function with common
Trun and print
O
options.
P
S
The various tasks of the request set are linked
G together to determine the
O sequentially or in parallel.
execution order, whether the tasks execute
L
B
.
Stage is a component of a request
8 set used to group requests within the
8 run in parallel, while stages themselves
set. All requests in a stage are
S
are run sequentially in P
the set.
P
A
Tasks that must
operate
separately are created in different stages.
E
L
After defining
C the initial stage for execution, all subsequent stages are
Aunder the three completion status codes for the previous stage.
defined
R
O

http://oracleapps88.blogspot.com/

Define Request Set


M

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

.C
T

O
L with Oracle Apps
Custom Application Integration
.B
8
8
S
P
P
A
E
L
C
A
R
O

http://oracleapps88.blogspot.com/

Registering Custom Application

Register your custom application


O
with the Application Object
Library.
.C
T
Switch to System Administrator
O
responsibility and open
P
Applications form.
S
Register a custom application
G
with name, short name and Base
O
path.
L
In Unix, create a custom
.B
directory tree for your custom
8
schema under APPL_TOP. First
create a directory XXCUS which 8
S
will serve as the base path then
P
create other subdirectories
Pas..
Modify the applications
A
environment file toE
include the
custom schemaL
base path as
XXCUS_TOP="/u02/oracle/visap
C
pl/XXCUS"
A
exportR
XXCUS_TOP

http://oracleapps88.blogspot.com/

Registering Custom Schema

First create an user in the database using SQL*Plus under the system O
account.

.C
T

For example:

$ sqlplus system/systempword
O tablespace
SQL> create user XXCUS identified by CUST P
default
USER_DATA temporary tablespace TEMP
Squota unlimited on
G
USER_DATA quota unlimited on TEMP;
O by CUST;
SQL> grant connect to XXCUS identified
L

Then Register the user with the Application


.BObject Library.

Log into Oracle Apps as the S8


System Administrator and P
navigate to Security -> P
ORACLE -> Register. A

http://oracleapps88.blogspot.com/

Add custom schema to data group


M

Log into Applications as the


O
System Administrator and
C
.
navigate to Security ->
T
ORACLE-> DataGroup.
O
P
It is recommend that you use
S
the STANDARD datagroup
G
and associate the custom
O
L
schema with APPS.
.B
Now you can create your
custom tables, indexes and 88
sequences in custom
S
P
schema.
P
Then Grant ALL access
A to
E
APPS.
L views,
Create Synonyms,
C
triggers A
and Packages in
APPSR
schema.

http://oracleapps88.blogspot.com/

Responsibility
M

A responsibility is a set of authority in Oracle Applications that lets users


O access
only those functionality of the application appropriate to their role.
.C

How much of an applications functionality a user can useO

S
What reports and concurrent program a user can access
G

O
Which application data these reports and concurrent
programs can access.
L

.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

Create Users and assign Responsibilities

Switch to System Administrator responsibility


Navigate to Security-->User-->Define
Add or query an User.
Add responsibility to user as required.

S
P

A
E

.B
8

.C
T

http://oracleapps88.blogspot.com/

Key Flexfields
.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Key Flexfields
M

Most businesses use codes made up of


O
meaningful segments to identify Account
.C
T
Number, Part number and other business
O
entities, eg: a company might have a part
P
S
number PADNRYEL8 1/2x14
G
indicating a notepad, narrowruled,
O
yellow, and 14 by 8 1/2.
L
B
A Flexfield is a field which is made up.of
8
segments.
8
Sa set of
Each segment has a name and
P
valid values
P
A an entity
A Key flexfield identifies

http://oracleapps88.blogspot.com/

Register Key Flexfields


M

Register your key

flexfield with Oracle


Application Object
Library

.C
T

Each key flexfield has one corresponding table,


.Bknown as the combinations table,
8 codes, with one column for each
where the flexfield stores a list of the complete
8
segment of the code.
S
There is a corresponding uniqueP
ID number (a code combination ID number or CCID)
P in the combination table.
for that code which is also stored
A
A flexfield structure is aE
specific configuration of segments. Same flexfield can have
L
multiple segment structure

http://oracleapps88.blogspot.com/

Customize Key Flexfield Segments


M

A segment is a single subfield


O
within a flexfield. You define the
.C
T
appearance and meaning of
O
individual segments when
P
S
customizing a flexfield.
G
A segment is represented in
O
your database as a single table
L
column.
.B
8
Flexfield validates each
8
segment against a set of validS
P
values, which are mostlyP
A
predefined
E
A flexfield qualifier
L identifies a
C of a key
particular segment
A
flexfield.R

http://oracleapps88.blogspot.com/

Key Flexfield Feature


M

Dynamic Insertion

The insertion of a new valid


combination into a
combinations table from a
form other than the
combinations form.

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Key Flexfield Cross validation


M

CrossValidation

Crossvalidation rules prevent users from creating new key


flexfield
.C

Tsame
combinations that contain values that should not coexist in the
O
combination.
P
S

.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

B
Descriptive .Flexfields
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Descriptive Flexfields

Descriptive flexfields provide customizable "expansion space" on your


Oforms.
You can use descriptive flexfields to have additional information,
important and
.C
unique to your business, that would not otherwise be captured
Tby the form.

A descriptive flexfield appears on a form as a single-character,


unnamed field
S
G
enclosed in brackets.

Descriptive flexfields have two different


.Btypes of segments, global and contextsensitive.
8

S
P that always appears in the descriptive flexfield
A global segment is a segment
P
pop-up window.
A
E
L segment is a segment that may or may not appear
A context-sensitive
C
depending
A upon what other information is present in your form.
R
O

http://oracleapps88.blogspot.com/

Global Segments

In Order
management, if you
want to add some
extra Order line
information, then
query the DFF for
Additional Line
Attribute information

Go to Global Data
Elements context
field.

.B
8

A
Click segments to E
view the DFF L
C
segments.A
R
O

S
P

.C
T

http://oracleapps88.blogspot.com/

Global Segments (Contd.)

Already used
segments for the
DFF will appear
here

You can create a


new record and use
a previously unused
attribute and make
it enabled and
displayed

Save and compile A


the flexfield LE
definition C

.B
8

S
P

.C
T

http://oracleapps88.blogspot.com/

Global Segments (Contd.)

Navigate to Order
Management, Enter
orders screen.

Enter or query an order


and go to line DFF

P
The DFF data gets
A
stored in attributeE
columns of theL
base
C
table.

S
P

.B
8

You can see the


additional information
you enabled now

.C
T

http://oracleapps88.blogspot.com/

Context sensitive Segments

A context-sensitive descriptive
flexfield can gather context
information from either a field on
the form, or from a special field (a
context field) inside the
descriptive flexfield pop-up
window.
If the descriptive flexfield derives
the context information from a
form field, that field is called a
reference field for the descriptive
flexfield.
In DFF Segments form check
Displayed for the context.
Optionally change the prompt of
context
Choose the reference field from
LOV, which should be initially
defined in Register DFF form

A
E

.B
8

S
P

Global
Segments
Context
Field

ContextSensitive
Segments

.C
T

http://oracleapps88.blogspot.com/

Context sensitive Segments (Contd.)

The reference field


is same as a
normal form field.
Reference fields
provide a way to
map the contextsensitivity of
descriptive flexfield
information that
has been captured
to existing
conditions in your
business data.

Reference Fields

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Context sensitive Segments (Contd.)


O

Descriptive flexfield
segments...

Multiple Structure

Structure Column

.B
8

S
P

A
E

Reference field

.C
T

http://oracleapps88.blogspot.com/

Context sensitive Segments (Contd.)

If you use a reference


field, the value of that
field populates its own
column. For example, if
the reference field on the
form is the "Country"
field, it populates the
"country" column in the
table.
However, the reference
field value also populates
the structure (context)
column in the table,
since that value specifies
which structure the
flexfield displays.

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Benefits of Flexfields
M

Flexfields provides features that are required to satisfy the following O

.C
Tpractice for
1. Customize your applications to conform to your current business
O
accounting codes, product codes, and other codes.
P
S
2. Customize your applications to capture data thatG
would not otherwise be tracked
by your application.
O
L
3. Have intelligent fields that are fields.B
comprised of one or more segments,
where each segment has both a value
8 and a meaning.
8
4. Rely upon your applicationS
to validate the values and the combination of values
P fields (Cross Validation Rules).
that you enter in intelligent
P
Aof an intelligent field change depending on data in your form
5. Have the structure
E
or application
L data.
C data fields to your meet your business needs without programming.
6. Customize
A
7. R
O Query intelligent fields for very specific information.

business needs:

http://oracleapps88.blogspot.com/

Value Sets
.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Value Sets
Use value set to

.C
Determine which values users can enter into flexfield segments
T and
O
concurrent program parameters.
P
S
Provide a list of valid values using list of values G
feature
O
L
Validation Type for Value Set
.B
8
None (not validated at all)
8
S
P
Table
P
A
E
Independent
L
C
DependentA
R
O

http://oracleapps88.blogspot.com/

Table validated Value Sets

Create a validation table in your database

.C
T

Register your table with Oracle Application Object Library


O (as a table)

Create the necessary grants and synonymsGS

L table
Define a value set that uses your validation

.B
Define your flexfield structure8to8use that value set for a segment.
S
P
P
A
E
L
C
A
R
O

http://oracleapps88.blogspot.com/

Table validated Value Sets (Contd.)

Create a value set with a name ,format type and length.


O
Specify validation type as Table and click on details button
C
.
Enter the Application name (optional), table name.
T
Enter the column names which you want to display as value and
meaning
(optional)
O
Enter the column name which need to be stored in the database
P in ID field
S
Mention the data type of these columns
Enter a where and order by clause as appropriate. G

.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

Independent/Dependent Value Sets

Create your independent value set first


Create your dependent value set, specifying a default value

Define your independent values

Define your dependent values

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

Value Sets (Contd.)


M

Validation Type for Value


Set

.B
8

S
P

A
E

Dependent

.C
T

http://oracleapps88.blogspot.com/

Relationship Between Value Sets

.B
8

S
P

A
E

.C
T

http://oracleapps88.blogspot.com/

.C
T

.B
8

S
P

A
E

Profiles

http://oracleapps88.blogspot.com/

User Profile

A profile is a set of changeable options that affects the way your application
O runs
System Profile Options
1. Set by the System administrator

.C
T

2. User can not change

O only when the user logs on


3. Any change in the system profile becomes
effective
L
.B
8

again or change responsibility

Personal Profile Options

S
P
1. Set by the System Administrator
P
Aoption values
2. User can change the
E
L
3. Any changes
C become effective immediately
A
You need
to
R create a profile in Application Developer responsibility and then assign
its system
O and personal values.

http://oracleapps88.blogspot.com/

User Profile Forms


M

Define new user profile option at the time of developing a new application O
Profile names must be unique
C
.
A profile option can not be deleted
T

.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

Setting Profile Values


M

Setting System Profile


Values

Navigate to

.B
8

Values

A Edit Click on Menu

R Profile
>Preferences->
O

S
P

Setting Personal Profile A

Sysadmin Profiles

.C
T

http://oracleapps88.blogspot.com/

User Profile
M

User Profile Levels

A value set at the higher level

overrides the one set at the lower

User -1

level. User is the highest level.

O
Responsibility - 2

.B
8
Administrator sets the default profile
8
values at the site level
S
P
P set at
Option values are dynamically
A
E
the run time
L
C
A
R
O
After implementation System

.C
T

Application - 3
Site - 4

Level Hierarchy

http://oracleapps88.blogspot.com/

User Profile Routines


M

.C
T

User Profile routines that helps in retrieving option values are,

O
FND_PROFILE.GET (name IN varchar2,value OUT varchar2)
is a
procedure.

Oreturn varchar2 is a function.


FND_PROFILE.VALUE (name IN varchar2)
L
.B
Syntax of referring a profile option
8value in value sets or concurrent
8
S
program parameters is :$PROFILES$.option_name
P
Seeded profiles are P
A
USERNAMEE
USER_ID L
C
A
RESP_ID
R
O

http://oracleapps88.blogspot.com/

References
M

1. Oracle Applications Documentation library - Oracle Applications


C
.
Developer's Guide,
T
O
http://download-uk.oracle.com/docs/cd/B25516_08/current/html/docset.html

.B
8

S
P

A
E

http://oracleapps88.blogspot.com/

.C
T

.B
8

S
P

A
E

Thank You