Application Object Library (AOL)
Application Object Library (AOL)
Application Object Library (AOL)
www.confluentMinds.com
1
Objective
Register custom Application components
Understand the security authorization features of Oracle
Applications
Run concurrent programs using Standard Report Submission
Design and implement Key and Descriptive Flexfields
Define and modify user profile options
www.confluentMinds.com
2
Agenda
www.confluentMinds.com
3
Setting Up Your Application
www.confluentMinds.com
4
Setting Up Your Application
1. Forms
2. Menus
3. Programs
4. Reports
www.confluentMinds.com
5
Register Forms
• A form is a user interface to insert ,update and delete data into and from database. After
development , a form must be registered with Oracle Application Object Library.
• A form executable (the fmx file) should be placed under the proper application top
directory eg. XXX_TOP/forms/US where XXX is the application short name for a given
application.
www.confluentMinds.com
6
Register Functions
7
Menus
• A menu is a hierarchical
arrangement of application
functions, that is displayed in
the navigator window.
8
Menus (Contd.)
www.confluentMinds.com
9
Concurrent Program
10
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. SQL* Plus : sql files with anonymous sql blocks
2. PL/SQL Stored Procedure
3. Host
4. Oracle Reports
• Enter the execution file name without the
file extension.
For PL/SQL stored procedures enter the <package>.<procedure name> in the
execution file name. This procedure must have 2 out parameters of type
varchar2 preferably with names errbuf and errout. These two parameters should be
added before adding any other parameters.
www.confluentMinds.com
11
Concurrent Program
• Define a concurrent program,
• Choose an executable created, which will be executed once this concurrent
program is scheduled to run.
www.confluentMinds.com
12
Define Concurrent Parameters
• The parameters are the
placeholders for the input
values to a concurrent
program.
• If the execution method of a
concurrent program is Oracle
Reports then each parameter
is linked to the actual report
parameter via the “Token” field
in the parameters window
• For PL/SQL stored procedures
these parameters are passed
to the progam by position
www.confluentMinds.com
13
Define Request Group
• Note the Request group name for the responsibility, with which you want to
attach the concurrent program.
www.confluentMinds.com
14
Define Request Group (Contd.)
• Query the request group and add your concurrent program to the group.
• A request group is a collection of reports and concurrent programs.
• A system administrator defines request group in order to control user access to
reports and concurrent programs.
www.confluentMinds.com
15
SRS Form
• Then use SRS (Standard Report Submission) form for running and monitoring
your application’s reports/concurrent programs at specific time interval.
• This lets user specify run and print options and parameter value for reports and
concurrent programs.
www.confluentMinds.com
16
Request Set
• The various tasks of the request set are linked together to determine the
execution order, whether the tasks execute sequentially or in parallel.
17
Define Request Set
www.confluentMinds.com
18
Custom Application Integration with Oracle Apps
www.confluentMinds.com
19
Registering Custom Application
• Register your custom application
with the Application Object
Library.
• Switch to System Administrator
responsibility and open
‘Applications’ form.
• Register a custom application
with name, short name and Base
path.
• In Unix, create a custom
directory tree for your custom
schema under APPL_TOP. First
create a directory XXCUS which
will serve as the base path then
create other subdirectories as..
• Modify the applications
environment file to include the
custom schema base path as
XXCUS_TOP="/u02/oracle/visap
pl/XXCUS"
• export XXCUS_TOP
www.confluentMinds.com
20
Registering Custom Schema
• First create an user in the database using SQL*Plus under the system account.
– For example:
$ sqlplus system/systempword
SQL> create user XXCUS identified by CUST default tablespace
USER_DATA temporary tablespace TEMP quota unlimited on
USER_DATA quota unlimited on TEMP;
SQL> grant connect to XXCUS identified by CUST;
• Then Register the user with the Application Object Library.
www.confluentMinds.com
21
Add custom schema to data group
22
Responsibility
www.confluentMinds.com
23
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.
www.confluentMinds.com
24
Key Flexfields
www.confluentMinds.com
25
Key Flexfields
• Most businesses use codes made up of
meaningful segments to identify Account
Number, Part number and other business
entities, eg: a company might have a part
number ”PAD–NR–YEL–8 1/2x14”
indicating a notepad, narrow–ruled,
yellow, and 14” by 8 1/2”.
• A Flexfield is a field which is made up of
segments.
• Each segment has a name and a set of
valid values
• A Key flexfield identifies an entity
www.confluentMinds.com
26
Register Key Flexfields
• Register your key
flexfield with Oracle
Application Object
Library
•Each key flexfield has one corresponding table, known as the combinations table,
where the flexfield stores a list of the complete codes, with one column for each segment
of the code.
•There is a corresponding unique ID number (a code combination ID number or CCID)
for that code which is also stored in the combination table.
•A flexfield structure is a specific configuration of segments. Same flexfield can have
multiple segment structure
www.confluentMinds.com
27
Customize Key Flexfield Segments
• A segment is a single sub–field
within a flexfield. You define the
appearance and meaning of
individual segments when
customizing a flexfield.
• A segment is represented in
your database as a single table
column.
• Flexfield validates each
segment against a set of valid
values, which are mostly
predefined
• A flexfield qualifier identifies a
particular segment of a key
flexfield.
www.confluentMinds.com
28
Key Flexfield Feature
Dynamic Insertion
www.confluentMinds.com
29
Key Flexfield Cross validation
Cross–Validation
• Cross–validation rules prevent users from creating new key flexfield
combinations that contain values that should not coexist in the same
combination.
www.confluentMinds.com
30
Descriptive Flexfields
www.confluentMinds.com
31
Descriptive Flexfields
• Descriptive flexfields provide customizable "expansion space" on your forms.
You can use descriptive flexfields to have additional information, important and
unique to your business, that would not otherwise be captured by the form.
• Descriptive flexfields have two different types of segments, global and context-
sensitive.
www.confluentMinds.com
32
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.
• Click segments to
view the DFF
segments.
www.confluentMinds.com
33
Global Segments (Contd.)
• Already used
segments for the
DFF will appear
here
www.confluentMinds.com
34
Global Segments (Contd.)
• Navigate to Order
Management, Enter
orders screen.
www.confluentMinds.com
35
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
Global
reference field for the descriptive Segments
flexfield.
Context
• In DFF Segments form check Field
Displayed for the context.
• Optionally change the prompt of Context-
context Sensitive
Segments
• Choose the reference field from
LOV, which should be initially
defined in Register DFF form
www.confluentMinds.com
36
Context sensitive Segments (Contd.)
• The reference field
is same as a
normal form field.
• Reference fields
provide a way to
map the context-
Reference Fields
sensitivity of
descriptive flexfield
information that
has been captured
to existing
conditions in your
business data.
www.confluentMinds.com
37
Context sensitive Segments (Contd.)
Descriptive flexfield
segments...
• Multiple Structure
• Reference field
• Structure Column
www.confluentMinds.com
38
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.
www.confluentMinds.com
39
Benefits of Flexfields
• Flexfields provides features that are required to satisfy the following
business needs:
1. Customize your applications to conform to your current business practice for
accounting codes, product codes, and other codes.
2. Customize your applications to capture data that would not otherwise be tracked
by your application.
3. Have “intelligent fields” that are fields comprised of one or more segments,
where each segment has both a value and a meaning.
4. Rely upon your application to validate the values and the combination of values
that you enter in intelligent fields (Cross Validation Rules).
5. Have the structure of an intelligent field change depending on data in your form
or application data.
6. Customize data fields to your meet your business needs without programming.
7. Query intelligent fields for very specific information.
www.confluentMinds.com
40
Value Sets
www.confluentMinds.com
41
Value Sets
Use value set to
• Determine which values users can enter into flexfield segments and
concurrent program parameters.
42
Table validated Value Sets
• Create a validation table in your database
• Register your table with Oracle Application Object Library (as a table)
• Create the necessary grants and synonyms
• Define a value set that uses your validation table
• Define your flexfield structure to use that value set for a segment.
www.confluentMinds.com
43
Table validated Value Sets (Contd.)
Create a value set with a name ,format type and length.
Specify validation type as Table and click on details button
Enter the Application name (optional), table name.
Enter the column names which you want to display as value and meaning (optional)
Enter the column name which need to be stored in the database in ID field
Mention the data type of these columns
Enter a where and order by clause as appropriate.
www.confluentMinds.com
44
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
www.confluentMinds.com
45
Value Sets (Contd.)
• Dependent
www.confluentMinds.com
46
Relationship Between Value Sets
www.confluentMinds.com
47
Profiles
www.confluentMinds.com
48
User Profile
• A profile is a set of changeable options that affects the way your application runs
• System Profile Options
1. Set by the System administrator
2. User can not change
3. Any change in the system profile becomes effective only when the user logs on
again or change responsibility
49
User Profile Forms
•Define new user profile option at the time of developing a new application
•Profile names must be unique
•A profile option can not be deleted
www.confluentMinds.com
50
Setting Profile Values
• Navigate to
Sysadmin Profiles
51
User Profile
www.confluentMinds.com
52
User Profile Routines
www.confluentMinds.com
53
References
www.confluentMinds.com
54
Thank You
www.confluentMinds.com
55