Application Object Library (AOL)

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 55

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

• Setting Up Your Application


• Flexfields
• Profiles

www.confluentMinds.com

3
Setting Up Your Application

www.confluentMinds.com

4
Setting Up Your Application

Oracle Applications and custom applications that integrate with Oracle


Applications need to have a particular directory structure where its
components must be available. Those components are,

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

• A function is a part of an application functionality that is registered


under a unique name for the purpose of assigning /excluding it from a
responsibility.

• Application developers register functions when they develop forms.


www.confluentMinds.com

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

• Form functions are selected


and navigated to using
Navigator window.

• Each responsibility has a


menu associated with it.

• Note the Menu name


associated with a
responsibility.
www.confluentMinds.com

8
Menus (Contd.)

• 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


responsibility and check
whether your menu entry is
appearing in corresponding
responsibility.

www.confluentMinds.com

9
Concurrent Program

• A concurrent program is an executable file that runs simultaneously with online


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

1. Any long running data intensive program


2. Operating system script
3. Oracle Reports
• The various steps to define and register a concurrent program are..
1. Define concurrent program executable
2. Define concurrent program
3. Include the concurrent program in a request group
4. Run concurrent program through submit request form.
www.confluentMinds.com

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.

• Use fnd_file.put_line(fnd_file.log, ‘any message’) to show message in conc


program log file

www.confluentMinds.com

16
Request Set

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


concurrent programs by business function with common run and print
options.

• The various tasks of the request set are linked together to determine the
execution order, whether the tasks execute sequentially or in parallel.

• Stage is a component of a request set used to group requests within the


set. All requests in a stage are run in parallel, while stages themselves
are run sequentially in the set.

• Tasks that must operate separately are created in different stages.


• After defining the initial stage for execution, all subsequent stages are
defined under the three completion status codes for the previous stage.
www.confluentMinds.com

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.

• Log into Oracle Apps as the


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

www.confluentMinds.com

21
Add custom schema to data group

• Log into Applications as the


System Administrator and
navigate to Security ->
ORACLE-> DataGroup.
• It is recommend that you use
the STANDARD datagroup
and associate the custom
schema with APPS.
• Now you can create your
custom tables, indexes and
sequences in custom
schema.
• Then Grant ALL access to
APPS.
• Create Synonyms, views,
triggers and Packages in
APPS schema.
www.confluentMinds.com

22
Responsibility

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


only those functionality of the application appropriate to their role.

• How much of an application’s functionality a user can use


• What reports and concurrent program a user can access
• Which application data these reports and concurrent programs can access.

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

• The insertion of a new valid


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

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.

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


enclosed in brackets.

• Descriptive flexfields have two different types of segments, global and context-
sensitive.

• A global segment is a segment that always appears in the descriptive flexfield


pop-up window.

• A context-sensitive segment is a segment that may or may not appear


depending upon what other information is present in your form.

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

• You can create a


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

• Save and compile


the flexfield
definition

www.confluentMinds.com

34
Global Segments (Contd.)
• Navigate to Order
Management, Enter
orders screen.

• Enter or query an order


and go to line DFF

• You can see the


additional information
you enabled now

• The DFF data gets


stored in attribute
columns of the base
table.

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.

• Provide a list of valid values using list of values feature


Validation Type for Value Set

• None (not validated at all)


• Table
• Independent
• Dependent
www.confluentMinds.com

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

Validation Type for Value


Set…

• 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

• Personal Profile Options


1. Set by the System Administrator
2. User can change the option values
3. Any changes become effective immediately
• You need to create a profile in Application Developer responsibility and then assign its
system and personal values.
www.confluentMinds.com

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

Setting System Profile


Values

• Navigate to
Sysadmin  Profiles

Setting Personal Profile


Values
• Click on Menu Edit-
>Preferences-> Profile
www.confluentMinds.com

51
User Profile

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.
Responsibility - 2
• After implementation System
Administrator sets the default profile Application - 3
values at the site level
Site - 4
• Option values are dynamically set at
Level Hierarchy
the run time

www.confluentMinds.com

52
User Profile Routines

User Profile routines that helps in retrieving option values are,

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


procedure.

• FND_PROFILE.VALUE (name IN varchar2) return varchar2 is a function.


• Syntax of referring a profile option value in value sets or concurrent
program parameters is :$PROFILES$.option_name
• Seeded profiles are
– USERNAME
– USER_ID
– RESP_ID

www.confluentMinds.com

53
References

1. Oracle Applications Documentation library - Oracle Applications


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

www.confluentMinds.com

54
Thank You

www.confluentMinds.com

55

You might also like