Oracle 11i
System Administration
Fundamentals
Course Outline
Part 1. Oracle 11i System Administration
Overview…………………………………………. pg.5
Part 2. Setting up Printer and forms……… pg.103
Part 3. Concurrent Manager, OA Framework,
Overview of Flexfields…………………………. pg.160
Part 4. Oracle Workflow Basics………………. pg.226
Part 5. Alerts and Application DBA Duties
Course Review……………………………………… pg.292
©2006, Maverick Solutions, Inc. 1
Overall Objectives —
After the completion of this course, you will be able
to:
Describe Oracle E-Business Suite (EBS) Release 11i
architecture
Maintain the users, menus and responsibilities
Troubleshoot workflow, forms server, jServer, alerts and
printer issues
Handle the Form Personalizations, concurrent manager setup
and customization of Oracle Applications (OA) Framework
Setup and Troubleshoot Oracle Workflow
Part-1
11i Architecture
Shared entities within the 11i
Creating employees, resources, users,
responsibilities and customized menus
Performing standard tasks with Oracle Applications
Manager (OAM)**
Managing concurrent programs and reports
Multi-Org Structure**
**Typical Apps DBA topics. Will not be covered in detail for System
Administrators.
©2006, Maverick Solutions, Inc. 2
Part-2
System profile values
Printer setup**
Form Personalization
Auditing system resources
Administering customized APPL_TOP**
**Typical Apps DBA topics. Will not be covered in details for System
Administrators.
Part-3
Concurrent manager setup and maintenance
OA Framework customizations
Setting up and maintaining Flexfields
Miscellaneous tasks in OAM**
** Typical Apps DBA topics. Will not be covered in detail for System
Administrators.
©2006, Maverick Solutions, Inc. 3
Part-4
Setup and troubleshoot Oracle Workflow
Part-5
Alerts
Application DBA Duties
Course Review
©2006, Maverick Solutions, Inc. 4
Course Outline
Part 1. Oracle 11i System Administration
Overview
Part 2. Setting up Printer and forms
Part 3. Concurrent Manager, OA Framework,
Overview of Flexfields
Part 4. Oracle Workflow Basics
Part 5. Alerts and Application DBA Duties
Course Review
Oracle 11i Architecture
©2006, Maverick Solutions, Inc. 5
Understanding the 11i Architecture
Business Architecture
Supports the business needs of the company
Only after the business needs have been
addressed, that the technical architecture can
be determined
Technical Architecture
Important component in supporting the E-
Business Suite deployment
The Business Architecture of 11i
Open Foundation
11i development uses open and scalable standards
Complete end-to-end integration
11i applications deliver an integrated data and business
flow across the whole enterprise
Global
Accessible via secure global networks.
Accommodates multiple languages and currencies
Rapid Implementation
Tools include a rapid installation, patch application and a
host of configuration files and customizable help files
allow the enterprise to configure the system to meet their
needs
©2006, Maverick Solutions, Inc. 6
The Technical Architecture of 11i
Forms-based
Web-based
Java Server Pages –JSPs
OA Framework / HTML Pages
Business Intelligence
Mobile
Basic Technical Architecture
Desktop tier is only responsible for displaying the
form
There are two pieces of software that are needed
for the 11i desktop tier in form-based mode to
operate
Browser needs a JVM. The JVM is installed as an ActiveX
control (in IE)
Web listener will download numerous Java archive files
(.jar files) to your computer
Application tier is responsible for storing and
executing most of the business logic associated
with 11i
Database tier is responsible for the management
of the data associated with an 11i instance
©2006, Maverick Solutions, Inc. 7
Shared Entities
Shared entities in the 11i eBusiness Suite allow
the one-time definition of an object, and the use
of that object across several products.
Shared entities are “owned” by a single product
for table purpose only. It does not designate the
primary use or decision maker.
Shared Entities are not formally defined as such
within any single products user’s guide
Multiple products reference the same entity.
EBS Shared Entity Examples
Entity Description
AOL Application Object Library
Set of Books Accounting Information records
Unit of Measure Method of quantifying Items
Items Raw Materials, finished goods or services
Suppliers Vendors we buy form
Customers Buyers of end products or services
Salespersons Individuals who receive credit for sales revenue
Employees Personnel who perform assigned tasks
Locations Business sites (addresses)
Organizations Logical unit entities
©2006, Maverick Solutions, Inc. 8
Application Object Library (AOL)
AOL in Detail
Currencies must be enabled in AOL if you are a
multi-currency implementation.
Languages for deployment are enabled in AOL
User creation functionality is provided by AOL. A
user must have a username, the username must
be assigned one or more responsibilities.
Users are assigned responsibilities. The
responsibilities defined provides access to a
particular module in EBS.
Each responsibility have a menu associated with
it. Menus determine the functions available to a
user as well as tasks they can perform.
©2006, Maverick Solutions, Inc. 9
Set of Books
Set of Books
Owner: General Ledger
The Set of Books provides 11i with a means to
collect and quantify financial data.
There are three primary elements of set of book
Chart of Accounts
Calendar
Currency
Chart of Accounts
Your chart of accounts is the account structure you define
to fit the specific needs of your organization
You can choose the number of account segments as well
as length, name and order of each segment
©2006, Maverick Solutions, Inc. 10
Set of Books…
Accounting Calendar
An accounting calendar defines the accounting year and the
period it contains
You can define multiple calendars and assign a different
calendar to each set of books
Currencies
You select the functional currency for your set of books as well
as other currencies that you use to transact business and report
in
General Ledger converts monetary amounts entered in a foreign
currency to functional currency equivalents using supplied rates
Set of Books represents one of the main entities within the
Multiple Organizations Hierarchy
Set of Books information used by all EBS applications
Units of Measure
©2006, Maverick Solutions, Inc. 11
Units of Measure
Owner: Inventory
Units of measure (UOM) are the way that we
quantify items.
They are grouped into units of measure with
similar characteristics by UOM Classes such as
quantity, weight, time and volume
They also include conversion mechanisms that
enable you to perform transactions in units other
than the primary unit of the item being transacted
UOMs are not inventory organization-specific
Items
©2006, Maverick Solutions, Inc. 12
Items
Owner: Inventory
Items are parts that we buy, sell or with which we
transact
You choose whether to have centralized or
decentralized control of your items through a
variety of item attributes (such as description,
lead time, unit of measure, lot control, saleable
vs. purchasable, and others)
Much of the information for an item is optional
You define only the information you need to
maintain the item
Suppliers
©2006, Maverick Solutions, Inc. 13
Suppliers…
Owner: Purchasing
Set up suppliers to record information
about individuals and companies form
whom you purchase goods and services
You can also enter employees whom you
reimburse for expense report
Customers
©2006, Maverick Solutions, Inc. 14
Customers…
Owner: Receivables (AR)
Customers are stored as part of the
Trading community Architecture. The two
levels within TCA that related to customers
are
The Party Level
The Customer Account
Employees
©2006, Maverick Solutions, Inc. 15
Employees…
Owner: Human Resources (HR)
HR maintains employees to track personnel
information such as skills, benefits, jobs and
statuses.
Once defined in the system, employees can also
be used for approval activities, processing
expense transactions and the assigning of fixed
assets.
When you have not licensed the HR application
but employees are required for the applications
you have licensed, you will have limited access to
the employee tables through those applications.
Sales Force
©2006, Maverick Solutions, Inc. 16
Sales Force
Owner: CRM (Customer Relationship
Management) Foundation
Salespersons make up the sales force of an
organization.
An employee must be defined in Human
Resources (HR) application and then setup
as a salesperson and/or CRM Resource in
CRM Foundation - Resource Manager to use
CRM applications.
Locations
©2006, Maverick Solutions, Inc. 17
Locations…
Owner: Human Resources
Locations have various usages assigned to
then such as:
Bill to (where supplier send invoices)
Ship to (where suppliers send product)
Office (identifies a business address where
employees are located)
Locations can be linked to one or many
organizations
Organizations
©2006, Maverick Solutions, Inc. 18
Organizations
Owner: Human Resources
An organization may be a physical site or it can represent
collection of sites sharing certain characteristics. These
characteristics are used to define business structure within
the Oracle EBS environment.
Examples of organizations include, but are not restricted to:
Legal Entity> the business units where fiscal or tax reports are
prepared
Operating Unit> the level at which ERP transaction data is
secured
Inventory Organization> a business unit such as a plant,
warehouse, division
Expenditure/Event Organization> allows you to own events,
incur expenditures, and hold budgets for projects
Oracle 11i Security Architecture
Users, Responsibilities and Menus
©2006, Maverick Solutions, Inc. 19
11i Application Security Overview
Application Security
System Administrator manages security by
creating user sign-ons and assigning them to one
or more responsibilities.
Responsibility is a collection of authorizations that
allow access to
A specific application or applications
A set of books
A restricted list of windows, functions and reports
Web applications security
Oracle self-service Web Applications use columns, rows,
and values in database tables to define what information
user can access.
©2006, Maverick Solutions, Inc. 20
Assigning Responsibilities to Users
Assigning Responsibilities to Users
Generally you relate new application users to
existing pre-defined responsibilities
You modify an existing responsibility in one of two
ways:
Extend privileges that a responsibility owns
• Use request groups to add additional programs or report
privileges to a responsibility
• Use menus to add windows and tasks to a responsibility
Restrict privileges that a responsibility owns
• Use exclusions against a responsibility to limit menu and
function access privileges to those required for job duties
• Use request groups to limit program or report privileges for
a responsibility that requires only data entry privileges
©2006, Maverick Solutions, Inc. 21
Define Users-Defining a New
Application User
1 Enter user name and password
2 Require password change Limit access attempts
3 Enter user's start date and end dates
4 Assign one or more responsibilities
Defining a New Application User
(N) Security>User>Define
Step 1, 3 and 4 are required
Importance of Responsibility
Responsibility determines:
Menus and forms you can access
Reports you can run
The set of books you will work with
Your operating unit
Which types of applications you may access
Each application user is assigned at least
one responsibility
Responsibility determines if the user
accesses oracle applications, self-service
web applications or mobile applications
©2006, Maverick Solutions, Inc. 22
Defining an Application
Defining an Application…
Defining an Application
(N) Application>Register
You can protect custom functions, forms, reports
and programs from being lost during upgrades by
registering them
Application- Enter a user-friendly name that will
appear in lists seen by the user
Short Name- Oracle Applications use the short
name to identify forms, menus, concurrent
programs and other components of your
application
Base path- Enter the base path where your
custom forms, reports and program files are
located
©2006, Maverick Solutions, Inc. 23
Data Groups
Data Groups
A data group is a collection of pairings of
applications with an Oracle ID
Data groups automatically support concurrent
processing and cross-application reporting
They guarantee that an application connects to a
unique application database account
The installation process automatically defines data
groups for Oracle Applications
Application- Oracle ID Pairs
An application can be listed only once in a data group
An Oracle ID can be paired with more than one
application
A custom application registered with Oracle Application
can be included in a data group
©2006, Maverick Solutions, Inc. 24
Data Groups…
Data Groups and Application Object Library
AOL owns the database tables referred to
during concurrent processing and the standard
submission by any oracle application
Defining a data group, the application AOL is
automatically included
The AOL’s Oracle ID cannot be updated or
deleted
Relating Data Groups to Forms and
Programs
©2006, Maverick Solutions, Inc. 25
Components of a Responsibility
Components of a Responsibility
Required Components
Data group: a data group specifies the oracle application
database accounts to which a responsibility’s forms and
concurrent programs connect
Menu: a menu specifies the forms that a responsibility
can display and the functions it can access
Optional components
Request group: A request group lists the concurrent
programs that a responsibility can run. When a request
group assigned to a responsibility, it is called as request
security group
Exclusion: Exclusions modify a responsibility’s access to
the forms and functions specified by menu
©2006, Maverick Solutions, Inc. 26
Defining a New Responsibility
Enter application and responsibility name
Enter start and end dates
Select data group
Select menu
Select request group
Enter menu or function exclusions
(N) security>Responsibility>Define
Responsibility Creation Process
©2006, Maverick Solutions, Inc. 27
Responsibility Setup
You must assign the following to your new
responsibility:
A data group to supply the form, report, and
program connect privileges
A menu to supply access to forms within an
application
You can assign the following:
Any function or menu exclusions to control
access to the functionality of the application
A report security group to control access to
reports and concurrent programs
Managing Function Security
©2006, Maverick Solutions, Inc. 28
Function and Menu Security
You can manage security by controlling access to individual
functions through menu definitions
About functions
A function is a set of code in Oracle Applications that is
executed only if the name of the function is present in a list
maintained on a responsibility-by-responsibility basis
There are two types of functions: a form function or form, and a
non-form function or subfunction. A subfunction represents a
securable subset of a form’s functionality
Adding function to or removing functions from a
responsibility
Maintain menu structures while elimination specific functionality
Exclude individual functions from a responsibility
Adding or Removing Menus of Functions
Group functions together using menus
Exclude groups of functions by excluding a menu from a
responsibility
Using the Navigator
The navigator displays only the menu items
needed for navigations
You cannot choose subfunctions from a menu
©2006, Maverick Solutions, Inc. 29
Excluding Functions and Menus
Defining a New Menu Structure
Identify menu needs
Print function security report for similar
existing menus
Plan the menu structure
Start with blank menu form
Build the menu from bottom to top
Assign to the responsibility
Print a function security report set to
Document the new menu
©2006, Maverick Solutions, Inc. 30
Identifying Existing Menu Structures
Menu Guidelines
Design prompts with unique first letters (typing
the first letter will automatically select it)
Sequence the prompts with the most frequently
used functions first
Entries cannot be copied from one menu definition
to another
Use acronyms only when an industry term or
company word is so capitalized—for example, WIP
or COGS
Use integers in numbering
©2006, Maverick Solutions, Inc. 31
Modifying an Existing Menu Definition
Menus are called by their user menu name
Any change to a user menu name takes
effect immediately
Any existing menus that call the modified
menu use the new name
The previous name no longer appears
Any menu entry modifications take effect
immediately
Creating a Menu
Use the following guidelines as you build your
menu:
Build your menus from the bottom up. A menu structure
must already exist for a menu at a higher level to
reference it.
Give your menu both an internal and user name.
The sequence number specifies the order in which your
options are displayed on the menu.
The Navigator prompt is the prompt that the user sees to
invoke this function or menu.
Each entry on the menu definition form refers to either a
function or another submenu.
©2006, Maverick Solutions, Inc. 32
The Menu Viewer
The Menu Viewer is a read-only window that
provides a hierarchical view of the submenus
and functions of a menu, and also lists
properties of the menus and functions
When you create a new menu, your changes
must be committed to the database before you
can see them in the Menu Viewer
Using the Menu Viewer
©2006, Maverick Solutions, Inc. 33
Menu Tree Display Styles
Viewing Node Properties
Use one of the following methods to view a
node's sequence number, prompt, and
description:
Highlight the node in the menu tree to view the
properties in the properties pane
Create a separate Properties window by clicking
the "push pin" button at the top of the
Properties pane
Select Properties from the View menu
©2006, Maverick Solutions, Inc. 34
Adding a Custom Form Function
Custom form functions can be added to a
menu using the following steps:
Registration of the form in the Forms window
Creation of a function in the Forms Functions
window to provide access to the form
Addition of the form function to a menu
Oracle 11i
Concurrent Manager
©2006, Maverick Solutions, Inc. 35
Concurrent Requests, Programs and
Managers
Concurrent Processing
Concurrent processing allows long-running, data-
intensive programs to run simultaneously with
online operations
Oracle Application programs can run concurrently
with each other as well as with other programs.
They are referred to as concurrent programs.
Requests executed in Oracle Applications-for
example, to run an Oracle General Ledger report-
are concurrent requests. Each concurrent request
inserts a row into a database table maintained by
the oracle AOL.
Concurrent managers read requests table and
start concurrent programs.
©2006, Maverick Solutions, Inc. 36
Business Needs for Concurrent
Processing
Concurrent processing helps you to satisfy
the following business needs:
Continue working at your computer while
running data dependent reports and programs.
Fully use the capacity of the hardware by
executing many application tasks at once.
Business needs for Standard Request
submission
Standard request submission enables you
to:
Use standard interface to run your programs
and reports.
Control access to different reports and
programs.
View report output online
Automatically run programs, reports or request
at specific time intervals.
View a log file that summarizes the completion
information about all report and programs in a
request set.
©2006, Maverick Solutions, Inc. 37
Definitions
Concurrent Request
Concurrent Manager
Request Set
Stage
Parameter
Concurrent processing option
Online Request Review
Definitions
Concurrent Request
A concurrent request is a request that you submit to run a
concurrent program as a concurrent process
Concurrent Manager
A concurrent manager is a component of concurrent processing
that monitors and runs requests without tying up your computer
Request Set
A request set is a collection of reports or programs that you
group together. You submit the report or program in a request
set all at once using one transaction
Stage
A stage is component of a request set used to group requests
within the set. All requests in a stage are run in parallel, while
the stages themselves are run sequentially in the request set
©2006, Maverick Solutions, Inc. 38
Definitions
Parameter
In SRS, a parameter is a report variable whose
value you can change each time you run a
report
Concurrent Processing Option
You can control and change certain run options
for each of your concurrent requests
Online Request Review
You can review the output and log files from
your concurrent requests online. You can see
the results of a concurrent requests without the
delay of printing out the entire report or log file
Four Phases of a Concurrent Request
©2006, Maverick Solutions, Inc. 39
Pending Phase
Running Phase
©2006, Maverick Solutions, Inc. 40
Completed Phase
Inactive Phase
©2006, Maverick Solutions, Inc. 41
Submit Request Flow
Using the Parameters Window
Parameters window automatically appears
if you select a request that requires
parameter values.
The prompts in the Parameters window are
specific to the request that you select.
The parameters you enter are
concatenated and displayed in the
Parameters field of the Submit Requests
window.
©2006, Maverick Solutions, Inc. 42
Request ID
Oracle Applications assigns a Request ID to
each request submission so that you can
identify your request.
Use the request ID to query for your
request output in the Requests window.
Oracle Applications assigns a new request
ID to each resubmission of a request and
displays the request ID of the previous
request in the log file.
Use the Requests Window to View and
Change Requests
Use the Requests window to perform the
following functions:
View all submitted concurrent requests
Check the status of requests
Change aspects of a request's processing
options
Diagnose Errors
Find the position of a request in the queues of
available concurrent managers
©2006, Maverick Solutions, Inc. 43
Using the Requests Window
Use the various buttons to perform tasks
related to concurrent processing:
Refresh Data - Requeris the lines in the request
table.
Find Requests - Displays the Find Request
window to perform a search
Submit a New Request... - Displays the Submit
a New Request window
Hold Request - Puts a request on hold if the
request has not started running
Cancel Request - Cancels a request
Using the Requests Window
Use the various buttons to perform tasks
related to concurrent processing:
View Details: Displays the Request Detail
window. If the request has not already run, you
can change selected fields.
Diagnostics: Displays diagnostic information
about a request
View Output: Displays an online format of the
report
View Log: Displays information about the
request such as arguments used and other
technical information
©2006, Maverick Solutions, Inc. 44
Viewer Options Window
Use this window to define the MIME types
for the output formats of your concurrent
requests.
These MIME types are used in viewing the
reports.
For each file format, you can associate one
or more MIME types
Grouping Concurrent Programs and
Requests
©2006, Maverick Solutions, Inc. 45
Creating a Request Group
Request groups can include:
All the reports and concurrent programs owned by an
application
Individual concurrent requests
Request sets
Stage Functions
Request Group Creation
(N) Security>Responsibility>Request
An application name is required when defining the
request set. This application name and request
group name uniquely identify this request set.
The application name does not prevent you from
assigning reports and reports sets from other
application to this group.
Setting up Concurrent Request
©2006, Maverick Solutions, Inc. 46
Defining a Request Set
By defining request sets, you can submit
the same set of requests regularly with a
single transaction
Use the Request Set window to create and
edit request sets
You can also use Request Set Wizard to
create simple request sets
Request Set Stages
©2006, Maverick Solutions, Inc. 47
Request Set Stages
Request set are divided into one or more stages, which are
linked to determine the sequence in which the requests will
run
Each stage consists of one or more requests that you want
to run in parallel (at the same time any order)
To run requests in sequence, assign requests to different
stages and then link the stages in the order that you want
the requests to run
The concurrent manager allows only one stage in a request
to run at a time
When one stage is complete, the next stage is submitted. A
stage is not considered complete until all of the requests in
the stage are complete
Stages gives the ability to run several requests in parallel
and then move sequentially to the next stage
Stage Status
©2006, Maverick Solutions, Inc. 48
Linking of Stages
No restrictions on linking stages within a
set
Links can point to any other stage in the
set
Two or more links can point to the same
stage
Request set is completed when a stage
ends with no further links to be followed
Defining Request Sets
Step 1: Enter Request Set name
Navigate to the submit a New Request window
Enter the name of the request set
Enter a unique Set Code for your request set
Choose the application with which to associate your request set
from the list of values
Enter description for your request set
Enter Active Dates From and To fields to define an effective
period
Enable or disable print together as appropriate
Enable allow Incompatibility as appropriate
Click Define stages to define the stages for your request set
Defining a Request Set
• (N) Requests>Set
The owner filed defaults to your user name and can be
changed only by your system administrator
©2006, Maverick Solutions, Inc. 49
Defining Requests Sets
Step2: Define a Stage
Enter a name for your stage
Enter a description for your stage
Enter a short code for the stage
Use the LOV in the function field to select a function
Enable the Return Value of this Stage Affects the set
Outcome check box as appropriate
Enable the Allow Incompatibility check box as appropriate
Click Requests to display the Stage Requests window
Stages
• (N) Requests>Set>(B) Define Stages
Defining Request Sets
Step 3: Enter Requests for Stage
Select the report or program that you want to
include in this stage
Specify the number of copies of output to print,
the style to print, and the printer to print to
Enable the save check box as appropriate
Enable the Allow Stage Function to Use This
program’s Results check box as appropriate
Click parameters to display the Request
parameters window
• (N) Requests>Set>(B) Define Stages > (B) Requests
©2006, Maverick Solutions, Inc. 50
Defining Request Sets…
Step 4:Enter Request Parameter
Select the display check box as appropriate
Select the modify check box as appropriate
Use the Shared Parameter field to set a default
value for a parameter that occurs in more than
one report or program of a request set
Save your work
Request parameters
• (N) Requests >Set>(B) Requests>(B) Parameters
Defining Request Sets…
Step 5: Link Stages
Navigate to the link Stages window
Choose the start stage from the LOV of the
stages you defined for your set
Enter the stages that you want to run in the
Success, Warning, and Error Columns
Click Done when you are finished
Linking Stages in a Request Set
• (N) Requests>Set>(B) Link Stages
©2006, Maverick Solutions, Inc. 51
Submitting a Request Set
Navigate to the submit request set window
Follow the instructions for submitting requests
presented earlier
Who can use a Request Set
(N) Requests>Run>(option) Request Set >(B) OK
After you define a request set, it becomes your
private request set
Other users can run the request set only if your
system administrator assigns the request set to
their responsibility’s request group
User Request Set Privileges
©2006, Maverick Solutions, Inc. 52
System Administrator Request set
privileges
Oracle 11i
User Management
©2006, Maverick Solutions, Inc. 53
What is Oracle User Management?
Oracle User Management is a system used by:
System administrators to define the access control
policies required by their organizations
Local Administrators use those privileges to manage a
subset of the organization's users
End Users perform some self service tasks
Access Control Model
The access control model for Oracle User
Management is built in successive layers that can
be categorized as Core Security and
Administrative Features
©2006, Maverick Solutions, Inc. 54
Successive Layers of Access Control
Oracle User Management is implemented in
successive layers and each layer builds upon the
one that precedes it
Increasing Flexibility and Scalability
Each layer of Oracle User Management's core
security and administrative features provides an
increasing level of administrative flexibility and
scalability
©2006, Maverick Solutions, Inc. 55
Function Security
Function Security is the base layer of Access
Control in Oracle Applications. It restricts user
access to individual menus and menu options
within the system but does not restrict access to
the data contained within pages accessed through
those menus
Responsibilities
A responsibility represents the set of navigation
menus contained within an application
©2006, Maverick Solutions, Inc. 56
Data Security
Is the next layer and builds on Function Security.
Provides access on the data a user can view and the
actions a user can perform on that data.
Restricts access to individual data that is displayed on the
screen once the user has selected a menu or menu
option.
Role Based Access Control (RBAC)
RBAC is the next layer and builds upon Data
Security and Function Security:
Access control is defined through roles
User access to applications is determined by the roles
granted to the user
©2006, Maverick Solutions, Inc. 57
Delegated Administration
Delegated Administration enables organizations to
setup local administrators that manage a subset of
their users, and roles
Registration Processes
Registration processes enable organizations to
capture information from end users or requestors
and the allow approvers to provide the rest.
Manual registration steps are included in an
automated flow.
©2006, Maverick Solutions, Inc. 58
Self Service and Approvals
As a result of registration processes, end users are
able to self service register for new accounts or
roles. When a user requests additional roles, the
user is essentially requesting additional access to
the system
Implementing Oracle 11i User
Management
©2006, Maverick Solutions, Inc. 59
Implementing Oracle User
Management
Oracle User Management is a highly
flexible system
Organizations can configure Oracle User
Management in a variety of ways to meet their
business requirements.
The lessons in this course demonstrate common
implementation scenarios, however they are not
exclusive.
Implementation scenarios vary according to the
degree of flexibility and scalability organizations
require.
Implementation Steps
©2006, Maverick Solutions, Inc. 60
Implementation Steps
Implementation Steps
©2006, Maverick Solutions, Inc. 61
Configuring and Testing Oracle User
Management
In order to configure and test Oracle User
Management, you will need to access the
system as:
System administrator to define access control
privileges and policies for Oracle User
Management
Local administrator to use those access control
privileges to manage a subset of users and
roles
End User to use the self service features
defined by the system administrator and local
administrators.
Roles
Roles form the basis of Oracle User Management's
Role Based Access Control System (RBAC).
©2006, Maverick Solutions, Inc. 62
What are Roles?
A role represents a job function that confers the
privileges required to perform that job. Roles
Define access to responsibilities, functions and
data within an application.
Defining Roles: Data Security Policies
Data security policies determine what data users
can access and return only that set of data to
those users at runtime.
©2006, Maverick Solutions, Inc. 63
Defining Roles: Assigning Multiple
Responsibilities to a Role
Organizations can define multiple responsibilities
for a single role.
Defining Roles: Assigning a Single
Responsibility that Includes all Functions
Organizations can define a single responsibility
that includes all functions and assign it to a role.
©2006, Maverick Solutions, Inc. 64
Defining Roles: Assigning a Single Responsibility to
a Role and Granting Specific Functions
Organizations can define multiple responsibilities
for a single role.
Role Categories
Organizations can create role categories to bundle
roles and responsibilities and to make the process
of searching for roles easier.
©2006, Maverick Solutions, Inc. 65
Role Inheritance Hierarchies
Roles can be linked together so that the higher
level roles automatically include the permissions of
the lower level ones.
Assigning Permissions to Roles
You can assign permissions to a role by creating a
grant that specifies the navigation menu,
permission sets, and/or the data security policies
that are available at runtime to the role's
assignees.
©2006, Maverick Solutions, Inc. 66
Advantages of Roles Over
Responsibilities
Roles provide a more advantageous method of
user management and access control for the
following reasons
A role can be tied to multiple responsibilities
Roles can inherit the permissions of other roles
Navigation menu and security functions can be separated
Phase II: Define Roles
©2006, Maverick Solutions, Inc. 67
Steps for creating roles: Define a Role
Category
Steps for creating roles: Create a Role
within the Role Category
©2006, Maverick Solutions, Inc. 68
Steps for creating roles: Place Role in
Role Inheritance Hierarchy
Steps for Creating Roles: Assign
Permissions to Roles
©2006, Maverick Solutions, Inc. 69
Steps for creating Roles: Assign Role
to a New Person
Steps for Creating Roles: Test Role as
Customer Administrator
©2006, Maverick Solutions, Inc. 70
Delegated Administration
Delegated Administration is a privilege model that
builds on the RBAC system and that provides
organizations with the ability to assign the
required access rights for managing roles and user
accounts.
What is Delegated Administration
Once you have configured roles and role
inheritance hierarchies you can then use them to
delegate administrative tasks to local
administrators.
©2006, Maverick Solutions, Inc. 71
User Administration Privileges
User Administration privileges define the people
and users in the system that local administrators
can manage and the permissions for managing
them
User Administration Continued
Local administrators can be granted different
privileges for different subsets of users
©2006, Maverick Solutions, Inc. 72
Role Administration Privileges
Seeded Permissions for User
Administration
Oracle User Management ships with the following
user administration seeded permissions:
©2006, Maverick Solutions, Inc. 73
Managing Roles with Role
Administration
Local administrators can assign roles to or revoke
roles from users for whom they have permissions
to manage
Seeded Permissions for Role
Administration
Oracle User Management ships with the following
seeded permission for role administration
©2006, Maverick Solutions, Inc. 74
Organization Administration Privileges
Organization Administration Privileges define the
external organizations a local administrator can
view in Oracle User Management.
Seeded Permissions for Organization
Administration
Oracle User Management ships with the following
seeded permission for Organization administration
©2006, Maverick Solutions, Inc. 75
Advantage of Delegated Administration
Over Traditional System Administration
Access Control and User Management in Oracle
User Management can be Distributed instead of
centralized.
Phase III: Setting Up Delegated
Administration
©2006, Maverick Solutions, Inc. 76
Setup User Administration for a Role
Role Administration
©2006, Maverick Solutions, Inc. 77
Organization Administration
Local Administrator Test
©2006, Maverick Solutions, Inc. 78
Registration Processes
Registration processes enable organizations to
capture information from end users or requestors
and the allow approvers to provide the rest.
Manual registration steps are included in an
automated flow
Registration Processes Core
Components
Registration processes accomplish this by
encapsulating core components of
registration including:
Roles
Registration user interface
Workflow
Approval Management Transaction Type
Set of users eligible to request additional access
Identity verification if required.
Local Administrators eligible for Account
Creation by administrator’s registration process
©2006, Maverick Solutions, Inc. 79
Self Service Account Requests
Self-service account requests provide a method
for people to request a new user account.
Requests for Additional Access
Oracle User Management provides an
Access Request Tool that enables existing
users to request additional access to the
system.
©2006, Maverick Solutions, Inc. 80
Account Creation by Administrators
Administrators can benefit from existing
registration processes designed to streamline the
process of creating and maintaining user access.
Phase IV: Creating Registration
Processes
©2006, Maverick Solutions, Inc. 81
Steps for creating Registration Processes:
Provide Required Description Information
Step 2: Enter Runtime Execution
Information
©2006, Maverick Solutions, Inc. 82
Step 3: Enter Eligibility Information
Step 4:Register Subscriptions to
Business Events
©2006, Maverick Solutions, Inc. 83
Step 5: Optionally Set Profile Options
Step 6: Optionally Set Login Page Ul
Attributes
©2006, Maverick Solutions, Inc. 84
Step 7:Test as Customer Administrator
Self Service Features
Oracle User Management enables users to register
for access or additional access to applications
without requiring assistance from administrators.
©2006, Maverick Solutions, Inc. 85
Self Service Features
Self Service Features are based on pre-defined
registration processes. You can use the self
service features to test the registration processes
that you configure.
11i Oracle Applications Manager
(OAM)
©2006, Maverick Solutions, Inc. 86
Introduction to OAM
A general purpose system management
console
Monitor and control system components
Diagnose and resolve system issues
Manage system configuration
Streamline system maintenance
Build directly into the E-Business Suite
Included in rapid install and maintenance packs
Configured by Autoconfig
Integrated with function security
Benefits of OAM…
Reduce the total cost of ownership of E-
Business Suite
Improve the efficiency of IT professional
Streamline use of existing system
Reduce downtime
Reduce support costs
©2006, Maverick Solutions, Inc. 87
OAM Integrates with…
Oracle Workflow
AutoPatch
AutoConfig
AD Administration
AD Merge Patch
Cloning
Oracle Diagnostics
Oracle Metalink
Custom SQL scripts
Oracle Application Manager Console
©2006, Maverick Solutions, Inc. 88
OAM Console
The OAM console includes
Application dashboard, which includes tabs
and a dropdown list for quick access to
specific features
Site Map
Global button/links, including links for
setup, the support Cart, your home page
and online help
Navigation in OAM
OAM is available from the system administrator
responsibility
A Seeded menu, OAM Administrator menu
(OAM_ADMIN_MENU) is available from this responsibility
The application dashboard provides quick access to many
features of OAM like performance, critical activities,
Diagnostics, Business Flows and security etc
The Application dashboard also provides a dropdown list to
navigate to such features as the configuration overview,
Patch Wizard, and oracle workflow manager
The site map provides direct links to most features of OAM
©2006, Maverick Solutions, Inc. 89
Dashboard
The application dashboard provides
comprehensive summary of the oracle E-business
suite at a glance including
Configuration changes
Infrastructure usage
Performance
Required maintenance activities
Potential security issues
Status of business flows
Diagnostic test results
Graphs and charts provide summaries and allow
you to drill down more detailed information
Administration
Administration feature allows you to:
Configure and control application tier services
Manage concurrent requests
Manage oracle workflow
Make system configuration changes for
Autoconfig
Enable advanced configuration option
Manage security settings
©2006, Maverick Solutions, Inc. 90
Monitoring
Monitoring capabilities allow you to:
View system status summary information monitor
availability of system components
Monitor services by host
Monitor system components by business flow
Monitor configuration changes, including changed system
profile options
Be notified of potential problems reported by system
components or automated security tests
Monitor system security
Monitor user activity
Automatically detect runaway middle-tier processes
Diagnostic and Troubleshooting
With diagnostic and troubleshooting
capabilities, you can:
Schedule diagnostic tests and analyze their
results
Create and integrate custom diagnostic tests
Repair system problems using troubleshooting
wizards
Compare configuration settings with oracle
recommendations
Control diagnostic logging and tracing
Collect and package system information for
Oracle Support
©2006, Maverick Solutions, Inc. 91
Dashboard Configuration and Alerts
Setup
Configure the frequency of the collection of
Dashboard metrics
Enable or disable monitoring of individual
metrics or services in the Applications
Dashboard
Configure system alerts to trigger when a
given service has a specific status
Configure system alerts to trigger when a
given metric meets a specific condition
How to Set Up Dashboard
Configuration and Alerts
Click on the Setup button
Enable/disable metrics and set thresholds
Enable/disable service monitoring
Dashboard Setup
(N) Setup(B)>Dashboard Setup>Update (B)
To begin configuring the dashboard
collection, click on the setup button at the
top of any Oracle Application
©2006, Maverick Solutions, Inc. 92
Oracle MetaLink Credential Setup
Oracle MetaLink documents are available
through Oracle Applications Manager
Oracle MetaLink Credentials Setup
(N) Setup(B)>MetaLink Credentials
You can access OracleMetaLink documents
through links in OAM
To setup your credentials for Oracle
MetaLink, from the setup page, navigate to
the update Metalink credentials page and
enter your metalink userid, password,and
e-mail address
Knowledge Base Setup
Set up your knowledge base setup to
review the latest documents from Oracle
MetaLink
Knowledge Base Setup
(N) Setup (B)>knowledge Base Setup
©2006, Maverick Solutions, Inc. 93
11i Oracle Applications
Multi-Org Structure
Multi-Org
Multi-Org is a server-side (application and database) enhancement
Allows you to consolidate your operations under one installation of
Oracle Applications on a single instance
Allows you to keep transaction data secure by line and business
In Oracle Applications release 11i the following products supports
Multi-Org Capabilities
Cash Management
Order Management, Shipping Execution and Release Management
Payables
Property Management
Projects
Purchasing
Receivables
Incentive Compensation
Sales and Marketing
Service
©2006, Maverick Solutions, Inc. 94
Basic Business Needs
Support for multiple business units even if
they use different set of books
Secure access to data on a single instance
by line of business
Define different organizational models
Sell and ship from different legal entitities
Procure and receive from different legal
entitites
Produce reports across entitites or within a
single entity
Organization Model
The Multi-Org model
provides a hierarchy
that dictates how
transactions flow
through different
business units and
how those business
units interact
©2006, Maverick Solutions, Inc. 95
Definitions
Business Group: This is an organization that represents the
consolidated enterprise, a major division, or an operation
company and has no accounting impacts
Set of Books: SOB is a financial reporting entity that share
three C’s:
Chart of Accounts
functional Currency
financial accounting Calendar
Legal Entity: It represents a legal company for which you
prepare fiscal or tax reports
Operating Unit: It represents an organization that uses any
oracle subledger application. An operating unit is associated
with a legal entity
Balancing Entity: This is an entity for which you prepare
balance sheet, represented as balancing segment value in
the Accounting Flexfield structure
Security Model
The responsibility is key to multi-org
security and reporting
Determines operating unit
Determines reporting ability
Security is defined by
User
Responsibility
Application
©2006, Maverick Solutions, Inc. 96
Data Security by Application
Global Registries
For the global registries of both customers and
suppliers a “header” level of information is stored
in an unpartitioned table for all entries within an
instance.
©2006, Maverick Solutions, Inc. 97
Cross Organization Reporting
Report at multiple levels
Set of Books
Legal Entity
Operating Unit
Security Profile
MO:Top Reporting Level
Report Parameters
Reporting Level
Reporting Context
Organization Reporting options
Set of Books
©2006, Maverick Solutions, Inc. 98
Organization Reporting options
Legal Entity
Organization Reporting Options
Operating Unit
©2006, Maverick Solutions, Inc. 99
Cross organization Reporting Key
Benefits
Ability to report across operating units for
many reports
Simple reporting security setup
Financial reporting across business groups
Multi-Org reporting API for custom reports
Basic steps to enable Multi-Org
Define organization structure
Convert to Multi-Org
Perform setups unique to each operating
(i.e. Financial options, customer address
setup, supplier site setup, bank accounts)
©2006, Maverick Solutions, Inc. 100
Define the Organization Structure
Convert to Multi-Org
Run ADADMIN to convert to Multi-Org
Run Seed Data Replication for one or more
operating units
©2006, Maverick Solutions, Inc. 101
Naming Conventions
Multi-Org naming conventions should be used to identify the
oracle organizations classifications
The following are general guidelines for creation organization
names:
Sets of Books where
SOB_: is an operational book directly from subledger
COB_: is a consolidation set of books
ROB_: is a reporting set of books when using MRC
Business Group: BG_
Human Resources Organization: HR_
Legal Entity: LE_
Operating Unit: OU_
Inventory organization where
IO_ :is an Inventory Organization intended to be a subledger in
the oracle application
GM_ :is the Global Item Master
Naming Conventions
VO_: is an inventory Organization used only for
validation purposes
PO_: used for planning purposes only with no
transaction
Country Codes are abbreviations used to
identify the Organization’s country of
registration and residence. They usually
three characters in length followed by a
sequentially numbered digit for the country
Locations are the city and state address of
the organization
©2006, Maverick Solutions, Inc. 102
In review…
How can technical architecture for an Oracle 11i deployment be
determined?
Provide an example of a shared entity.
What are the three key components of traditional system
administration?
How can OAM help you perform your system administration tasks
better?
What are concurrent programs?
What is achieved by a multi-org setup of Oracle Applications in 11i
release?
Oracle 11i
System Administration
Fundamentals
Part 2
©2006, Maverick Solutions, Inc. 103
Course Outline
Part 1. Oracle 11i System Administration
Overview
Part 2. Setting up Printer and forms
Part 3. Concurrent Manager, OA Framework,
Overview of Flexfields
Part 4. Oracle Workflow Basics
Part 5. Alerts and Application DBA Duties
Course Review
Part 2
System profile values
Printer setup
Form Personalizations
Auditing system resources
Administering customized APPL_TOP
©2006, Maverick Solutions, Inc. 104
Objectives
At the end of this session you should be able
to:
Understand system profile values and how
they are used
Perform printer setups
Perform Form Personalizations
Audit the system resources
Perform customized APPL_TOP
Manage Profile Options
©2006, Maverick Solutions, Inc. 105
Personal Profile Values
Depending on the responsibility, many
users can change their personal options:
Navigate to Profile> Personal to see a list of
the profiles already defined
If the User Value field is unprotected, you can
select a value for this profile option from the list
of values or enter a value directly
All user profile option values will be stored in
FND_PROFILE_OPTIONS_VALUES table
Profile Hierarchy Types
There are three profile Hierarchy types
Security
Organization
Server
©2006, Maverick Solutions, Inc. 106
Security Types
User Level
Responsibility Level
Application Level
Site Level.
Levels of Security
Site Level: Site level settings applied to all users at an
installation site. Display, site name, Help etc.. comes under
this level
Application Level: Application level setting applied to all
users of specified application. The option values set at
application level overwrites the site level.
Responsibility Level: Responsibility level settings applied to
all users currently signed on the responsibility. The option
values set at this level overwrites the application level.
User Level: User level settings applied to individual users
identified by their application user name. The option values
set at this level overwrites the other levels.
©2006, Maverick Solutions, Inc. 107
Organization (Operating Unit) Types
User Level
Organization Level
Site Level
Definitions
Organization refers to Operating Unit
It allows System Administrators to set
profile option at organization level
The users in the particular Organization
can use the profile option values at
Organization Level
User level option overwrites Organization
level options which overwrites site level
options
©2006, Maverick Solutions, Inc. 108
Server Types
User Level
Server Level
Site Level
Server hierarchy is required to determine the
server in which the user session is running.
User level option overwrites server level options
which overwrites site level options.
Guidelines
In the Security Types, if you choose to set values
at application, responsibility or user level, you
must also specify the particular application,
responsibility or user
In the Organization Types, if you choose to set
values at organization or user level you must also
specify the particular organization or user
In the Server Types, if you choose to set values at
server or user level you must also specify the
particular server or user
©2006, Maverick Solutions, Inc. 109
System Profile Options
The System administrator can set profile
options at any level:
Navigate to Profile>System to see the Find
System Profile Values Window.
We can set a profile value at the user,
responsibility, site, or application level for
profile options using the security hierarchy
type.
Using User Profile Values as Defaults
Profile option settings may be used as a default
value for a concurrent program’s parameter or
flexfield segment in the following forms:
Concurrent Programs form, Parameters window,
Parameter Detail region
Request Set form, Report Parameters window.
Key Flexfield Segments form, Segment window,
Validation Information region
Descriptive Flexfield Segments form, Segment window,
Validation Information region
To use a profile option’s setting as a default value,
navigate to the form’s Default Type field and
select Profile. Then, enter the profile option’s
internal name in the Default Value field.
©2006, Maverick Solutions, Inc. 110
Using User Profile Values as Defaults
Profile option settings may be used as a default value for a
concurrent program’s parameter or for a flexfields segment
in the following forms:
Concurrent Programs form, Parameters window, Parameter
Detail region
Concurrent Programs form, Parameters window, Parameter
Detail region
Request Set form, Report Parameters window.
Key Flexfield Segments form, Segment window, Validation
Information region
Descriptive Flexfield Segments form, Segment window,
Validation Information region
To use a profile option’s setting as a default value, navigate
to the form’s Default Type field and select Profile.
Then, enter the profile option’s internal name in the Default
Value field.
Auditing Related Profile Options
There are two options for Auditing within Oracle
Applications:
AuditTrail: Activate
• This option enables Auditing of changes to databases tables.
It tracks which rows in the database tables were updated at
what time. This option has only two values Yes/No.
Sign-On: Audit Level
• It allows to select level at which Audit the user sign-in on
the Oracle Applications can be done. This option has 4
values. They are
– None: This is default value. It means No user would be Audited.
– User: It tracks who sign-on into your system, the time logon/off
and terminals used.
– Responsibility: It tracks the responsibilities chosen by the users
and how much time spent as each responsibility.
– Form: It tracks the forms the user chooses and how long each
form has been used.
©2006, Maverick Solutions, Inc. 111
Currency-Related Options
These profile options shows how the
control of editing of monitory fields is done
Currency: Negative Format
• This option enables the user to indicate for a negative
amount
Currency: Positive Format
• This option enables the user to indicate for a positive
amount
Currency: Thousands Separator
• It enables users to request that a comma (,) be
inserted appropriately within a number of thousand or
more
Flexfield-Related Options
1. Flexfields:AutoSkip :- It has two values Yes/No
2. Flexfields:Shorthand Entry:- It has two values Yes/No
3. Flexfields:Show Full Value:- It has two values Yes/No
4. Flexfields:Validation on Server:- It has 4 values. They are
1. Not Enabled
2. New Entries only
3. Query and new Entry
4. All Entries.
5. Flexfields:BiDi Direction:- It has two values. They are
Left to Right and Right to Left.
6. Flexfields:LOV Warning Limit:- It has one value
Number of Rows to Return.
7. Flexfields:Open Descr Window:- It has two values Yes/No.
©2006, Maverick Solutions, Inc. 112
Online Reporting-Related Options
Option Value
RRA: Enabled Yes/No
RRA: Delete Temporary Files Yes/No
RRA: Maximum Transfer Number of bytes
Size
RRA:URL Valid URL
Concurrent: Attach URL Yes/No
Personal Output Viewer Options
Option Values
Viewer: Default Font Size Point Size value
Viewer: HTML Absolute path to browser
Viewer: PDF Absolute path to Viewer
Viewer: PostScript Absolute path to Viewer
Viewer: Text Absolute path to Viewer
Concurrent: URL Lifetime Number of minutes
©2006, Maverick Solutions, Inc. 113
User Related Profile Options
Option Value
Concurrent: Report Access User/Responsibility
Level
Concurrent: Attach URL Yes/No
Concurrent: Save Output Yes/No
Concurrent: Active Request 3
Limit
Concurrent: Request Priority 1-99(Default=50)
Concurrent: Sequential Yes/No
Requests
Security Sign on Profile Options
Option Value
Sign-On: Notification Yes/No
Sign-On: Password Hard Yes/ No
to Guests
Sing-On Password Length Minimum number of
characters allowed
Sign-on Password No Number of days before
Reuse Reuse allowed.
©2006, Maverick Solutions, Inc. 114
Summary
You should now be able to do the
following:
Set user profiles as a convenience for your
application users.
Set user profiles to manage application user
activity.
Use User profile to provide default values for
concurrent program parameters or flexfield
segments.
Identify profile options typically modified by a
user.
Manage Printers
©2006, Maverick Solutions, Inc. 115
Objectives
After completing this session you should be
able to:
Define Printer types.
Register a printer as a specific printer type.
Assign a print style and print driver to a
printer type.
Create custom print style and print driver.
Create custom SRW driver.
Oracle Print Definition Components
There are four types of print definition
components.
Printer types: The printer type is the printer manufacturer
and model. Two examples are a DEC LN03 printer and an
HP Laserjet III printer.
Print Styles: A Print style defines the page format for a
printer, such as the number of lines per page, the width
of each line, and whether a header page should be
printed.
Printer Drivers: To print in a particular style from a
particular printer type, you define a printer driver. A
printer driver is the mechanism that delivers a report’s
output along with its commands to the target printer
SRW driver: It formats the text such as page break,
carriage return, line feed, text bold on/off, and text
underline on/off instructions within the output file.
©2006, Maverick Solutions, Inc. 116
Relationships of the printer
components
Print Style
Print types Printers
Printer drivers
commands
Define Printers
We can define printers in two ways.
Using predefined components: We can directly
define a printer using a predefined type.
Using Custom components:
• Define new printer type
• Define new printer Style
• Define new printer driver
• Define printer as new type
©2006, Maverick Solutions, Inc. 117
Finding existing printer Types
Before you can register a new printer, you
need to decide its type.
Use the Printer Types form to view existing
combinations of print style and printer
drivers to decide whether an existing
printer type supports your new printer
Choose from menu bar View>Find all to
see all the existing definitions.
Register a new printer
To add a new printer for an existing printer
type simply register the printer in the
Printers window.
If you need to define a new printer type,
the Printer Types button opens appropriate
window.
In order to register a printer we have to
navigate Install>Printer>Register.
©2006, Maverick Solutions, Inc. 118
Form to register a printer
Defining a new Printer Type
If an appropriate printer type is not listed
you can define a new type of printer.
Assign a style and a printer driver to print a
report in a specific style.
The Style and Driver buttons open the
appropriate windows where you can define
these items.
You can define a printer type you have to
navigate
• Install>Printer>Type.
©2006, Maverick Solutions, Inc. 119
Printer Types Window
Define a new Print Style
It tells printer how printed output should
look.
If you need to define a new printer style,
the Printer Styles button opens appropriate
window.
In Order to define new Print style
Navigate: Install Printer Style
©2006, Maverick Solutions, Inc. 120
Print Style Window
Printer Driver
To print in a particular style from a particular
printer type, you define a printer driver.
A printer driver is the mechanism that delivers a
report’s output along with its commands to the
target printer.
Navigate to install Printer driver:
Install Printer Driver under System Administrator
responsibility
The driver that delivers command to printer about
how to output a specific print style is displayed.
©2006, Maverick Solutions, Inc. 121
Printer Drivers Window
Print with Pasta
The Pasta Utility
Converts text report files to Postscript
Enables printing of custom Postscript reports from Oracle
Handles multi-lingual text using UTF8.
Has a simpler setup procedure- Printer Type, Printer
Driver and SRW driver files are provided.
Many Printing Options can be defined Using pasta
configuration file which is known as pasta.cfg.
You can use pasta.cfg to print styles like
– Portrait
– Landscape
– Dynamic.
©2006, Maverick Solutions, Inc. 122
Setup for Basic Printing with Pasta
Use the printers window to register your
printer
Enter Your printer’s name
Select “-Pasta Universal Printer” from LOV as
the Printer Type.
Now you are ready to print the text and
postscripts in your printer using default pasta
configuration.
Pasta.cfg file
The pasta.cfg file is an ASCII text file that controls
many printing options such as Margins or Output
types
It will reside on $FND_TOP/resource/ directory
If your printer is already assigned to a printer type
that contains styles and drivers that you want to
maintain, you can add pasta to the existing printer
type
©2006, Maverick Solutions, Inc. 123
Generating Other Formats using the
Preprocessing Option
Pasta can use the preprocessing option to
generate output files using formats other
than those that Pasta natively support
For example with the ghost script you can
generate PDF output. With this option
pasta invokes a program to preprocess the
pasta output before passing it to the
printer
PrintForms
PrintForms allows you to create your own
background template for a report and use
it at the time of printing either as a
background image or as a standard form
This process combines the input report file
and background template to generate one
post script file
©2006, Maverick Solutions, Inc. 124
Using PrintForms
There are two steps to using PrintForms:
Create the PrintForm
• Create an Image file using supported editor
• Covert the Image to Postscript file (*.ps)
• Covert Postscript file to print form file (*.pf)
Deploy the PrintForm to Oracle Applications.
• Place the above file in
$FND_TOP/resource/<language_code>
• Update Printer driver information to use PrintForm
Customizing Printer driver
You need to customize printer driver
When printer type requires different control
character
When control characters have different meaning
because of Operating System/Platform
When language translation changes the
meaning of Control characters
When control need special characters to select
different character sets
You can use Printer driver window to
customize printer driver
©2006, Maverick Solutions, Inc. 125
Invoking Printer Driver
There are three methods to invoke a
Printer Driver.
Using Command method
Using Programme
Using sub-routines
Customize SRW driver
SRW driver: It formats the text such as
page break, carriage return, line feed, text
bold on/off, and text underline on/off
instructions within the output file
We can customize this as follows.
Copy an existing .prt file and save
Modify the new file with new control information
Place the new file in $FND_TOP/$APPLREP
Assign the new driver to a print style or printer
driver
©2006, Maverick Solutions, Inc. 126
Sample SRW driver
srw driver-A.prt
Printer “HP laser Jet A4 Landscape”
Height 62
Width 132
Between pages control(L)
Return “ “
Linefeed control(J)
code”bold on” esc”[ln”
code”bold off” esc”[on”
code”Underline on” esc”[4n”
code”Underline off” esc”[On”
Form Personalizations
©2006, Maverick Solutions, Inc. 127
Objectives
After completing this section, you should be able
to:
Understand the basic concepts of forms
Personalization Rules and Actions
Implement a variety of common forms
Understand the intermediate concepts of Form
Personalizations: Triggers, Conditions, Multi-Lingual
issues, and Debugging
Understand the advanced concepts of Form
Personalizations: Global variables, Query-by-Example
mode. Special menu entries, and Zooms
Perform Form Personalization administration: Security,
Loading, and Performance
WARNING!
Form Personalization allows to
fundamental alterations in the behavior of
forms.
Please take the following precautions
when implementing Form
Personalizations.
1. Only allow trusted users access to the feature.
2. Thorough plan and test all form
personalizations on a test system before
moving your form personalizations to the
product server.
©2006, Maverick Solutions, Inc. 128
Overview
Form Personalization allows declarative
changes that alter the behavior of Oracle
Forms-based screens, including changing
properties, executing built-ins, displaying
messages, and adding menu entries.
Basic Concepts
Rules
Event
Condition
Scope Actions
Actions
Set a property
Execute a built-in
Display a message
Enable a special menu entry
©2006, Maverick Solutions, Inc. 129
Creating a Form Personalization
Run the form for which you want to create
a form personalization.
Select Help > Diagnostics > Custom Code >
Personalize from the Help dropdown menu.
The form personalization screen will open,
and any existing rules for that form will be
queried.
Rules
©2006, Maverick Solutions, Inc. 130
Rules About Rules
Rules govern when form personalizations get
applied. Each rule consists of the following fields:
Function Name: The name of the function you ran.
Personalizations are made for a function, not a form.
Sequence: an ordering from 1 (first) to 100 (last)
Description: optional entry that allows you to record why
you are making the personalization
Enabled: flag used to enable or disable a rule
Trigger Event: the event within the form that causes
Invocation of the rule
Trigger object: the context for the trigger event, such as
a particular block or item
Condition: an optional SOL fragment that when it
evaluates to TRUE, allows the rule to execute.
More Rules About Rules
Each rule consists of the following fields (continued):
Fire in Enter-Query Mode: checkbox that controls whether rules
should be processed during en (or-query mode processing
(QBE)
Context controls to whom form personal nations are applied.
At runtime, it the user matches any context of the rule. the
rule Is applied.
Level: the level at which the rule should be applied.
Site. Responsibility. User or Industry
Value: based on the level either Disabled or Enables
and Required. In which case it will validate against a list
of values
©2006, Maverick Solutions, Inc. 131
Actions
Rules About Actions
Actions govern what the form personalizations
does when it is applied. Each action consists of the
following fields:
Sequence: an ordering from 1 (first) to 100 (last)
Type: Property. Message. Built-in. or Special.
• Depending on the type the panel will change to show
additional fields.
Description: optional entry that allows you to record why
you are making the personalization
Language: a list of installed languages and 'ALL'
• An action associated with a specific language will only be
executed in the context of language.
Enabled: flag used to enable or disable an action
Apply Now (button): For several types, this button will be
enabled. It allows you to apply changes immediately to
target form to test its effect.
©2006, Maverick Solutions, Inc. 132
Actions: Property
Actions: Property - Example
©2006, Maverick Solutions, Inc. 133
Actions: Message
Actions: Message - Example
©2006, Maverick Solutions, Inc. 134
Actions: Built-in
Actions: Built-in - Example
©2006, Maverick Solutions, Inc. 135
Actions: Special
Actions: Special - Example
©2006, Maverick Solutions, Inc. 136
Evaluating Strings
Every property that takes a string can work
one of two ways.
If the string you type does not start with '=',
then it be used exactly as you typed it.
If the string you type starts with '=', then it will
be evaluated at runtime. You can refer to:
• bind variables, like :block.field
• SQL operators, such as II, TO CHARQ, DECODE*), and
NVL()
• Server-side functions that do not have OUT
parameters
Evaluating strings example
©2006, Maverick Solutions, Inc. 137
Intermediate Concepts
Triggers
Conditions
Sequences
Contexts
String Evaluation
Multi-Lingual Issues
Common Actions
Debugging
Triggers
All E-Business Suite forms send the following
events:
WHEN-NEW-FORM-INSTANCE: once, when the form
starts up. Trigger Object does not apply.
WHEN-NEW-BLOCK-INSTANCE: each time the cursor
moves to a new block. Trigger Object must contain the
blockname of interest
WHEN-NEW-RECORD-INSTANCE: each time the cursor
moves to a new record. Trigger Object must contain the
blockname of interest
WHEN-NEW-ITEM-INSTANCE: each time the cursor
moves to a new item. Trigger Object must contain the
blockname.itemname of interest
SPECIAL1 through SPECIAL45: each time the user selects
a menu entry from the Tools, Actions or Reports menu.
©2006, Maverick Solutions, Inc. 138
More Triggers
Many forms send the following event:
WHEN-VALIDATE-RECORD: each time the current record has
any change that needed to be validated. Trigger Object must
contain the blockname of interest.
Some forms send custom events:
For example, a form may send a message like 'REPRICE-ITEM'
at a specific event within it's processing.
We seed the Trigger Event item with the standard events, but
you can type other events into the field too.
It's easy to learn what events a form sends:
From the pulldown menu select Help > Diagnostics > Custom
Code > Show Events
Run the form of interest and a dialog will appear each time an
event is sent
Turn this mode off by selecting Help > Diagnostics > Custom
Code > Normal
Conditions
The Condition field lets you create an expression in SQL
If it is empty or evaluates to TRUE at runtime, then the Actions
are performed
If it evaluates to FALSE at runtime, then the Actions are skipped
The Condition is re-evaluated each time the rule is processed
The Condition expression can refer to:
bind variables, like :block.field
SQL operators, such as ||, TO CHAR(), DECODE(), and NVL()
Server-side functions that do not have OUT parameters
Validate: this will process the Condition immediately and
return either True, False, or an Error
Errors are in standard ORACLE error format, with an ORA
error number
©2006, Maverick Solutions, Inc. 139
More Conditions
Examples:
users.user name is not null and :users.description is null
- TRUE if the User Name field has a value and the
Description field does not
sysdate >= to_date('1 -1-2005', 'DD-MM-RRRR')
- TRUE if today's date is equal to or greater than
January 1,2005
Fire in Enter-Query mode: if checked, will cause
the trigger to be processed while in QBE mode.
It is rare that you would want this.
Sequences
Both Rules and Actions have a Sequence that
must be entered
It is there, in case you need things to be
processed in a specific order
The sequence does not have to be unique
For an Action, the Sequence is very important in
various situations, for example:
When using Built-ins, you might first move the cursor to a
particular block, then issue a query in that block
With Properties, if you are moving an item you might first
have to make the canvas a different size
©2006, Maverick Solutions, Inc. 140
Contexts
If a Rule has a context of 'Site’, it will be
applied for everyone
A rule with a context of Responsibility does
not 'override' Site
A rule with a context of User does not
'override’ Site or Responsibility
If 2 rules have the same Trigger Event, and
Actions that change the same property, the
rule with the higher sequence number will
be performed last, thus it will 'win'
How It Works
When an event occurs in the form, we look
for all enabled rules that match that
Trigger Event and Trigger Object
Starting with the Rule that has the lowest
sequence,
- if the Condition is empty or evaluates to
TRUE, we process each enabled Action, in the
order of the Action Sequence
Then we look for the next-highest
sequenced Rule and process it, until there
are no more Rules for that Event.
©2006, Maverick Solutions, Inc. 141
More Strings
Multi-Lingual Issues
Some Actions are insensitive to language, such as
setting the Required property for the field
For these, set the Language to ‘ALL’
But many Actions have text, such as properties
(PROMPT_TEXT, LABEL, TOOLTIP…), Messages
(Message Text), and Special (Menu Label)
For these, create one Action per language
Pick the appropriate language, and enter the proper text
for that language
Don’t create Conditions that are language
sensitive
Refer to internal values of fields, not displayed values
©2006, Maverick Solutions, Inc. 142
Number Issues
Depending on your profiles, you may see numbers
in fields as 1234.56 or 1234,56
However, much of Forms Personalization involves
SQL fragments, which require that numbers
always be in 'english' format (1234.56).
So, regardless of what your current settings are,
enter all numeric values in english format
Examples
• Setting the WIDTH property: 2.5
• Creating a Condition based on the value of a numeric field:
block.field>= 2.5
Date Issues
WRONG: sysdate >= to_date('1 -JAN-O5')
'JAN’ will not mean 'January in all languages
Always specify an exact mask when converting
a string to a date
Avoid Y2K issues - enter years with all 4 digits
RIGHT: sysdate >= to_date('1-1-2005',
'DD-MM-RRRR')
©2006, Maverick Solutions, Inc. 143
Common Actions of Type: Property
For Items (fields):
PROMPT_TEXT: the prompt of the item, typically next to or
above the item
DISPLAYED: if False, the item is hidden
INITIAL VALUE: the value to default on a new record. This can
only be set in the WHEN-NEW-RECORD-INSTANCE event
UPDATE_ALLOWED: if False, prevents the user from changing
the value on a queried row
LABEL: the label of a button, checkbox or radio button
NEXT and PREVIOUS NAVIGATION ITEM: to control the behavior
of Tab and Shift+Tab
REQUIRED: if True, the user must enter a value
TOOLTIP_TEXT: the bubble tip on the item
X and Y_POS: the location on the canvas, in inches
WIDTH: the width, in inches
VALUE: copy a value into the item, as if the user typed it
More Common Actions of Type:
Property
For Tab Pages:
DISPLAYED: If False, the tab page is hidden. Note that
keyboard navigation may need to be changed to prevent
access to items on the page
LABEL: the title of the tab
For Canvasses:
TOPMOST_TAB_PAGE: Determines the currently selected
Tab Page
For Windows:
TITLE: the title of the window
X and Y_POS: the location within the MDI window, in
inches
©2006, Maverick Solutions, Inc. 144
Even More Common Actions: Property
For Blocks:
DEFAULT_WHERE: the WHERE clause of the
SQL statement controlling queried records
ORDER BY: the ORDER_BY clause of the SQL
statement of the queried records
INSERT_ALLOWED: if False, prevents the user
from creating new records
UPDATE ALLOWED: if False, prevents the user
from updating any item in a queried record
DELETE_ALLOWED: if False, prevents the user
from deleting queried records
Common Actions of Type: Built-in
GO_ITEM and GO_BLOCK: move the cursor to a specific
item or the first item in a block
DO_KEY: acts like a macro, simulating user actions.
• Common Arguments:
– ENTER_QUERY: invoke QBE mode
– EXECUTE_QUERY: execute the query
– NEXT and PREVIOUS_BLOCK: move to another block
– NEXT and PREVIOUS_ITEM: move to another item
FND UTILITIES.OPEN_URL: launch a URL. Can be as
simple as 'www.yahoo.com’, or as complex as a
Discoverer page
FND_FUNCTION.EXECUTE: open a function, applying
security rules. Parameters can be passed if the target
accepts them
©2006, Maverick Solutions, Inc. 145
Common Actions of Type: Message
Show: displays a message of type Note, with an
OK button
Hint: displays text on the message line
Error: displays a message of type Error, with an
OK button Processing is aborted afterwards.
Debug: displays a message of type Note, with an
OK button
Only displays when 'Display Debug messages’ is checked
Warn: displays a message of type Question, with
OK and Cancel buttons
If the user selects Cancel, processing is aborted
Debugging Considerations
Limitations of Form Personalization
Interfering with Normal Operations
Debugging: Why Isn't It Running?
Debugging: Is It Really Running?
Debugging: Why Isn't It Sticking?
Debugging: How Do I Stop It From
Running?
Relationship to CUSTOM Library
©2006, Maverick Solutions, Inc. 146
Limitations of Form Personalization
You can only change what Forms allows at
runtime:
Cannot create new items
Cannot move items between canvases
Cannot display an item which is not on a canvas
Cannot set certain properties
Cannot change frames, graphics, boilerplate
You can only respond to certain Trigger Events:
WHEN-NEW-FORM-INSTANCE, WHEN-NEW-BLOCK-
INSTANCE, WHEN-NEW-RECORD-INSTANCE, WHEN-
NEW-ITEM-INSTANCE,WHEN-VALIDATE-RECORD (not in
all forms)
Product-specific events
Additional Limitations
Certain personalizations must be
performed at specific events:
To specify an initial value for an item, you must
perform the action in the WHEN-NEW-RECORD-
INSTANCE event of the block that contains the
item
Special menu entries can only be created at
form startup (WHEN-NEW-FORM-INSTANCE)
Certain objects may not be available to you to
change, or can not be validated
Most importantly, any change you make might
interfere with the normal operation of the form.
©2006, Maverick Solutions, Inc. 147
Interfering with Normal Operations
You may make a personalization, but it doesn't
take effect because there is code in the form that
overrides it. You may be able to perform the
personalization by moving the trigger event to a
lower level, such as block- or item-level.
Your personalization may simply produce the
wrong result due to interactions with the base
code in unexpected or untested ways. At best, this
produces an error. At worst, it could affect some
later processing.
In extreme cases, it may prevent your form from
running at all. Making it difficult to remove the
offending personalization.
Why Isn't It Running?
A rule or action may not run for a variety of reasons: The
Rule or Action is not enabled. The Condition has evaluated to
FALSE. The Trigger Event and/or Trigger Object were not
what you expected
The scope of the rule only consists of Responsibility, Industry
and/or User, and none is true for the current context
An action is executing the Built-in 'RAISE
FORM_TRIGGER_FAILURE'. That will abort all further
processing for that event
The Language of the Action, if not 'All', is different than what
you are currently running
You have set Custom Code to 'Off or 'Core code only’ in the
pulldown menu
Rules are created for a Function. You might be running the
same form, but as a different function
©2006, Maverick Solutions, Inc. 148
Is It Really Running?
It may not be obvious that your change
was applied in some cases. To resolve that:
Create a Message of Type 'Debug1 after the
Action of interest. Add some useful text
Save your changes
Check the 'Display Debug messages' checkbox.
Re-run the form
You should see your message pop up when
the proper event occurs
Why Isn't It Sticking?
Often an Action may execute, but by the time control returns
to the user the property you set has been overridden. What
can you do?
Try performing the action at a 'lower' event.
- Properties that affect all records of a block: set at WHEN-
NEW-BLOCK-INSTANCE or WHEN-NEW-RECORD-INSTANCE
- Properties that affect a specific item in a block: set at
WHEN-NEW-ITEM-INSTANCE
- The downside of the lower' events is that they fire more
frequently, and they may yield a misleading Ul (for example, a
field may look to be updateable until you navigate into it)
Be aware of Item' vs. Item-instance' properties
- 'item' level affects all instances of that item
- Item-instance1 affects only the current row of that item
- If a property is 'off at item level, it cannot be turned on
at item-instance level
©2006, Maverick Solutions, Inc. 149
How Do I Stop It From Running?
It is possible that a change you make completely
breaks a form, to the point that it will not even
run!
Here's how to recover:
On the pulldown menu, choose Help > Diagnostics >
Custom Code > Off
This will disable all callouts to Forms Personalization
Run the form of interest
It should run now, because your changes were skipped
Invoke the Personalization screen and correct the
problem
On the pulldown menu, choose Help > Diagnostics >
Custom Code > Normal to re-enable processing of
Personalizations
Relationship to CUSTOM Library
CUSTOM is a stub library Oracle ships that
receives Trigger Events. Customers are free to add
any code they like to it.
CUSTOM and Form Personalizations drive off the
same Trigger Events
Form Personalizations are processed first, then the event
is sent to CUSTOM
CUSTOM can do more because it has complete
access to all PL/SQL and SQL
But for most changes, Form Personalizations is
adequate and is significantly simpler.
©2006, Maverick Solutions, Inc. 150
Advanced Concepts
Global variables
Query-by-Example (QBE) mode
Special menu entries
"Zooming"
Global Variables Overview
GLOBAL variables are dynamically created
at runtime
They can hold up to 255 bytes
They are visible across all forms that are
currently running
They are very useful for Form
Personalizations!
Allow you to establish a value once then reuse
it
Allow you to pass information between forms
©2006, Maverick Solutions, Inc. 151
Global Variable Properties
Two (2) Properties affect them:
VALUE:
Creates it if it does not exist
Always sets the value
INITIAL VALUE:
Creates it if it does not exist, setting it to null
Only sets the value if it is currently null
Global Variables
Name any you create starting with 'XX'.
Prevent collisions with global variables that base product
code creates.
In Conditions and evaluated strings, refer to them
with :global.<name>
Example: ='Your password must have at least
‘||:global.xx_password_length||’ characters.'
References will produce an error if the variable does not
exist yet
Make sure they exist by first setting the INITIAL
VALUE property in a prior action or rule.
Remember, they are shared across all forms.
©2006, Maverick Solutions, Inc. 152
More Global Variables
Creates the global
variable
:global.xx_password_f
ailures if it did not
already exist
Sets its value to
:global.xx_password_f
ailures
Because the example
is self referencing, a
prior action needs to
have created it!
Query-by-Example (QBE) Mode
QBE is a power-user mechanism to locate records,
instead of Find Windows
Normally invoked by selecting View > Query By
Example > Enter from the pulldown menu
The built-in DO_KEY with argument ENTER_QUERY
will invoke this mode, for the current block It is a
'mode'
Things operate differently, or are suspended, until
you exit this mode by Running a query or
selecting Cancel
Specifically, any actions after invoking the mode
will not be executed until the mode is exited
©2006, Maverick Solutions, Inc. 153
More QBE Mode
Trigger Events can fire in QBE mode, or not
Set 'Fire in Enter-Query Mode' as desired
This will cause the Rule to execute in both
QBE and 'normal' mode
It is very, very, very rare that you would
want your rules to fire in this mode!
Later we'll discuss one example where this
could be used.
Special Menu Entries
Embedded in every menu are 45 entries you can activate
Each has the name SPECIAL#
SPECIAL1 though 15: under ‘Tools’
SPECIAL16 though 30: under 'Reports’
SPECIAL31 though 45: under 'Actions'
Must be activated in a Rule based on the WHEN-NEW-FORM-
INSTANCE event
©2006, Maverick Solutions, Inc. 154
More Special Menu Entries
Menu Entry: which entry you want to activate
Menu Label: the text for the menu entry
Render Line before menu: will draw a separator line above
the menu entry
Enabled In Block(s): the blocks for which the menu entry
should be enabled.
Leave blank to enable for all blocks.
Icon Name: the name of an optional .ico file, which will
render in the toolbar
Special Menu Entry Considerations
'Special’ simply activates the menu entry
At runtime, if the user selects it, it emits an event
name that matches the menu entry name
For example, if you activate SPECIAL*!, when the user
selects it the event 'SPECIAL1' will be sent
You create a second rule that triggers off that
event and does what you want
WARNING!
Base product code uses these menu entries too.
Select an entry they do not use.
The Menu Entry list shows the current label if there is
one; no label is an indication it is currently unused
©2006, Maverick Solutions, Inc. 155
Zooming
One of the most commonly requested
enhancements:
The ability to open a function, passing
context from the current function
For example, from the Purchase Orders form,
open the vendors form, and pass the vendor on
the current PO to query its details
Special+Globals+QBE lets you define these
yourself!
Administration Concepts
Securing
Performance
Loading Personalizations
Support Issues
©2006, Maverick Solutions, Inc. 156
Securing Access to Form
Personalization
Personalizations are created by invoking Help >
Diagnostics > Custom Code > Personalize on the
pulldown menu
Profile 'Hide Diagnostics menu entry'
'No': makes the Diagnostics menu entry visible
'Yes': hides the menu entry completely
Profile 'Utilities: Diagnostics’
'Yes': allows direct access of the feature
'No': requires entry of the Apps password first
These same profiles control access to features like
'Examine', ‘Item Properties' and ‘Trace‘
Like Form Personalizations, these features can be used to
change or view any data!
How Form Personalizations Perform
When an event occurs in the form, we look for all
Rules that match that Trigger Event and Trigger
Object
Starting with the Rule that has the lowest
sequence
if the Condition is empty or evaluates to TRUE, we
process each enabled Action, in the order of the Action
Sequence
We look for the next-highest sequenced Rule and
process it, until there are no more Rules for that
Event.
Then the event is passed to the CUSTOM library
©2006, Maverick Solutions, Inc. 157
Debugging Personalization
Performance
Conditions, and some Values, are evaluated in the
database
Conditions create a SQL statement like:
select ‘x’ from dual where <condition>;
String evaluations that start with '=' create a SQL
statement like:
select <string> the_text from dual;
Strings can also include arbitrary SQL statements
of the form:
SELECT <something> A FROM Remainder of SQL>
The FORMS_DDL built-in can contain arbitrary
PL/SQL blocks
You will see all of these in Trace files
Loading Personalizations
Download (extracting from a test system)
FNDLOAD <userid>/<password> O Y DOWNLOAD
$FND_TOP/patch/115/import/affrmcus.lct<filename.ldt>
FND_FORM_CUSTOM_RULES function_name=<function
name>
Function_name is a required parameter; if it is not
supplied then no personalizations are downloaded.
Rules can only be extracted one function at a
time
Upload (inserting into a production system):
FNDLOAD <userid>/<password> O Y UPLOAD
$FND_TOP/patch/115/import/affrmcus.lct<filename.ldt>
Before uploading, all rules for that function in the
target db are first deleted
©2006, Maverick Solutions, Inc. 158
Support Issues
Oracle supports that the feature will invoke the indicated
action at the indicated event.
Oracle does not support:
That all desired changes can be made.
That product team code will not override or interfere with a
change.
That a personalization will work after an upgrade.
Oracle Support and Development cannot provide assistance
on how you can make personalizations to a particular form
using this mechanism.
Before contacting Oracle Support, you should always confirm
that your personalizations are not the source of the problem.
Check that a problem still reproduces after choosing Help >
Diagnostics > Custom Code > Off
In review…
How are system profile values used?
Describe printer setups you might be asked
to perform.
Why are Form Personalizations necessary?
How can you audit the system resources?
©2006, Maverick Solutions, Inc. 159
In review…
Now you should be able to:
Understand system profile values and how
they are used
Perform printer setups
Perform Form Personalization
Audit the system resources
Perform customized APPL_TOP
Oracle 11i
System Administration
Fundamentals
Part 3
©2006, Maverick Solutions, Inc. 160
Course Outline
Part 1. Oracle 11i System Administration
Overview
Part 2. Setting up Printer and forms
Part 3. Concurrent Manager, OA Framework,
Overview of Flexfields
Part 4. Oracle Workflow Basics
Part 5. Alerts and Application DBA Duties
Course Review
Objectives
At the end of this part you should be able to:
Administer Concurrent Manager
Perform OA Framework personalization
Setup and maintain Flexfields
Perform OAM tasks
©2006, Maverick Solutions, Inc. 161
Administering Concurrent
Managers
Objectives
At the end of this topic, you should be able
to:
Define managers and their work shifts
Specialize managers to run only certain
programs
Classify a program as a request type
Control concurrent managers
Manage parallel concurrent processing
Use conflict domains to maximize
throughput
©2006, Maverick Solutions, Inc. 162
Overview
Generic Service Management
GSM provides a powerful framework for managing
processes on multiple host machines
Concurrent managers as well as other Applications
tier services can be managed under GSM
With GSM, the internal concurrent manager
manages the various service processes across
multiple hosts
On each host, a Service Manager acts on behalf of
the ICM, allowing the ICM to monitor and control
service process on that host
©2006, Maverick Solutions, Inc. 163
Defining a Concurrent Manager
Defining a Concurrent Manager
You can define as many concurrent managers as
you need.
To define a manager:
Assign a predefined library of immediate concurrent
programs to your manager
Assign work shifts to your manager, which determine
what days and times the manager works
For each work shift, define the maximum number of
operating system processes the manager can run
concurrently to read requests during the work shift
Specialize your manager to read only certain kinds of
requests
©2006, Maverick Solutions, Inc. 164
Defining Work Shifts
A work shift is a labeled duration of time:
Hours in a day
Days in a week
Specific days in the year
Balancing Process WorkLoad Overtime
©2006, Maverick Solutions, Inc. 165
Work Shifts and Priorities
Concurrent Manager Window: Program
Libraries
A program library contains immediate concurrent
programs that can be called by your manager
Each manager can only run the immediate
programs included in its program library
An immediate concurrent program must be
registered with a program library before it can be
run by a manager
Application developers using Oracle Application
Object Library can register concurrent programs
with a program library. System administrators
cannot.
Concurrent Managers
(N) Concurrent>Managers>Define
©2006, Maverick Solutions, Inc. 166
Assigning Work Shifts to a Manager
You can define the maximum number of
programs that a concurrent manager can
run simultaneously by assigning a number
of target processes to a work shift
Balance program processing across
different time periods by assigning your
manager a different number of target
processes during different work shifts
(N) Concurrent> Manager>Define>(B) Work
shifts
Specializing Concurrent Manager
You can use specialization rules to restrict
a concurrent manager to process only
certain types of requests
Define specialization rules to identify the
types of requests that a manager will read
Without specialization rules, a manager
reads requests to start any concurrent
program
(N) Concurrent>Manager>Specialization Rules
©2006, Maverick Solutions, Inc. 167
Specializing a Concurrent Manager:
Combined Rule
Whenever you have a generalized rule that
is appropriate for many different
concurrent managers, you should consider
turning the rule into a combined rule
A combined rule is a specialization rule with its
own name.
Combined rules provide easy Maintenance
(N) Concurrent>Manager>Rule
Specialization Rules
©2006, Maverick Solutions, Inc. 168
Defining Specialization Rules
Defining Specialization rules
Use actions and qualifications to define
specialization rules
An action defines a concurrent manager’s
behavior toward the request
Include and exclude actions
The manager runs requests that are included
The manager does not run requests that are
excluded
Exclusion rules override inclusion rules
Action Types
©2006, Maverick Solutions, Inc. 169
Combined Multiple Actions Within
Rules
Concurrent Request Types
You can classify programs as request types
that users request at the same time or that
require similar processing times
Use request types to save time when
defining the specialization rules of a
concurrent manager
Use request types to let certain programs
run without having to wait for other types
of programs to finish processing
©2006, Maverick Solutions, Inc. 170
Using Request Types
Conflict Domains
©2006, Maverick Solutions, Inc. 171
Processing Conflict Domains
All programs are assigned to a conflict
domain when they are submitted.
Defining Conflict Domain
(N) Concurrent>Conflicts Domains
Conflict domain identifies the data that creates
the incompatibility
The concurrent manager assigns a conflict
domain based on the following hierarchy:
A program parameter
The profile option Concurrent: Conflicts Domain
Standard default domain
Control Functions of Concurrent
Managers
Control concurrent managers by activating
or deactivating one or all of the managers:
Activate All Manager Simultaneously
Deactivate All Managers Simultaneously
Activating and Deactivating Individual Managers
©2006, Maverick Solutions, Inc. 172
Internal Monitor Process
Internal Concurrent Manager
The Internal concurrent manager can run
on any node and can be activate or
deactivate concurrent manages on the
same or other nodes
The sole job of an Internal Monitor process
is to monitor the ICM and to restart that
manager if it fails
Only one internal monitor process can be
active on a single node
©2006, Maverick Solutions, Inc. 173
Defining a Transaction Manager
Some forms require synchronous
processing of particular requests.
Transaction managers handle these
synchronous requests.
Each transaction manager is associated
with a particular data group. Transaction
managers can run requests submitted only
from a responsibility associated with the
same data group.
Use the Concurrent Managers window to
define a transaction manager.
View Log and Output Files
©2006, Maverick Solutions, Inc. 174
Managing Parallel Concurrent
Processing
Managing Parallel Concurrent
Processing
You can distribute concurrent processing across
multiple nodes in a cluster
Benefits of PCP
High performance
Fault tolerance
Adaptability
Single point of control
Each node consist of one or more processors and
its associate memory
Each node has it own memory that is not shared
with other nodes
Each node operates independently of other nodes
except when sharing resources
©2006, Maverick Solutions, Inc. 175
Personalizing
OA Framework Pages
Objectives
After completing this lesson, you should be able to:
Understand the differences between
personalizations and extensions
Understand the capabilities of personalizations
Understand Administrator-level personalizations
Understand User-level personalizations
Understand the benefits of personalizations
Complete an OA Framework Personalization lab
©2006, Maverick Solutions, Inc. 176
Terminology
Personalization: Declaratively tailoring Ul
look-and-feel, layout or visibility of built-in
content to suit a business need or a user
preference
Extension: Extending the functionality of
an application by
Adding new content or business logic
Extending/overriding existing business logic
• Requires JDeveloper OA Extension
System Personalization Capabilities
Menus and responsibilities
Cascading Style Sheet (CSS)
FND messages, lookups, etc.
Icons and images
Page Personalizations
Business preferences
End user preferences
©2006, Maverick Solutions, Inc. 177
Concepts: Personalization levels
Personalizations modify the
user interface of a page
Personalizations are layered
on top of the base page at
runtime
Base product pages are not
changed
Two types of
personalizations
Administrator
personalizations
End User personalizations
Concepts: Personalization levels
Administrator
Personalization
Function
Location
Site
Organization
Responsibility
End User
Personalization
User Views
©2006, Maverick Solutions, Inc. 178
Administrator Personalization
Features
Tailor text for labels, prompts, and tip
messages.
Hide/show components.
Reorder components.
Restrict query results.
Add new items: fields, buttons, links, pick
lists, images, and so on.
Tailor graphs and charts.
Seed end-user views.
What Can Be Personalized by
Administrators?
By default, all OA Framework-based pages
can be personalized at the administrator
level, with the following exceptions:
Pages or regions where the application
developer has disabled administrator
personalization
Personalizations seeded by Oracle development
cannot be changed or deleted
©2006, Maverick Solutions, Inc. 179
When Is Personalization Not Enough?
Page personalization has some limitations:
Cannot add a new region to an existing page
Cannot modify business logic such as data
validation
Cannot build new pages
Limited ability to change page flows
You may need to create an extension
Use Oracle 9i JDeveloper with OA Extension
Extend business logic
Build new pages
Admin Personalization: Before and
After
©2006, Maverick Solutions, Inc. 180
Admin-Level: Where Do I Start?
How do I create personalizations?
1. Set profile options for your username
2. Analyze your requirements and options
3. Select the page you want to personalize
4. Select Personalize link to enter personalization Ul
5. Choose scope and context
6. Create your specific personalization
7. Return to your application page
8. Test your changes
9. Deploy to production
Profile Options for Personalization
Enable Diagnostics for analysis
FND: Diagnostics enables About This Page
Enable or disable personalization capabilities
Personalize Self-service Defn enables
Personalize link at top of pages for creation of
personalizations
FND: Personalization Region Link Enabled
provides additional Personalize links for every
region on a page (optional)
Disable Self-service Personal disables ALL
personalizations for support purposes
©2006, Maverick Solutions, Inc. 181
Analysis
Use the About This Page feature to analyze:
Existing personalizations
Regions in the page
View objects (underlying data sources) used in the page
Menu and function structures used for navigation to the
page
Current settings of commonly-used profile options
Flexfields available in the page
And much more
Use the personalization Ul to analyze existing
personalizations.
About This Page
If diagnostics is turned on, the About This Page
link appears on the bottom of every page.
©2006, Maverick Solutions, Inc. 182
Subtabs
Subtabs provide different information
Navigate to Page and Start
Personalizing
In the page you want to personalize, select a
personalize link (region level links are turned on)
©2006, Maverick Solutions, Inc. 183
Select page to personalize
Use the functional administrator responsibility to
personalize any page in OA Framework based
application.
Set Administrator Personalization
Scope
Scope - How far the personalization reaches through the
applications
A page: any shared regions are only changed for that page
A shared region: personalizations apply for any page using that
shared region (assuming the personalization context is valid)
©2006, Maverick Solutions, Inc. 184
Set Administrator Personalization
Context
Context - where and when a personalization
applies:
A particular responsibility, organization, location, site,
function (or a combination of these)
Find Object to Personalization
Expand nodes (or Expand All) to find item you
want to personalize.
©2006, Maverick Solutions, Inc. 185
Optional: Search for Item in Page
If you know which object you want, Search makes
it easy to find.
Create your personalization
Select icons to personalize an object.
Personalize (item or region)
Reorder (region)
Create item (region)
Update item (created items only)
Delete item (created items only)
Seeded user views (tables in query regions only)
©2006, Maverick Solutions, Inc. 186
Modify Object Properties
Change one or more properties of an object.
Set values at multiple levels at one time.
Check inheritance of property values.
Override dynamic property settings (SPEL values).
Properties vary according to object style
Common Properties to Personalize
Properties
Rendered - whether the field exists in the page
all (either hidden or displayed)
Disabled
Required
Initial Value
Records Displayed
Destination URL and/or Destination Function
User Personalization
Title, Prompt and/or Text
©2006, Maverick Solutions, Inc. 187
Modify Query Filters
Change query criteria for a region by selecting the
icon for the Query property.
Change Sort Order
Change the sort order of table columns where
available.
©2006, Maverick Solutions, Inc. 188
Create a New Item
Select the Add Item
icon for a region.
Choose an item style.
Set properties for the
new item.
Common Item Styles to Personalize
Item styles
Message Text Input is a text input field
Message LOV Input is a text input field with list of values
Message Styled Text is a display-only data field
Static Styled Text is boilerplate text on the page
Tip is instructional text in the Tip format
Button links to another page or web site
Image lets you add an image (often used as a link)
Formatted text lets you add raw HTML content
©2006, Maverick Solutions, Inc. 189
Connecting a new item to data source
Use the view instance and view attribute
properties to bind a new item to an
available data source. Find this information
using this page.
View instance is the view object instance name.
• <view object name> VO<may have a number
1,2,3…so on>
View attribute corresponds to the data source
column you want.
Return to Your Application Page and
Test
Select the Return to Application link to return from
the personalization user interface
©2006, Maverick Solutions, Inc. 190
Managing Administrator
Personalizations
Deleting personalizations
Enabling or disabling personalizations
Translating personalizations
Deploying personalizations (moving from
one environment to another)
Manage Personalization Levels
You can enable, disable, or delete selected
personalizations.
©2006, Maverick Solutions, Inc. 191
Troubleshooting Administrator
Personalizations
Things to check if a personalization does not
appear as expected:
Is the personalization overridden by another
personalization at a different level or an end user view?
Is the current context the same as the personalization
context?
• For example, are you using the responsibility specified in the
context for a personalization?
If everything seems correct but personalization
does not take effect developer has prevented
personalization or may be overriding it.
Troubleshooting Administrator
Personalizations
What to do if a personalization causes the
page to have an error:
If the page can run:
• return to the page
• select the Personalize Page link
• either correct the personalization or delete it using the
Manage Personalization Levels page.
©2006, Maverick Solutions, Inc. 192
Troubleshooting Personalizations
If the page cannot be run at all, use the
Application Catalog page in the Functional
Administrator responsibility
find the personalization
select Manage Levels to go to the Manage
Personalization Levels page
deactivate or delete the personalization.
Last resort: use the PL/SQL package
JDR_UTILS to examine and delete a
personalization
Examine Personalizations Using
SQL*Plus
As a last resort, use the JDRJJTILS PL/SQL
package in SQL*Plus:
Allows detailed examination of personalization
documents that already exist in MDS Repository
List any personalization documents
Print out existing personalization documents
Print out any translations of personalizations
©2006, Maverick Solutions, Inc. 193
User-level Personalizations
Inquiry pages using query regions can be
personalized to create specific views of
data:
Query filters
Order of columns
Column prompts
Hide or show columns
Access personalization Ul from Save View
Personalize button.
User Level Personalization Features
Create and save a search
Tailor table column titles
Hide/show columns
Reorder columns
Add a data filter
Change sorting order
©2006, Maverick Solutions, Inc. 194
User Level Personalizations
Enter the personalization Ul using the Save Search
button if it is available on a Search region
User Level Personalizations: Views
©2006, Maverick Solutions, Inc. 195
User Personalizations: Sort and Filter
Users can change sort orders where available and
can add query criteria to the personalized view.
User Personalizations: Column
Renaming
Users can rename results table columns and total
them if applicable.
©2006, Maverick Solutions, Inc. 196
User Personalizations: Multiple Views
Users can choose among personalized views and
personalize them further.
Users Maintain User Personalizations
©2006, Maverick Solutions, Inc. 197
Default Personalizations for Users
User personalizations can exist at three
levels:
Seeded by Oracle development
Created by administrator
Created by end user
Deploying Personalizations
Personalizations can be created in a test
environment, then deployed to one or
more production environments.
Create and test your personalizations in a
test database
Export personalizations as XML files
Export tool
Import personalizations to a different
database
Import tool
©2006, Maverick Solutions, Inc. 198
Translating Personalizations
XLIFF (.xlf) files allow translations.
Always create initial personalizations in the
base language of the applications instance.
For a small number of translations use
Export/Upload Translations buttons on the
Manage Personalization Levels page
Translating Personalizations
Importing or exporting personalization
translations in bulk
Use the Export tool to obtain XML files.
Use the XLIFF Extractor to extract
translation information from the page XML
files.
Use the XLIFF Importer to load translations
into the database repository.
©2006, Maverick Solutions, Inc. 199
Benefits of Personalizations
Personalizations survive upgrades and patches.
Admin-level personalizations are available on any
component.
User-level personalizations are available on
queries.
Administrators can easily disable personalizations
for debugging.
Personalizations can be translated.
Personalizations can be implemented on a test
system, and they allow for immediate feedback.
Flexfields
©2006, Maverick Solutions, Inc. 200
Customizing Oracle Applications
Flexfields
A flexfield is a customizable field that opens in a
window in a regular Oracle Applications window
You can define flexfields to modify or extend
Oracle Applications without programming
By using flexfields within Oracle Applications, you
can
Structure certain identifies required by Oracle
Applications according to your own business environment
Collect and display additional information for your
business as needed
©2006, Maverick Solutions, Inc. 201
Flexfield Structures and Flexfield
Segments
Segments
A flexfield is composed of segments
The segments of a flexfield contains flexfield
values
Flexfield segments are combined in a grouping
called a structure
A single flexfield can have more than one
structure
The example on the previous slides shows three
segments
Category
Item
Color
These three segment together form a structure
©2006, Maverick Solutions, Inc. 202
Key and Descriptive Flexfields
Flexfield Types
There are two types of flexfields
Key flexfields
Descriptive flexfields
You use key flexfields to define your own
structure for many of the identifiers
required by Oracle Applications
Your use descriptive flexfields to gather
additional information about your business
entities beyond the information required by
Oracle Applications
©2006, Maverick Solutions, Inc. 203
Key Flexfields
Key Flexfields
In Oracle Applications you use key
flexfields as identifiers for entities
A key flexfield appears as a normal field on
a form
Any existing value for the key appears in
the field as a concatenated value having
segment separators
A key flexfield structure usually consists of
multiple segments, each of which contains
meaningful information
©2006, Maverick Solutions, Inc. 204
Key Flexfield Example:
Accounting Flexfield
The accounting flexfield is used to create and
display account numbers
The accounting flexfield is owned by Oracle
general ledger, but accounting flexfield values are
used by many of the financial applications
Oracle Applications Key Flexfields
©2006, Maverick Solutions, Inc. 205
Descriptive Flexfields
Descriptive Flexfields
You can use descriptive flexfields to collect information
beyond what is collected by Oracle Applications
Using descriptive flexfields allows you to gather additional
specialized information required by your business
The use of descriptive flexfields is optional
Descriptive flexfields appears on a form as a single field
enclosed by brackets
A descriptive flexfield typically uses multiple structures. You
can:
Define a basic structure that gathers additional information for
all entities
Define several different structures that gather specialized
information for different types of the same general entity
Define a combination of two. This structure can gather general
information about all entities and then optionally gather certain
information about certain types of entities
©2006, Maverick Solutions, Inc. 206
System Monitoring
in
Oracle Applications Manager
Objectives
After completing this lesson, you should be
able to:
Monitor system performance and
components
Monitor critical activities, business flows,
and security issues
Monitor Oracle Forms sessions, Jserv
instances
Manage hosts
©2006, Maverick Solutions, Inc. 207
System Status Overview
System Components Status
Host
Database
Concurrent Processing
Forms
Web
©2006, Maverick Solutions, Inc. 208
System Performance
System Alerts, Metrics, Logs
©2006, Maverick Solutions, Inc. 209
Database Initialization (init.ora)
Parameters
Monitoring Critical Activities
©2006, Maverick Solutions, Inc. 210
Critical Activities Setup
To enable/disable monitoring of individual
purge programs:
In Critical Activities tab of the dashboard, click
on "Modify Monitored Program List" button
Select the programs to be monitored
To specify Onsite Frequency for purge
programs:
In Critical Activities tab of the dashboard, click
on "Update Frequency" button
Enter the desired frequency for each purge
program
Monitoring Business Flows
Monitor system components within the
context of business flows:
View hierarchical representation of flows
Monitor system alerts, concurrent request
errors, Workflow errors related to each flow or
sub-flow
Control monitoring of the components for a
particular flow
©2006, Maverick Solutions, Inc. 211
Applications Dashboard - Business
Flows
Business Flow Details
©2006, Maverick Solutions, Inc. 212
Monitoring Oracle E-Business Suite
Security
Oracle Applications Manager combines with
Oracle Diagnostics to help you monitor the
security of your E-Business Suite System.
Security Dashboard Page
Diagnostic tests detect potential security
issues and vulnerabilities
Standard tests developed by Oracle
Integrate your own tests
System Alerts are posted for security
diagnostic test failures and for certain
other security related events
Monitoring E-Business Suite Security
Setup - Diagnostic Tests
Set up security diagnostic tests to run
periodically using the "Run Diagnostic
Tests" concurrent program
©2006, Maverick Solutions, Inc. 213
Applications Dashboard - Security
Database Status Details
©2006, Maverick Solutions, Inc. 214
Application Services
Monitoring Forms
OAM provides several pages to help you
monitor Oracle Forms activity in Oracle E-
Business Suite.
Forms Sessions
Forms Runtime Processes
Forms Runaway Processes
©2006, Maverick Solutions, Inc. 215
Forms Sessions
Use this page to find information on
database sessions corresponding to current
forms sessions.
Forms Runtime Processes
For each Forms runtime process listed, the
following information is given:
PID Node
Port Memory
CPU
Duration
Client IP Address
Diagnostics
Last Update Time
©2006, Maverick Solutions, Inc. 216
Forms Runaway Processes
Monitoring JServ
Monitor "Oracle Applications Core" JServ
instances in the Application Tier
Memory usage snapshots
Monitor Application Module Pool usage for
Oracle Applications Framework
Monitor the database connection pool
©2006, Maverick Solutions, Inc. 217
Monitoring JServ -Setup
AutoConfig must be used to configure your
system
Only tracks JServ instances in the OA Core
group
Monitoring Jserv - Usage
©2006, Maverick Solutions, Inc. 218
Host Management
Host Management - Status
Application Services
Application Processes
©2006, Maverick Solutions, Inc. 219
Host Management - Configuration
Diagnostics and Troubleshooting in
Oracle Applications Manager
Oracle Applications Manager provides you
with these features:
Support Cart
Diagnostics Summary in the Applications
Dashboard
Ability to control Oracle Applications Logging
Troubleshooting Wizards
©2006, Maverick Solutions, Inc. 220
Applications Dashboard - Diagnostics
Troubleshooting Wizards
Concurrent Manager Recovery
Service Infrastructure
GCS and Forms Monitoring
CP Signature
Dashboard Collection
Statspack Report
©2006, Maverick Solutions, Inc. 221
Concurrent Manager Recovery Wizard
This diagnostic wizard should be used when
the Internal Concurrent Manager fails to
start due to corrupted internal state
information.
The Internal Concurrent Manager must not
be running at the time the wizard is run.
Service Infrastructure Wizard
Use this wizard to examine existing Generic
Service Management data to determine
potential problems, and to update the data
to eliminate issues.
©2006, Maverick Solutions, Inc. 222
Generic Collection Service (GCS) and
Forms Monitoring Wizard
This wizard helps you troubleshoot the
OAM Generic Collection Service.
CP Signature
The CP Signature Wizard collects
information regarding the current status of
concurrent processing on the system.
©2006, Maverick Solutions, Inc. 223
Dashboard Collection Wizard
This wizard collects relevant data
concerning the OAM Applications
Dashboard Collection program.
Statspack Report Wizard
Statspack is a feature of the Oracle
database that allows for the collection,
automation, storage, and viewing of
performance data.
The Statspack Report wizard allows you to
compare Statspack data from two different
snapshots of your instance.
©2006, Maverick Solutions, Inc. 224
Support Cart
In review…
Now you should be able to:
Administer Concurrent Manager
Perform OA Framework personalization
Setup and maintain Flexfields
Perform OAM tasks
©2006, Maverick Solutions, Inc. 225
Oracle 11i
System Administration
Fundamentals
Part 4
Course Outline
Part 1. Oracle 11i System Administration
Overview
Part 2. Setting up Printer and forms
Part 3. Concurrent Manager, OA Framework,
Overview of Flexfields
Part 4. Oracle Workflow Basics
Part 5. Alerts and Application DBA Duties
Course Review
©2006, Maverick Solutions, Inc. 226
Oracle Workflow
Objectives
At the end of this session you should be able to:
Explain the benefits of workflow
Discuss various workflow concepts
Identify the components of workflow
Discuss business events
Review the workflow system status information
Monitor the work items in different statuses and purge
completed work items
Run background engines
Run workflow control queue cleanup
©2006, Maverick Solutions, Inc. 227
Enabling E-Business
Streamlined business processes play a critical role in the
transformation to an E-Business. Oracle Workflow delivers a
complete business process definition, automation, and integration
solution.
Oracle Workflow: The wiring for e-business
Inter-Enterprise Business Processes
Supplier A Bank
Integration Integration
Hub Hub
Internet
Integration Integration
Hub Hub
Supplier B Logistics
©2006, Maverick Solutions, Inc. 228
Traditional Workflow
Oracle E-Business Suite Oracle
or Workflow
Application Process
Workflow-Driven Business Processes
Oracle Workflow automates and streamlines
business processes contained within and
between enterprises.
For example, you can use workflow processes
to:
• Add personalized trading partner rules
• Validate self-service transactions
• Achieve closed loop business intelligence
• Approve standard business documents
• Step through daily transaction flows
• Integrate with trading partner systems
©2006, Maverick Solutions, Inc. 229
Workflow-Driven Business Processes
Oracle Workflow lets you focus on
managing the business process, not
individual transactions.
Define and implement your business policies
Streamline the entire process
Route information
Capture exceptions and take action
Build continuous improvements directly into the
process definition
Adapt your processes as your
business changes
Event-Based Workflow
Oracle E-Business Suite Business Oracle
or Event Workflow
Application System Process
©2006, Maverick Solutions, Inc. 230
Subscription-Based Processing
In the Oracle Workflow Business Event
System:
Business events in applications trigger event
subscriptions in Oracle Workflow.
Subscriptions can launch workflow processes or
perform other processing.
Multiple subscriptions can be defined to perform
different processing for the same event.
Subscriptions can be enabled, modified,
or disabled as necessary without
intruding into applications.
System Integration with Oracle
Workflow
E-business accelerates the demand for system
integration.
Communication is required between systems
both within and beyond the enterprise.
Oracle Workflow can be used as part of an
integration hub, with support for e-business
integration workflows through the Business
Event System.
Business event-based workflows allow
modeling of cross-system processes,
enabling business process-based
integration.
©2006, Maverick Solutions, Inc. 231
Business Process-Based Integration
Data Warehouse
Order Entry Shipping
Human
Warehouse
WORKFLOW Resources
Web Store
Accounting
Credit
Management
Supported System Integration Types
The Business Event System supports
integration in which applications are loosely
coupled through asynchronous messaging.
Point-to-point system integration—"Hardwired"
communication between specified systems
Messaging hub system integration—Intersystem
communication routed through a central hub for
more complex integration scenarios
Distributed applications messaging—
Master/copy replication of data for distributed
applications
©2006, Maverick Solutions, Inc. 232
Designing Applications for Change
Business processes change over time.
Good design in an e-business environment
requires:
• Dynamic processes sympathetic to change
• No artificial constraints on business processes
• The ability to modify business processes without
changing code
• A visual overview of business processes
Designing Applications for Change
Oracle Workflow helps you design
applications for change using workflow
processes, enabling continuous business
process improvement.
Complete process representation
Graphical development tool
Ease of management and maintenance
©2006, Maverick Solutions, Inc. 233
Designing Applications for Integration
System integration is increasingly required for
e-business.
Good design in an e-business environment
requires:
• Availability of integration points in applications for
immediate or future use
• Non-invasive configuration
• The ability to modify integration
processing without changing code
Designing Applications for Integration
Oracle Workflow helps you design
applications for integration using the
Business Event System, enabling business
process-based integration.
Business events as integration points
Subscription-based processing
Web-based business event and subscription
management tool
©2006, Maverick Solutions, Inc. 234
Oracle Workflow Availability
Oracle Workflow is available in two
versions:
Embedded in Oracle E-Business Suite
• Self-service applications
• Professional applications
Standalone
• With the Oracle Database (both Standard Edition and
Enterprise Edition)
• With the Oracle Application Server
• With the Oracle Collaboration Suite
Oracle Workflow Architecture
Advanced Workflow
Workflow Directory
Queuing XML
Web Service
Loader
Pages Users Roles
Oracle Workflow
HTTP Builder
Business Workflow
Server Event
Workflow Engine
Manager System Workflow
Definitions
Notification Loader
System
Mail Service Workflow
Client Components Oracle Workflow Definition
Enabled Application Files
End-User Application Development
Oracle Database
Client Server Client
©2006, Maverick Solutions, Inc. 235
Oracle Workflow Components
Workflow Engine
Oracle Workflow Builder
Business Event System
Notification System
Notification Worklist
Directory Services
Workflow Monitor
Workflow Definitions Loader
Workflow XML Loader
Workflow Manager
Workflow Engine
The Workflow Engine:
Is embedded in the Oracle Database
Uses the process definition created with Oracle Workflow
Builder to coordinate the routing of activities for the
process
Monitors the state of each activity in a workflow process
Signals any changes in the workflow state using calls to
PL/SQL or Java APIs
Guarantees consistency between the application and the
workflow state because of Oracle Database
transactional integrity
©2006, Maverick Solutions, Inc. 236
Workflow Processes
Supplier:
Receive
External Supplier:
Order Credit Check
Supplier:
Advanced
Shipment
Order
Supplier: And Process
Get Order
Details
Supplier: Supplier:End
Send Order Send
Acknowledgement Supplier
Invoice
Supplier: Supplier:
Receive Stock Check
iStore
Order
Supported Process Constructs
Looping
Results-based branching
No Yes
Verify
Authority
Approved
True Rejected
Start Select Notify
Approver Approver
©2006, Maverick Solutions, Inc. 237
Supported Process Constructs
Parallel flows
Rendezvous
True
Record
Requisition
Forward
Select And
Approver
True
Notify Requestor
of Forward
Supported Process Constructs
Voting
• Timeouts
– Escalation
Yes
– Automatic
forwarding End (Approved)
No
Start Approve End (Rejected)
Document
<Timeout>
End (Rejected)
©2006, Maverick Solutions, Inc. 238
Supported Process Constructs
Subprocesses
(unlimited hierarchy)
Approved
End (Approved)
Start Initialization Approval
Process Process
Rejected
End (Rejected)
Oracle Workflow Builder
Oracle Workflow Builder is the development tool
for Oracle Workflow.
• Lets you graphically define and customize workflow
definitions
• Requires a PC running Windows 98, 2000, XP, or
Windows NT
You can save workflow definitions to a database
or a flat file.
Oracle Workflow Builder consists of two parts:
• Navigator Tree
• Process Diagram
©2006, Maverick Solutions, Inc. 239
Business Event System Architecture
Oracle Database
Workflow
Engine
S Business S
Y Event Y
S System S
Business Business
T T
Events Events
E E
M M
Business Advanced Queuing Business
Events Events
Business Event System Components
The Business Event System includes:
The Event Manager - Lets you register:
• Business events
• Systems
• Named communication agents
within systems
• Subscriptions to events that are
significant to your systems
Workflow Engine event activities -
Let you model business events within
workflow processes
©2006, Maverick Solutions, Inc. 240
OracleAS Communication Alternatives
OracleAS Third
OracleAS
Oracle Integration party
ProcessConnect
Database Adaptor system
Advanced Queuing, an Enabling
Technology
M
A ORACLE
Application
C
H Application
I Propagate Advanced
N JMS Text Queuing
ORACLE E message
MACHINE BOUNDARY
B
Advanced
O
Queuing
U ORACLE
N
D Application
A Propagate Advanced
Application
R business Queuing
Y event
message
©2006, Maverick Solutions, Inc. 241
Oracle Database Communication
Alternatives
Oracle
Database
SQLNET
Advanced – JMS Text messages
Queuing – Business event messages
– Custom message formats
Messaging Internet
Gateway Access http/https
Third party messaging solutions
Accessing Oracle Workflow Web Pages
Embedded Oracle Workflow
• Use a Workflow responsibility in Oracle E-Business
Suite to access Oracle Workflow’s web pages.
Standalone Oracle Workflow
• Use a web browser to connect to the standalone
Oracle Workflow home page:
– <webagent>/wfa_html.home
• Replace <webagent> with the base URL of the web
agent configured for Oracle Workflow in
your Web server.
©2006, Maverick Solutions, Inc. 242
Oracle Workflow Home Pages
Oracle Workflow embedded in Oracle E-
Business Suite:
• Administrator home page
• Self-service home page
Standalone Oracle Workflow:
• Administrator home page
• User home page
Notification System
E-mail
Notification
clients
Mailers
with outbound
SMTP server and
Workflow inbound IMAP
Engine server
Directory Worklist
Notification
Services pages
System
Application Attached Oracle Web
E-Business pages
Oracle Database Suite forms
or URLs
©2006, Maverick Solutions, Inc. 243
Worklist Web Pages
The Worklist web pages:
Provide a list of open notifications for a
particular user
Let the user view notification details, including:
• Extended HTML message formats
• Links to URLs or Oracle E-Business Suite forms that let
users research and make decisions through online
inquiry
Let the user respond to notifications that
require a response
E-Mail Notifications
The Notification System interfaces with the
notification mailer program to send e-mail
notifications to users and roles.
Users can reply to e-mail notifications using
their e-mail client.
A notification mailer can send an individual e-
mail for each notification, or a summary e-mail
listing all the outstanding notifications for a
user.
©2006, Maverick Solutions, Inc. 244
Directory Services
The directory service for Oracle Workflow is
implemented as a set of views that are
mapped across the user tables of the
underlying application.
WF_USERS: Contains information on user
names, display names, notification preferences
and e-mail addresses
WF_ROLES: Contains information on the roles
of which users can be members
WF_USER_ROLES: Contains
information on the association of
users with roles
Workflow Monitor Web Pages
The Workflow Monitor web pages:
Let you search for a workflow process instance
to view
Display status information for the process
instance
• Graphical depiction of the process status in a diagram
• Detailed information about individual activities and
about the process as a whole
Let users view their own workflows
Let administrators view all workflows,
perform control operations, and
handle errors
©2006, Maverick Solutions, Inc. 245
Workflow Definitions Loader
Workflow
Builder
Workflow Workflow
Loader Engine
Workflow
Loader
Proc Oracle Database
ess
Process
Defi
Definition
nitio
ns
Workflow XML Loader
Workflow Event
XML Loader Manager
Proc Oracle Database
XMLess
Defi
BES Object
nitio
Definition
ns
©2006, Maverick Solutions, Inc. 246
Workflow Manager
Allows administrators to manage Workflow
system-level status and features from a central
console
Accessed through:
• Oracle Applications Manager, for Oracle E-Business
Suite
• Oracle Enterprise Manager, for standalone Oracle
Workflow
Service Components
Service components managed through
Oracle Workflow Manager include:
Notification mailers - Perform send and respond
e-mail processing for the Notification System.
PL/SQL agent listeners - Process inbound
messages on Business Event System agents in
the database.
Java agent listeners - Process inbound
messages on Business Event System agents in
the middle tier (Oracle E-Business Suite only) .
©2006, Maverick Solutions, Inc. 247
Oracle Workflow Documentation
Oracle Workflow documentation includes:
• Oracle Workflow Administrator’s Guide
• Oracle Workflow Developer’s Guide
• Oracle Workflow User’s Guide
• Oracle Workflow API Reference
Documentation is available:
• On the documentation library CD for your release
• On Oracle Technology Network:
– http://www.oracle.com/technology/
Testing and Monitoring
Workflow Processes
©2006, Maverick Solutions, Inc. 248
Testing Workflow Processes
For testing purposes, you can manually launch
workflow processes from an Oracle Workflow
Web page.
• Developer Studio for Oracle E-Business Suite
• Launch Processes page for standalone Oracle Workflow
In a production environment, your application
should launch your workflow processes
programmatically.
Testing Processes in Oracle E-Business
Suite
Navigate to the Developer Studio.
Search for the process you want to test.
Select the icon in the Run column for that
process.
In the Run Workflow page, specify:
• An optional process owner
• A unique item key for the process instance
• A user-defined key that you want to use to identify the
process
• The name of the process to test
• Values for any required item type attributes
Select the Run Workflow button.
©2006, Maverick Solutions, Inc. 249
Testing Processes in
Standalone Oracle Workflow
Navigate to the Launch Processes page.
Choose the item type you want to test.
In the Initiate Workflow page, specify:
• A unique item key for the process instance
• A user-defined key that you want to use to identify the
process
• The name of the process to test
• An optional process owner
• Values for any required item type attributes
Choose OK.
Viewing Workflows in the
Administrator Monitor
Navigate to the Administrator Monitor.
Search for the workflows you want to display.
Drill down to additional information by selecting
a workflow and choosing a monitor button.
• Activity History
• Status Diagram
• Participant Responses
• Workflow Details
©2006, Maverick Solutions, Inc. 250
Viewing Activity History in the
Administrator Monitor
The Activity History page shows information
about the activities executed for a workflow.
Search for the activities you want to review.
If you have workflow administrator privileges,
you can:
• Use the activity icons to reassign notifications or
suspend or resume process activities
• Select an activity and use the activity buttons to skip
or retry the activity
• Use the workflow buttons to update the
workflow attributes or rewind, suspend,
resume, or cancel the workflow
Viewing a Status Diagram in the
Administrator Monitor
The Status Diagram page shows the process
diagram for a workflow, including graphical
cues about the status of the workflow and its
activities.
It also shows a detail tab window with
additional information about the selected
process or activity.
If you have workflow administrator privileges,
you can use the workflow buttons to update the
workflow attributes or rewind, suspend,
resume, or cancel the workflow.
©2006, Maverick Solutions, Inc. 251
Viewing Participant Responses in the
Administrator Monitor
The Participant Responses page shows
information about closed response-required
notifications for a workflow.
To view details about a response, select the
icon in the View Response Details column.
Viewing Workflow Details in the
Administrator Monitor
The Workflow Details page shows detail
information about a selected workflow.
If you have workflow administrator privileges,
you can use the workflow buttons to update the
workflow attributes or rewind, suspend,
resume, or cancel the workflow.
©2006, Maverick Solutions, Inc. 252
Viewing Error Information in the
Administrator Monitor
The Workflow Errors page shows error
information for an errored workflow.
If the Workflow Errors page shows only one
errored activity, and you have workflow
administrator privileges, you can:
• Reassign an errored notification activity
• Suspend or resume an errored process activity
• Skip or retry any type of activity
Viewing Child Workflows in the
Administrator Monitor
The Child Workflows page shows the workflows
that are designated as children of a particular
workflow.
Drill down to additional information by selecting
a workflow and choosing a monitor button.
• Activity History
• Status Diagram
• Participant Responses
• Workflow Details
©2006, Maverick Solutions, Inc. 253
Viewing Workflows in the
Self-Service Monitor
Navigate to the Self-Service Monitor.
Search for the workflows you want to display.
You can only search for workflows that you
own.
Drill down to additional information by selecting
a workflow and choosing a monitor button.
• Notification History
• Status Diagram
• Participant Responses
Viewing Notification History in the
Self-Service Monitor
The Notification History page shows information
about the notifications sent by a workflow.
If you have workflow administrator privileges,
you can:
• Reassign a notification
• Cancel the workflow process
©2006, Maverick Solutions, Inc. 254
Viewing a Status Diagram in the
Self-Service Monitor
The Status Diagram page shows the process
diagram for a workflow, including graphical
cues about the status of the workflow and its
activities.
It also shows a detail tab window with
additional information about the selected
process or activity.
Viewing Participant Responses in the
Self-Service Monitor
The Participant Responses page shows
information about closed response-required
notifications for a workflow.
To view details about a response, select the
icon in the View Response Details column.
©2006, Maverick Solutions, Inc. 255
Viewing Error Information in the
Self-Service Monitor
The Error Summary page shows error
information for an errored workflow.
You can optionally display the error stack,
which provides context information to help an
administrator locate the source of the error.
Accessing Processes in the
Workflow Monitor
Navigate to the Find Processes page.
Enter search criteria for the processes you want
to monitor.
• If you have Workflow administrator privileges, then
you can search for and monitor any workflow process
instance in ADMIN mode.
• If you do not have Workflow administrator privileges,
then you can only search for and monitor
processes that you own.
Choose Find.
©2006, Maverick Solutions, Inc. 256
Reviewing the Process List
The Process List shows all process instances
that match your Find Processes search criteria.
The list summarizes the status of each process
instance.
Choose a process name link to display the
Notifications List.
Reviewing the Notifications List
The Notifications List displays all the current
notifications that have been sent for the
selected process and that require a Result
response.
Choose Advanced Options to display the
Activities List.
Choose View Diagram to display the Workflow
Monitor diagram for the selected process.
• If you have Workflow administrator privileges, the
Workflow Monitor displays the process in ADMIN
mode.
• Otherwise, the process is displayed in
USER mode.
©2006, Maverick Solutions, Inc. 257
Filtering Activities in the Activities List
The Activities List lets you use advanced criteria
to filter for specific activities of interest in the
current process instance.
Choose Filter Activities to display the activities
that match your criteria.
Choose View Diagram to display the Workflow
Monitor diagram for the selected process.
• If you have Workflow administrator privileges, the
Workflow Monitor displays the process in ADMIN
mode.
• Otherwise, the process is displayed in
USER mode.
Workflow Monitor Process Diagram
The process diagram window in the Workflow
Monitor is a noneditable window that displays
the process diagram you created in Oracle
Workflow Builder.
The diagram provides visual cues about the
status of the process and its activities.
©2006, Maverick Solutions, Inc. 258
Workflow Monitor Detail Tabs
The detail tab window displays detailed
information about the selected activity or
process.
Additional information may appear in these tabs
if you are accessing the Workflow Monitor in
ADMIN mode.
Select from the following tabs:
• Definition
• Usage
• Status
• Notification
• Item
Workflow Monitor Administration
Buttons
The administration buttons appear only
when you run the Workflow Monitor in
ADMIN mode. The buttons are:
Abort Process
Suspend Process
Resume Process
Reassign
Expedite
Attribute
©2006, Maverick Solutions, Inc. 259
Workflow Engine
Overview of the Workflow Engine
The Oracle Workflow Engine:
Is implemented in server-side PL/SQL.
Is activated whenever a call to one of its PL/SQL
procedures or functions is made.
Manages the state of activities for each process instance.
Determines the next activity once a prerequisite activity
completes.
Executes function activities automatically.
Interacts with the Business Event System to receive,
raise, and send event messages.
Calls the Notification System to send
notification messages.
©2006, Maverick Solutions, Inc. 260
Overview of the Workflow Engine
The Oracle Workflow Engine:
Supports results-based branches, parallel
branches, rendezvous, loops, and subprocesses.
Can execute activities from non-savepoint
environments such as database triggers and
distributed transactions. It automatically traps
savepoint-not-allowed errors.
Can defer activities too costly to execute in real
time to background engines for processing.
Maintains a history of completed activities.
Detects error conditions and executes error
processes.
Initiating a Workflow Process
To initiate a workflow process, your application
can:
Raise an event that triggers a subscription to send the
event to the process
• Call the WF_EVENT.Raise API or a Java raise API
or
• Execute a Raise event activity in another workflow process
Execute a procedure that calls the following Workflow
Engine APIs:
• WF_ENGINE.CreateProcess and WF_ENGINE.StartProcess
or
• WF_ENGINE.LaunchProcess
©2006, Maverick Solutions, Inc. 261
Workflow Engine Processing
Upon starting a process, the Workflow
Engine:
Identifies and executes the Start activity node
• Stores the event message in an item attribute if the
Start node is a Receive event activity
• Executes the Start node if it is a function, notification,
or process activity
Determines the next activity to transition to
after completing the prerequisite activity or
activities
Workflow Engine Processing
Drives through the process
• Automatically executes function activities and Send or
Raise event activities
• Pauses when it encounters a notification activity,
blocking activity, or Receive event activity
• Calls the Notification System to notify a performer
• Transitions to the next activity after the performer
completes the notification, the blocking activity is
completed, or the event message is received
Stops when it encounters an End activity
©2006, Maverick Solutions, Inc. 262
Activity Statuses
After the Workflow Engine executes an activity, it
updates the state of the activity to one of the
following statuses:
Active
Complete
Waiting
Notified
Deferred
Error
Suspend
Calling the Workflow Engine
The Workflow Engine must be informed when an
activity completes.
Process, notification, function, and event activities
automatically call WF_ENGINE.CompleteActivity( ) when
they complete.
If a notification activity requires some action to be taken
in a form or Web page, then that form or Web page must
call WF_ENGINE.CompleteActivity( ) when the user
completes the transaction.
If a function activity calls an external program, then you
must code that external program to call
WF_ENGINE.CompleteActivity( ) when it completes.
©2006, Maverick Solutions, Inc. 263
Oracle Workflow APIs
Oracle Workflow APIs are grouped as
follows:
Engine APIs
• Starting/running a process
• Communicating attribute information
• Communicating state changes
Core APIs: Raising and catching errors
Purge APIs: Purging obsolete runtime data
Directory APIs: Communicating directory
service user and role information
Oracle Workflow APIs
Monitor APIs: Generating Workflow Monitor
URLs
Notification APIs: Managing notifications
Preference API: Retrieving user preference
information
Business Event System APIs: Managing
business events
Views: Accessing workflow data
©2006, Maverick Solutions, Inc. 264
Background Engines
A background engine is a PL/SQL procedure that
handles stuck processes and deferred and timed
out activities.
The background engine checks for and executes any
activities that satisfy the arguments of the procedure at
the time the procedure is invoked.
Prior to ending, the procedure checks one more time for
any new activities to execute, if new processes become
stuck or new activities are deferred or timed out after the
procedure is
initiated.
The procedure ends once all matching
activities are executed.
Stuck Processes
A process is identified as stuck when it has a
status of ACTIVE, but cannot progress any
further.
The background engine sets the status of a
stuck process to ERROR:#STUCK and executes
the error process defined for it.
©2006, Maverick Solutions, Inc. 265
Timed Out Activities
The background engine configured for timed out activities
checks for activities that are waiting for a response and
determines whether these activities have timeout values
that have been exceeded.
• Notification activities marked as NOTIFIED by the Workflow
Engine after it calls the Notification System to deliver
notifications
• Receive event activities marked as NOTIFIED by the
Workflow Engine after it transitions to these activities
• Subprocesses with a status of ACTIVE
If the timeout value is exceeded, the
background engine marks the activity as
timed out and calls the Workflow Engine
to follow the <Timeout> transition.
Deferred Processing
A function activity is deferred if its cost exceeds
the Workflow Engine threshold cost.
The default threshold cost is set to 50.
To change the threshold, add this command to
a form or PL/SQL procedure :
WF_ENGINE.THRESHOLD := n;
• Lower the threshold to defer more activities.
• Raise the threshold to defer fewer activities.
• Set the threshold to –1 to defer all
activities.
©2006, Maverick Solutions, Inc. 266
Workflow System Status
In the Workflow System page of Oracle
Workflow Manager:
Select a feature status icon to manage that
feature.
• Background Engines
• Purge
• Control Queue Cleanup
Monitor system activity using the Workflow
Metrics graphs.
• Work Items
• Agent Activity
Workflow Status in Oracle Applications
Manager
In Oracle E-Business Suite, you can also use
other Oracle Applications Manager features to
help manage Oracle Workflow.
• Use Oracle Diagnostics to run diagnostic tests that
check the setup of your Oracle Workflow installation
and review debugging information.
• Use Oracle Applications Logging to review Oracle
Workflow logs.
©2006, Maverick Solutions, Inc. 267
Work Items
Drill down from the Work Items graph on the
Workflow System Status page to review work
items in these statuses:
• Active
• Deferred
• Suspended
• Errored
The detail pages for these statuses are similar.
Work Items
Work Items
• Review the number of work items of different item
types that are in the selected status.
• To drill down, select an item type and choose View
Details.
Work Item Details
• Review the number of work items of the selected item
type that are currently at various activity stages within
the workflow process.
• To drill down, select an activity stage and
choose View Details.
©2006, Maverick Solutions, Inc. 268
Work Items
Work Item Activity Details
• Review details about work item activities of the
selected activity stage within the selected item type.
• Use the administrative buttons to manage work items.
Depending on the work item status, you can abort,
suspend, resume, or retry work items.
• Select an activity and choose Launch Workflow Monitor
to review the work item in the Status Monitor.
Purging Workflow Data
Oracle Workflow tables can grow quite large
with obsolete workflow runtime information that
is stored for all completed workflow processes.
The size of these tables and indexes can
adversely affect performance.
You should purge these tables on a regular
basis, using:
• Purging in Oracle Workflow Manager
• Purge APIs
©2006, Maverick Solutions, Inc. 269
Purging Workflow Data
Oracle Workflow Manager lets you review
completed work items to determine what data
is available for purging.
To perform purging:
• Oracle E-Business Suite – Submit the Purge Obsolete
Workflow Runtime Data concurrent program
• Standalone Oracle Workflow – Submit a workflow
purge database job
Purging in Oracle E-Business Suite
In the Workflow System page, select the Work
Items link in the Throughput region.
Review the next scheduled and last completed
purge requests.
Review completed work items.
To submit a request for the Purge Obsolete
Workflow Runtime Data concurrent program:
• Choose the Purge button.
• Enter the purge parameters and other concurrent
request options.
To review purge concurrent request
details, choose the View Purge Requests
button.
©2006, Maverick Solutions, Inc. 270
Purging in Standalone Oracle
Workflow
In the Workflow System page, select the Work
Items link in the Throughput region.
Review completed work items.
Choose View Purge Jobs.
Review existing purge database jobs.
Choose Submit New to submit a new database
job.
• Enter the parameters and schedule for the purge.
• Choose OK
Completed Work Items
Completed Work Items
• Review the number of completed work items of
different item types and the number of work items
available for purging.
• To drill down, select an item type and choose View
Details.
Completed Work Item Details
• Review the number of work items of the selected item
type that ended at various activity stages within the
workflow process.
• To drill down, select an activity stage and
choose View Details.
©2006, Maverick Solutions, Inc. 271
Completed Work Items
Completed Work Item Activity Details
• Review details about completed work items of the
selected item type that ended at the selected activity
stage.
• Select an activity and choose Launch Workflow Monitor
to review the work item in the Status Monitor.
Workflow Purge APIs
Purge APIs delete obsolete runtime and design
data.
The most commonly used WF_PURGE APIs
include:
• Items: Purge all runtime data associated with
completed items, their processes, and notifications
sent by them.
• Activities: Purge obsolete design versions of activities
that are no longer in use by any item.
• Total: Purge both runtime and design data.
• Directory: Purge expired users and roles in the
Workflow local tables that are not referenced in
any notification.
©2006, Maverick Solutions, Inc. 272
Background Engines
Background engines handle:
• Activities deferred by the Workflow Engine
• Timed out activities
• Stuck processes
To run a background engine:
• Oracle E-Business Suite – Submit the Workflow
Background Process concurrent program
• Standalone Oracle Workflow – Submit a
background engine database job
Running Background Engines in Oracle
E-Business Suite
To submit a request for the Workflow
Background Process concurrent program:
• Choose Background Engine from the Submit Request
For pull-down menu in the Workflow System page and
choose Go.
• Enter the background engine parameters and other
concurrent request options.
To review Workflow Background Process
concurrent requests, choose the Background
Engine status icon in the Workflow
System page.
©2006, Maverick Solutions, Inc. 273
Running Background Engines in
Standalone Oracle Workflow
In the Workflow System page, select the
Background Engines status icon.
Review existing background engine database
jobs.
Choose Submit New to submit a new database
job.
• Enter the parameters and schedule for the background
engine.
• Choose OK.
Control Queue Cleanup
Oracle Workflow uses the WF_CONTROL queue
for internal processing.
• When a middle tier process for Oracle Workflow starts
up, it creates a subscriber to the WF_CONTROL queue.
• You must periodically clean up the queue by removing
inactive subscribers.
To perform control queue cleanup:
• Oracle E-Business Suite – Submit the Workflow
Control Queue Cleanup concurrent program
• Standalone Oracle Workflow – Submit a
control queue cleanup database job
©2006, Maverick Solutions, Inc. 274
Running Control Queue Cleanup in
Oracle E-Business Suite
To submit a request for the Workflow Control
Queue Cleanup concurrent program:
• Choose Control Queue Cleanup from the Submit
Request For pull-down menu in the Workflow System
page and choose Go.
• Enter the concurrent request options.
To review Workflow Control Queue Cleanup
concurrent requests, choose the Control Queue
Cleanup status icon in the Workflow
System page.
Running Control Queue Cleanup in
Standalone Oracle workflow
In the Workflow System page, select the
Control Queue Cleanup status icon.
Review existing control queue cleanup database
jobs.
Choose Submit New to submit a new database
job.
• Enter the schedule for the database job.
• Choose OK.
©2006, Maverick Solutions, Inc. 275
Queue Propagation
Review database initialization parameters
required for queue propagation.
Review the list of propagation schedules for
local outbound agents.
Select a propagation schedule and choose View
Details to review detailed information about
that schedule.
Agent Activity
Review the distribution of event messages with
different statuses on different local agents:
• Ready
• Waiting
• Processed
• Expired
• Undeliverable
Select a link in the Agent column to review
details about that agent’s queue.
Select an agent and choose the Search
Agent Entry Details button to view
messages on the agent.
©2006, Maverick Solutions, Inc. 276
Searching Messages on an Agent
In the Search Queue page:
• Enter filter criteria to locate the messages you want.
• Choose the Go button.
• Review message details.
• Choose the icon in the View XML column to review the
event data for the message as an XML document.
You can search queues with these payload
types:
• WF_EVENT_T
• SYS.AQ$_JMS_TEXT_MESSAGE
Workflow Definitions
©2006, Maverick Solutions, Inc. 277
Workflow Definitions Loader
Use the Workflow Definitions Loader program to
transfer workflow definitions between a flat file
and a database.
You can use the Workflow Definitions Loader to:
• Preserve and back up your process definitions to a flat
file prior to a database upgrade
• Upload the definitions back into your database when
the database upgrade is complete
• Transfer workflow definitions between a test
environment and a production environment
Workflow definition files are identified by
the file extension .wft.
Transferring Workflow Definitions in
Oracle E-Business Suite
Run the Workflow Definitions Loader concurrent
program using one of the following modes:
Upgrade: Upgrade to a definition in an input file,
preserving customizations, using the access level in the
input file.
Upload: Upload the definition from an input file, ignoring
preserve customizations settings, using the access level
in the input file.
Force: Force the upload of a definition from an input file
to a database regardless of an object's protection level.
Download: Download specified item type
definitions from the database to an output
file.
©2006, Maverick Solutions, Inc. 278
Transferring Workflow Definitions in
Standalone Oracle Workflow
To upgrade a definition and preserve
customizations using the access level listed in
the input file:
– wfload <username/password@database>
<input file>
To upload a new version of a definition using
the access level listed in the input file:
– wfload -u <username/password@database> <input file>
Transferring Workflow Definitions in
Standalone Oracle Workflow
To force an upload of a definition regardless of
an object’s protection level:
– wfload -f <username/password@database> <input file>
To download a definition:
– wfload [-d <date>] <username/password@database>
<output file> <item_type1> <item_type2> …
<item_typeN>
©2006, Maverick Solutions, Inc. 279
Workflow XML Loader
Use the Workflow XML Loader program to
transfer XML definitions for Business Event
System objects between a flat file and a
database.
Workflow object XML definition files are
identified by the file extension .wfx.
Workflow XML Loader
To run the Workflow XML Loader manually for
either the standalone or the embedded version
of Oracle Workflow, run JRE against
oracle.apps.fnd.wf.WFXLoad.
If you are using the standalone version of
Oracle Workflow, you can also use sample
scripts called wfxload for UNIX or wfxload.bat
for Windows NT to run the Workflow XML
Loader.
©2006, Maverick Solutions, Inc. 280
Workflow XML Loader
When you run the Workflow XML Loader,
specify the mode you want:
-d: Normal download mode.
-de: Exact download mode.
-u: Normal upload mode
-uf: Force upload mode
Diagnostics and Troubleshooting
in Oracle Workflow
©2006, Maverick Solutions, Inc. 281
Understanding and Troubleshooting
Workflow Notifications
Make sure you are on the latest version of
the Workflow Mailer.
Oracle Applications provides two (2)
methods by which users can use Workflow
Notifications:
1. Web Based (Self Service/OSSWA)
2. Email Notifications
Workflow Participants
C. The WF_ROLES view provides a view of the HR
and FND_USERS tables which list all users which
can participate in a Workflow.
The WF_ROLES view does a select on the WF_USERS
view and uses the STATUS column to determine whether
the user/role participates in Workflow processes.
WF_USERS.STATUS = 'ACTIVE' (User can participate in
Workflow)
In order for Workflow users to receive email notifications,
the WF_ROLES view must be able to retrieve a user's
valid email address and is based upon their
NOTIFICATION_PREFERENCE i.e. 'QUERY' will not send an
email.
select name, email_address, status
from wf_roles
where name=<'NAME'>;
©2006, Maverick Solutions, Inc. 282
Post install Configuration
D. Oracle Applications 11i System Administrators
need to conduct some Postinstall configuration
steps in order to utilize the Workflow Notification
Mailer
E. In Oracle Workflow up to and including release
2.5.1, Notifications are sent from the
WF_NOTIFICATIONS table based on the query
SELECT notification_id, recipient_role,
message_type,
message_name FROM wf_notifications
WHERE status = 'OPEN'
AND mail_status in ('MAIL','INVALID');
Mailer
F. Starting the mailer will send all open
notifications which haven't been sent yet.
If you wish to avoid these and only pick up those
messages from this point onwards, you can
manipulate the data in SQLPLUS with the following
script:
update wf_notifications
set status ='CLOSED', mail_status ='SENT', end_date
='01-JAN-01‘ where mail_status='MAIL';
G. You can reset/resend a particular notification
for testing purposes using the following script:
update wf_notifications
set status ='OPEN', mail_status ='MAIL', end_date =
NULL where notification_id=<NID>;
©2006, Maverick Solutions, Inc. 283
Apache Listener Setup
H. How to change WF_WEB_AGENT so that you can view
notifications using Apache Single Listener.
1. Oracle Applications Navigation:
i. Workflow->Global Preferences
ii. Click Update Button
iii. Select Workflow Web Agent
iv. Change URL to http://<hostname>.<domain
name>:<apache port>/pls/<sid>
vi. Click OK Button
2. Personal Home Page Navigation:
i. Workflow Administrator Web Applications->Global Preferences
ii. Click Update Button
iii. Select Workflow Web Agent
iv. Change URL to http://<hostname>.<domain
name>:<apache port>/pls/<sid>
vi. Click OK Button
Apache Listener Setup
The HTML_WEB_AGENT in the
configuration file is only used where you
want to have a different web agent to the
one specified with WF_WEB_AGENT.
wfmail.cfg parameter:
# HTML Web Agent path: (required for mailed
html support)
# CHANGE THIS!
HTMLAGENT="http://<hostname>.<domain
name>:<apache port>/pls/<sid>"
©2006, Maverick Solutions, Inc. 284
General Workflow Troubleshooting
Workflow Background Engine/Process
Performance Issues
Apply Patch 1658652 "WF_PURGE fails with
ORA-01555" or its latest version and then run
Purge Obsolete Workflow Runtime Data as the
first step in troubleshooting this issue
This script will tell you how many activities are
waiting to be processed by the background
Engine:
• $FND_TOP\sql\wfbkgchk.sql
General Workflow Troubleshooting
Use these queries to quickly identify item_types
with a large number of records.
select item_type,activity_status,count(*)
from wf_item_activity_statuses
group by item_type,activity_status;
select item_type,count(*)
from wf_item_attribute_values
group by item_type;
Use this script for a more in-depth look at item
types which contain a large number of records.
Item types/item keys combinations without end dates
have not completed all associated activities and cannot be
purged.
©2006, Maverick Solutions, Inc. 285
General Workflow Troubleshooting
Use this script to abort item_type/item_key combinations for item
types which you would like to purge. This will abort the workflow
process.
NOTE: Please do this as a last resort only. Please modify as
necessary based on your needs.
# This script will prompt for an item_type and item_key.
# Please save and run it as a sql file.
set serveroutput on
declare
cursor oldItems is
select item_type, item_key
from wf_items where item_type = '&1'
and item_key = '&2';
h integer := 0;
begin
for c in oldItems loop
h := h + 1;
WF_ENGINE.AbortProcess(c.item_type, c.item_key);
end loop;
dbms_output.put_line(h);
end;
General Workflow Troubleshooting
Addressing Errors:
In order to address the errors, use the
Workflow Administrator's responsibility to view
the waiting notifications on
these errors and review their content.
They will contain why the WFERROR process
was fired off.
You can take the appropriate action from those
notifications. Abort, retry, ignore.
©2006, Maverick Solutions, Inc. 286
General Workflow Troubleshooting
Working with large numbers of Errors:
If you have a huge number of errors then you
could use the SQL queries above to speed up
your analysis rather than reviewing each
record.
Consider using the wfretry.sql script to restart
the processes from SQL*Plus.
Account Generator: Run in Debug Mode:
This controls the Forced Synchronous mode of
the Workflow Engine.
Always ensure that this is switched off unless
you are trying to debug the output.
Workflow Administration Scripts
and/or Concurrent Programs
FNDWFPR:
For Oracle Workflow embedded in Oracle Applications,
use the standard concurrent program FNDWFPR ”Purge
Obsolete Workflow Runtime Data” to purge old data from
the Oracle Workflow runtime tables regularly
You can supply the following parameters for the
”Purge Obsolete Workflow Runtime Data”
concurrent program
Item Type — The item type to purge. Leaving this field
blank defaults to purging the runtime data for all item
types
Item Key — The item key to purge. Leaving this field
blank defaults to purging the runtime data for all item
keys
Age — Minimum age of data to purge, in days
©2006, Maverick Solutions, Inc. 287
Workflow Administration Scripts
and/or Concurrent Programs
wfbkgchk.sql:
Use wfbkgchk.sql to get a list of all activities
waiting to be processed by the background
engine the next time it runs
Use the script as follows:
• sqlplus <user/pwd> @wfbkgchk
Workflow Administration Scripts
and/or Concurrent Programs
wfdirchk.sql:
Use wfdirchk.sql to check for the following conditions in your directory service data
model:
• 1. Invalid internal names that contain the characters ’#’, ’:’,
or ’/’ in WF_USERS.
• 2. Invalid compound names in WF_USERS or WF_ROLES.
• 3. Duplicate names in WF_USERS or WF_ROLES.
• 4. Multiple names in WF_USERS or WF_ROLES linked to the same row in the original
repository.
• 5. Missing display names in WF_USERS or WF_ROLES.
• 6. Invalid Notification Preference or null email address if the Notification Preference is
MAILTEXT, MAILHTML, or SUMMARY in
WF_USERS or WF_ROLES.
• 7. Invalid Status in WF_USERS.
• 8. Rows in WF_USERS that do not have a corresponding row in WF_ROLES.
• 9. Invalid internal names in WF_ROLES that contain the characters ’#’ or ’/’ or have a
length greater than 30 characters.
• 10. Invalid user/role foreign key in WF_USER_ROLES.
• 11. Missing user/role in WF_USER_ROLES (every user must participate in its own role).
• 12. Duplicate rows in WF_USER_ROLES.
wfdirchk.sql should return no rows to ensure that your directory service data
model is correct
©2006, Maverick Solutions, Inc. 288
Workflow Administration Scripts
and/or Concurrent Programs
wfntfsh.sql:
Use wfntfsh.sql to display status information about a
particular notification, given its notification ID.
Use the script as follows:
• sqlplus <user/pwd> @wfntfsh <notification_id>
wfrefchk.sql:
Use wfrefchk.sql to check for invalid workflow data that is
missing primary key data for a foreign key.
Use the script as follows:
• sqlplus <user/pwd> @wferfchk
Workflow Administration Scripts
and/or Concurrent Programs
wfretry.sql:
Use wfretry.sql to display a list of activities that
have encountered an error for a given process
instance and then specify whether to skip,
retry, or reset any one of those errored
activities.
Use the script as follows:
• sqlplus <user/pwd> @wfretry <item_type>
<item_key>
Provide an item type and item key to
uniquely identify an item or process
instance.
©2006, Maverick Solutions, Inc. 289
Workflow Administration Scripts
and/or Concurrent Programs
wfstat.sql:
Use wfstat.sql to display a developer status report for an
indicated item. The output is 132 characters per line.
Use the script as follows:
• sqlplus <user/pwd> @wfstat <item_type> <item_key>
wfstatus.sql:
Use wfstatus.sql to display an end user status report for
an indicated item.
The output is 132 characters per line.
Use the script as follows:
• sqlplus <user/pwd> @wfstatus <item_type> <item_key>
Workflow Administration Scripts
and/or Concurrent Programs
wfstdchk.sql:
Use wfstdchk.sql to check and report any
problems found in the Oracle Workflow data
model.
wfver.sql:
Use wfver.sql to display the version of the
Oracle Workflow server, the status and version
of the Oracle Workflow PL/SQL packages, and
the version of the Oracle Workflow views
installed.
©2006, Maverick Solutions, Inc. 290
Workflow Administration Scripts
and/or Concurrent Programs
wfverchk.sql:
Use wfverchk.sql if you suspect that problems arising in
your workflow process are due to multiple versions of an
activity being active simultaneously
This script identifies errors in versions of activities that
cause multiple versions to appear to be active at once
wfverupd.sql:
Use wfverupd.sql to correct problems arising in your
workflow process that are due to multiple versions of an
activity being active simultaneously.
This script identifies and corrects errors in versions of
activities that cause multiple versions to appear to be
active at once.
In review…
Now you should be able to:
Explain the benefits of workflow
Discuss various workflow concepts
Identify the components of workflow
Discuss business events
Review the workflow system status information
Monitor the work items in different statuses and purge
completed work items
Run background engines
Run workflow control queue cleanup
©2006, Maverick Solutions, Inc. 291
Oracle 11i
System Administration
Fundamentals
Part 5
Course Outline
Part 1. Oracle 11i System Administration
Overview
Part 2. Setting up Printer and forms
Part 3. Concurrent Manager, OA Framework,
Overview of Flexfields
Part 4. Setting up Oracle Workflow
Part 5. Alerts and Application DBA Duties
Course Review
©2006, Maverick Solutions, Inc. 292
Oracle Alerts
Objectives
After completing this session, you should be
able to:
Create, run, and test alerts
Plan for implementation of Oracle Alerts
©2006, Maverick Solutions, Inc. 293
Oracle Alert Process Overview
Alert Types
Alert monitors your database information
and notify you when the condition you
have specified is found
There are two types of alerts:
Event Alert- Notify you of activity in your
database as soon as it occurs
Periodic Alert- Checks the database for
information according to schedule that you
define
©2006, Maverick Solutions, Inc. 294
What is an Exception?
An exception is a specified condition found
during an alert check
For example, an alert checking for users
who did not change their passwords within
the designated time finds five users that
meet the criteria. Each user found is an
exception.
Examples of Event Alerts
Requisition receipt: Informs requester that
Purchasing received/entered the request
Purchase approval: Informs manager that
a purchase order needs to be approved
Database monitoring: Informs DBA when
database tables need more space and
allocates space if response indicates to do
so
©2006, Maverick Solutions, Inc. 295
Examples of Periodic Alerts
Personnel: Shows all employees that have
terminated in the last six months
(monthly)
Payroll: Shows current balance and
vacation reported by month (monthly)
Purchasing: Detects creation or edit of
vendor with nonstandard payment terms
(weekly)
Inventory: Shows when quantity on hand
minus quantity ordered is less than reorder
quantity (weekly)
Action Types
An action is an event that occurs once a
monitored database event occurs or once a
periodic checking of the database has been
performed. Oracle Alert can perform these
actions:
Send an e-mail message
Submit a concurrent program request
Run a SQL statement script
Run an operating system script
©2006, Maverick Solutions, Inc. 296
Action Levels
Detail: Perform the action for each
occurrence of the condition
Summary: Perform the action for a group
of occurrences of the condition
No Exception: Perform the action when
nothing in the database meets the search
criteria
Seven Steps to Implementing
an Alert
©2006, Maverick Solutions, Inc. 297
How to create an Alert
How to create an Alert
©2006, Maverick Solutions, Inc. 298
Implementation Steps
Implementation Steps
©2006, Maverick Solutions, Inc. 299
Implementation Steps
In review…
Now you should be able to:
Create, run, and test alerts
Plan for implementation of Oracle Alerts
©2006, Maverick Solutions, Inc. 300
Application DBA Duties
Objectives
After completing this session, you should be able to:
Assign users, concurrent managers, and concurrent
programs to a resource consumer group
Use the Network Test window to evaluate your network’s
performance
©2006, Maverick Solutions, Inc. 301
Resource Consumer Groups Have
similar CPU Usage Requirements
Resource Consumer Groups
Resource Consumer Groups:
Resource consumer groups and resource plans are tools
used to allocate and manage resources among database
users and applications
The database administrator establishes resource
consumer groups to define users, concurrent managers,
or concurrent programs that have similar CPU usage
requirements.
System Administrator Assigns Resource Consumer
Groups
Oracle applications allow the system administrator to
assign users, concurrent managers, and concurrent
programs to existing resource consumer groups
©2006, Maverick Solutions, Inc. 302
Assigning Resource Consumer Groups
Assigning Resource Consumer Groups
Assign a User
(N) Profile >System > (Check box) User
The system administrator can assign a user to a resource
consumer group by setting the value of the user profile option
FND:Resource Consumer Group for that particular user. The
user can see this profile option but cannot update it.
Assign a Concurrent Program
(N) Concurrent > Program > Define > (B) Session Control
The system administrator can assign a concurrent program to a
resource consumer group in the Session Control window of the
Concurrent Programs form.
Assign a Concurrent Manager
(N) Concurrent > Manager > Define
The system administrator can assign a concurrent manager to a
resource consumer group in the Concurrent Managers form.
©2006, Maverick Solutions, Inc. 303
Conflicts
Conflicts can arise
between the resource
consumer groups
associated with a
single session
Oracle Applications use
a hierarchy to resolve
those conflicts
Using Network Test Window
Use the network test window to evaluate the
performance of your network with Oracle
Application
The window provides the following tests
Latency Test- examines the time it takes for a single
packet to make a round trip from your client side
application to the server
Bandwidth Test- examines the data rate to see how many
bytes per second your network can transfer from the
server to the client
Running network tests
(N) Application>Network Test
©2006, Maverick Solutions, Inc. 304
Network Test
Cost-Based Optimization
©2006, Maverick Solutions, Inc. 305
CBO Statistics Gathering
To use cost-based optimization effectively,
you must keep your database statistics
current. Oracle Applications provides a set
of concurrent programs to help you collect
these statistics:
Gather Table Statistics
Backup Table Statistics
Restore Table Statistics
Gather Schema Statistics
Gather Column Statistics
In review…
Now you should be able to:
Assign users, concurrent managers, and concurrent
programs to a resource consumer group
Use the Network Test window to evaluate your network’s
performance
©2006, Maverick Solutions, Inc. 306
Course Review…
Now you should be able to:
Describe Oracle E-Business Suite (EBS) Release 11i
architecture
Maintain the users, menus and responsibilities
Troubleshoot workflow, forms server, jServer and printer
issues
Handle the Form Personalizations, concurrent manager setup
and customization of Oracle Applications (OA) Framework
Setup and Troubleshoot Oracle Workflow and Alerts
©2006, Maverick Solutions, Inc. 307