Thanks to visit codestin.com
Credit goes to www.scribd.com

100% found this document useful (1 vote)
66 views307 pages

Oracle 11i System Admin Fundamentals - StudentGuide

The document outlines the course structure and objectives for Oracle 11i System Administration, detailing five main parts including system architecture, printer setup, concurrent manager, Oracle Workflow basics, and application DBA duties. It emphasizes the importance of understanding both business and technical architectures, as well as managing users, responsibilities, and security within the Oracle E-Business Suite. The course aims to equip participants with the skills to maintain and troubleshoot various components of the system effectively.

Uploaded by

chakradhar s
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
66 views307 pages

Oracle 11i System Admin Fundamentals - StudentGuide

The document outlines the course structure and objectives for Oracle 11i System Administration, detailing five main parts including system architecture, printer setup, concurrent manager, Oracle Workflow basics, and application DBA duties. It emphasizes the importance of understanding both business and technical architectures, as well as managing users, responsibilities, and security within the Oracle E-Business Suite. The course aims to equip participants with the skills to maintain and troubleshoot various components of the system effectively.

Uploaded by

chakradhar s
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 307

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

You might also like