Vous êtes sur la page 1sur 307

PDF by http://www.k2pdf.

com

About Me

Name:
Degree:
Job:
Email:

Dinesh Kumar S
B.Tech, Computer Science
PL/SQL Developer
dineshcse86@gmail.com

About this Material

This is a complete Technical guide for Oracle Apps Beginners. The tutorial starts with
basics of ERP and slowly gets into oracle apps 11i concepts. All the concepts are
explained with practical scenarios and with simple examples. The exercises will be given
at the end of every chapter. Each & every step in the exercises is explained clearly with
screenshots. For people who are all interested in technical or programming field in
oracle apps, this material will be helpful in taking their first step towards oracle ERP. If
anything found wrong in this material please mail to my personal id, So that it helps me
to improve this material.

A Guide to Oracle Apps 11i by Dinesh Kumar S

Contents
Chapters

Topic

Page No.

Chapter 1

Overview of ERP

Chapter 2

Oracle Application Technical Terms

Chapter 3

Overview of ERP Functional Flow (Financial Modules)

14

Chapter 4

Essential Tools in Oracle

15

Chapter 5

Application Architecture

19

Chapter 6

Oracle Application Technology Layer

22

Chapter 7

File Systems

24

Chapter 8

Overview of Oracle Application Developer User Guide

28

Chapter 9

Apps Login Screen

40

Chapter 10

Oracle Metalink & eTRM

52

Chapter 11

Designing Custom Application

67

Chapter 12

Application Object Library (AOL)

75

Exercise 1

Responsibility with Mandatory Component (Menu & Data Group)

84

Exercise 2

Overview of Inventory Responsibility Menu Tree

98

Exercise 3

Creating Customized menus for Customized Responsibility

118

Exercise 4

Menu & Function Exclusion

135

Chapter 13

AOL Concurrent Processing & Program

144

Exercise 5

Defining a Concurrent program (Default Parameters)

146

Exercise 6

Defining a Concurrent program (with user parameters)

154

Exercise 7

Concurrent program with report executable

168

Chapter 14

AOL Table Relations

180

Chapter 15

Overview of Flexfield Concepts

187

Exercise 8

Creating Accounting Flexfield Structure

194

Exercise 9

Modifying Flexfield Definition

204

Exercise 10

Enabling Descriptive Flexfield (DFF)

210

Chapter 16

Oracle User Profile Options

223

Exercise 11

Custom Profile Option for Responsibility

227

Exercise 12

Custom Profile Option for User

238

Chapter 17

Oracle Alerts

243

Exercise 13

Creating Periodic Alert

244

Exercise 14

Creating an Event Alert

267

Exercise 15

Transferring & Deleting Alert Definitions

273

Chapter 18

Oracle FNDLOAD - Generic Loader

281

Chapter 19

SQL *Loader

287

Exercise 16

Upload data using SQL *Loader

294

Exercise 17

Upload data using SQL *Loader - Options

300

REFERENCES

Useful Links

306

A Guide to Oracle Apps 11i by Dinesh Kumar S

Overview of ERP

Chapter 1

Consider Real Time scenario


Business
Dealer

:
:

Stationary shop Keeper.


Indian dealers Pvt. Ltd.

Let us classify the business growth into 3 stages.

A Guide to Oracle Apps 11i by Dinesh Kumar S

Entities Identified:
Dealer
Shop Keeper
People Buying items
Store Room






VENDOR
OWNER
CUSTOMER
INVENTORY

Stage 1
Daily Job:
Collect goods from vendor.
Sell items/goods to customers.
If any goods out of stock note it down to order it from vendor.
Daily accounting Profit & loss.

A Guide to Oracle Apps 11i by Dinesh Kumar S

Stage 2
After a year you business is developed & you are becoming a whole sale dealer.
Changes in Business
Many branches.
Hire People for working.
Maintaining a small database for the business.
Transportation services.

Daily Job:
Collect goods from vendor & store it in inventory.
Take order from shop keepers.
Maintain a small database for goods, shopkeepers & employees.
Using a computer for accounting.
Delivering items to customers.

Stage 3
Changes in business
Worldwide Branches and customers.
Developed as a Multinational Organization.
International Transportation.
Ecommerce, Phone marketing, etc.
Workload in business
Now the owner of the business cannot go to sites (all over the world) daily.
He has to maintain a big database for his business to run continuously.
Need to manage inventory activities (how much is sold, received items etc.).
Need to maintain the employees and their benefits (Needs HR team).
Need to calculate accounting (profit & loss for worldwide business).
Asset management.

A Guide to Oracle Apps 11i by Dinesh Kumar S

Therefore, to maintain & control these kinds of situations Oracle Corporation have
created huge software known in the category of ERP (Enterprise Resource Planning) as
Oracle Applications.
To integrate all these activities and to run the business ERP is necessary.

A Guide to Oracle Apps 11i by Dinesh Kumar S

Identifying the modules


Modules
General Ledger (GL)

Inventory (INV)

Purchasing (PO)

Order Management (OM)

Account Payables (AP)

Account Receivables (AR)

Human Resource (HRMS)

Asset Management
Projects
Work in Progress (WIP)

Cost Management

Description
In banks they will be maintaining a Balance Sheet for credits &
debits. In the same way oracle General Ledger module keep
tracking of all transactions in the business.
It is the place where your item stocks are stored. All the
Physical items/goods coming in and going out will be tracked. Thus
inventory is heart of the business.
This module manages all the purchasing order that deals with
business. This has information about Requisition, Po, Supplier,
Shipment details of the order.
It is required to manage & control the sales order fulfillment. It
manages the order book, order entry, ATP(Available to Promise)
etc.
It handles all the payment you have to pay to the vendors. Oracle
Payables allows invoice entry, payment entry, and payment voiding
in open accounting periods.
It allows you to create invoice, answers invoice related customer
queries, it runs AR reports, records and schedule collection
activities. Simply, it summarizes all the payments you need to get
from the customer.
This module deals with HR activities (Related to employees etc.)
Including recruiting performance management, learning,
compensation, benefits, payroll, time management, and real time
analytics.
It deals with the administrative cost related to business like
electricity, maintenance of building,, furnitures etc.
This module deals with the cost associated with the projects.
Which includes project costing, billing, time & expenses etc.
Oracle Work in Process is a complete production management
system. Supports discrete, project, repetitive, assemble-toorder, work order-less, or a combination of manufacturing
methods. Inquiries and reports give you a complete picture of
transactions, materials, resources, costs, and job and schedule
progress.
Helps you effectively manage and control your cash cycle. It
provides comprehensive bank reconciliation and flexible cash
forecasting.

A Guide to Oracle Apps 11i by Dinesh Kumar S

Chapter 2

Oracle Application Technical Terms

Approver
Person who has authority to approve requisition or PO (Purchase order).
ASN Advance Shipment Notice
The external supplier ships the goods directly to the 3rd Party customer and confirms
the shipment through the use of an Advanced Shipment Notice (ASN).
You should take a note, Oracle uses this ASN to record a receiving transaction into
inventory followed by an immediate logical shipping transaction. From these
transactions, conveyance of title takes place and the customer can be invoiced and the
suppliers invoice can be processed.
ATP: Available to Promise
Available to promise (ATP) inventory consists of on-hand inventory minus inventory
allocated for backorders and reserved inventory. ATP inventory is the inventory that is
available to fulfill orders.
The ATP support provides the ability to allocate from existing inventory or backorder
from expected inventory and obtain an estimated availability time once it has been
ordered for each order item.

Buyer
Buyer is a person who purchases finished goods, typically for resale, for a firm,
government, or organization.
Back Order
Backorder is a distribution term that refers to the status of items on a purchase order
in the event that some or all the inventory required to fulfill the order is insufficient to
satisfy demand.

A Guide to Oracle Apps 11i by Dinesh Kumar S

Customer
A customer refers to individuals or households that purchase goods and services
generated within the economy.
Change Order
A document containing the changes made in approved purchase order.
Charge of Accounts
The account structure used to record transactions and maintaining account balance in
GL.
Deliver-to-Location
Actual physical location where goods to be delivered.
Drop Ship
Drop shipping, a retailing practice of sending items from a manufacturer directly to a
customer.

General Ledger
Maintains all accounting transactions i.e. Balance sheet (Contains credits, debits to
calculate profit & loss).
I-Procurement
One of the oracle self- servicing application for ordering goods or services.
Internal Purchase Order
A purchase order to another department within the organization.

A Guide to Oracle Apps 11i by Dinesh Kumar S

10

Item Type
Indicating whether one is requesting goods billed by quantity or services or by amount.
Invoice
An invoice or bill is a commercial document issued by a seller to the buyer, indicating
the products, quantities, and agreed prices for products or services the seller has
provided the buyer. An invoice indicates the buyer must pay the seller, according to the
payment terms.
Item
A physical quantity.
Notification
A electronic message that is involved when a specific business condition or rule is met.
Payment terms
Rules used to calculate the due date & payment date for payment of a transaction based
upon invoice date.
Pay site
A Supplier site that is designated to receive payments.
Preparer
An individual who is authorize to create a requisition.

A Guide to Oracle Apps 11i by Dinesh Kumar S

11

Purchase Order (PO)


Purchase order (PO) is a commercial document issued by a buyer to a seller, indicating
the type, quantities and agreed prices for products or services the seller will provide to
the buyer.
Sending a PO to a supplier constitutes a legal offer to buy products or services.
Acceptance of a PO by a seller usually forms a once-off contract between the buyer and
seller so no contract exists until the PO is accepted.
Pack Slip
A pack slip denotes what should be "packed" for a delivery. It may consolidate several
orders to a route, truck or customer.
In Short, a pack slip facilitates the method in which orders are consolidated/ organized
and shipped to a customer.
"Pack" - pack up the truck
Pick Slip
A pick sheet denotes what items to pull from inventory. it too may be derived from
consolidated orders.
In short, a pick slip facilitates the method/order/consolidation of picking items from
inventory.
"Pick" - pick it from inventory

Receiver
An individual who is responsible for online receipt of goods & services.
Requestor
An individual who has identified a need of goods or services.

A Guide to Oracle Apps 11i by Dinesh Kumar S

12

Requisition
A requisition is a request for something, especially a formal written request on a preprinted form.
Responsibility
It is a pre-defined set of menus, forms & form functions assigned to each user.
Supplier/Vendor
A supplier is "... a person who is a manufacturer, processor or packager of a controlled
product or a person who, in the course of business, imports or sells controlled products".
Sales Order
The sales order, sometimes abbreviated as SO, is an order received by a customer from
a business. A sales order may be for products and/or services.

A Guide to Oracle Apps 11i by Dinesh Kumar S

13

Chapter 3

Overview of ERP Functional Flow (Financial Modules)

Note: This functional flow is not complete process. For understanding purpose I have
explained in simple way for beginners.

A Guide to Oracle Apps 11i by Dinesh Kumar S

14

Chapter 4

Essential Tools in Oracle

Oracle Reports
Oracle Forms
Workflow Builder
Toad
SQL Developer
SQL Navigator
Discoverer Reports
XML/BI Publisher
ADI: Application Desktop Integrator
Putty

Oracle reports
Oracle Reports is a tool for developing reports against data stored in an Oracle
database.
Oracle Reports consists of Oracle Reports Developer (a component of the Oracle
Developer Suite) and Oracle Application Server Reports Services (a component of
the Oracle Application Server).
Oracle Forms
Oracle Forms is a tool (somewhat like Visual Basic in appearance, but the code inside
is PL/SQL) which allows a developer to quickly create user-interface applications
which access an Oracle database in a very efficient and tightly-coupled way.
Workflow Builder
Business process involves exchange of information between entities within and with
entities outside the organization. In e-business some these messages are
communicated through internet. For efficient exchange of information between
processes., you need to implement an efficient workflow management system. This is
done with the help of workflow builder.

A Guide to Oracle Apps 11i by Dinesh Kumar S

15

Toad
TOAD is a database administration and SQL development software application from
Quest Software. It is widely used by Oracle developers and DBAs (database
administrators).
SQL Developer
You can use Oracle SQL Developer to connect, run, and debug PL/SQL.
SQL Navigator
Database Applications of our age are becoming exceedingly complex, so are the
databases that support them. Though all information related to meta-data can be
retrieved from dictionary tables of Oracle, SQL Navigator provides all this in one
IDE.
Apart from getting all necessary information from Dictionary, SQL Navigator also
provides the user with an interactive view of data in all tables.
Code debugging tools offer a great deal of ease in debugging and tuning back-end
stored programs.
Discoverer Reports
Discoverer is an integrated, intuitive, and interactive business intelligence solution,
giving you complete coverage of everything related to report creation and delivery,
from data preparation in the database, to final presentation in an interactive
dashboard.

A Guide to Oracle Apps 11i by Dinesh Kumar S

16

XML/BI Publisher
Oracle XML Publisher is a template-based publishing solution delivered with the Oracle
E-Business Suite.
It provides a new approach to report design and publishing by integrating familiar
desktop word processing tools with existing E-Business Suite data reporting.
At runtime, XML Publisher merges the custom templates with the concurrent request
data extracts to generate output in PDF, HTML, RTF, EXCEL (HTML), or even TEXT for
use with EFT and EDI transmissions.
Oracle ADI (Application Desktop Integrator)
Oracle ADI is a spreadsheet-based extension to Oracle Applications that offers full
cycle accounting and asset management within the comfort and familiarity of a
spreadsheet.
Oracle ADI combines a spreadsheets ease of use with the power of Oracle Applications,
to provide true desktop integration during every phase of your accounting cycle. You can
create budgets, record transactions, add assets, reconcile inventory, and run financial
statements and inventory reports all without leaving your spreadsheet.
Putty
PuTTY is a terminal emulator application which can act as a client for the SSH, Telnet,
rlogin, and raw TCP computing protocols.

A Guide to Oracle Apps 11i by Dinesh Kumar S

17

Please zoom out for viewing it.

A Guide to Oracle Apps 11i by Dinesh Kumar S

18

Chapter 5

Application Architecture

Form Server

Report Server

HTTP Server

Concurrent Processing

Server

Discoverer Server

Administration
Server

The Oracle Applications Architecture is a framework for multi-tiered, distributed


computing that supports Oracle Applications products.
In this model, various servers are distributed among multiple levels, or tiers.
Server - is a process or group of processes and provides a particular
functionality/service For example, Database Server listens and process database
requests, and similarly Web Server listens for and processes HTTP requests.
Tier - is a logical grouping of services, may be on single machine or spread across more
than one physical machine.
The three-tier architecture that comprises an Oracle E-Business Suite installation is
made up of,
1. Database Tier
2. Application Tier
3. Desktop Tier

A Guide to Oracle Apps 11i by Dinesh Kumar S

19

Database tier
Which supports and manages the Oracle database?
Application Tier
This supports and manages the various Applications components, and is sometimes known
as the middle tier.
Desktop Tier
This provides the user interface via an add-on component to a standard web browser

Node - is referred as Machine, Each tier may consist of one or more node and each node
can potentially have more than one tier.
Each tier may consist of one or more nodes, and each node can potentially accommodate
more than one tier.
On the database tier, there is increasing use of Real Application Clusters (RAC) ,
where multiple nodes support a single database instance to give greater availability and
Scalability.
The connection between the application tier and the desktop tier can operate
successfully over a Wide Area Network (WAN). This is because the desktop and
application tiers exchange a minimum amount of information, for example field value
comparison
Differences

A Guide to Oracle Apps 11i by Dinesh Kumar S

20

Desktop Tier

Application Tier

A Guide to Oracle Apps 11i by Dinesh Kumar S

21

Chapter 6

Oracle Application Technology Layer

The Oracle Applications technology layer lies between the Oracle Applications
technology stack and the Oracle Applications product-specific modules.
It provides features common to all Oracle Applications products.
Products in the Oracle Applications technology layer include:

Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle

Applications DBA (AD)


Applications Object Library (FND)
Applications Utilities (AU)
Common Modules (AK)
Workflow (WF)
Alert (ALR)
Applications Framework (FWK)
XML Publisher (XDO)

1. Oracle Applications DBA (AD)


The Applications DBA product provides a set of tools for administration of the Oracle
Applications file system and database. AD tools are used for installing, upgrading,
maintaining, and patching the Oracle Applications system.
2. Oracle Common Modules (AK)
AK is an active data dictionary that enables you to define Oracle Applications
components for the HTML-based Applications, and generate many of the characteristics
of Oracle Applications at runtime.
The Oracle Common Modules can be used to develop inquiry applications for the HTMLbased Applications, without the need for any programming. They allow storage of
language-translated labels for all the attributes on a transaction page, thus assisting
with the provision of support for multiple languages.

A Guide to Oracle Apps 11i by Dinesh Kumar S

22

3. Oracle Applications Utilities (AU)


The Applications Utilities (AU) component is used to maintain the Oracle Applications
system.
AU hosts a collection of files copied from other products. This allows generating on-site
classes of files such as Forms and reports.
Generating forms or reports may require access to shared PL/SQL libraries, so these
files are copied to AU_TOP as well.
4. Oracle Application Object Library (FND)
The Oracle Application Object Library is a key component of the Applications
technology layer.
It consists of a collection of reusable code, programs, and database objects that
provides common functionality across all products.
Also Makes System Administration easier.
5. Oracle Workflow (OWF)
Oracle Workflow provides an infrastructure for the enterprise-wide communication of
data related to defined business events using graphical workflow builder.
Acting as a system integration hub, Oracle Workflow can apply business rules to control
objects and route them between applications and systems.
6. Oracle Alert (ALR)
Oracle Alert (ALR) allows you to email system notifications to users when an exception
or event has occurred.
7. Oracle XML Publisher (XDO)
XML Publisher utilizes the XSL-FO standard to transform XML data into a formatting
object (FO).
Chapter 6

A Guide to Oracle Apps 11i by Dinesh Kumar S

23

Chapter 7

File Systems

An Oracle Applications Release 11i system utilizes components from many Oracle
products. These product files are stored below a number of key top-level directories on
the database and application server machines.

A Guide to Oracle Apps 11i by Dinesh Kumar S

24

Application Directory Structure

Data Directory
o This file system contains .dbf files of oracle db.
o Rapid installation installs system, data and index files in directories below
several mount points (Can be specified during installation).

DB & ORA Directory


Oracle application supports linking program using tool from 2nd / 3rd version of DB.
ORACLE_HOME is used for backward compatibility.

A Guide to Oracle Apps 11i by Dinesh Kumar S

25

Application Directory
All application files are stored here. It is also known as APPL_TOP.
It contains:
o Core technology files.
o Product files & directories.
o .env application environment file(Unix) & .cmdon (Windows).

Product Directory

o Each product has its own directory under APPL_TOP.


o Sub Directories are named based on the product standard abbreviation.
For E.g. GL for general ledger.

A Guide to Oracle Apps 11i by Dinesh Kumar S

26

COMN Directory
COMN or COMMON_TOP directory contains files used by different oracle application
products and used with third party products.

Admin
It is default location for concurrent manager log and output directories.
Html
OA_HTML environmental settings points to HTML Directory.
Oracle application based sign-on screen & HTML files are installed here.
Also it contains files like JSP,XML etc.
Java
JAVA_TOP points to java directory. This contains oracle application JAR files and ZIP
files.
Portal
This contains portal files. Portal is a webpage that provide access to post install task
that is necessary for application
Temp
Used for caching oracle products like reports.
Util
This contains JDE, JRE & ZIP utility.
Script
This contains application tier control scripts such as adstrtal.sh & adstpall.sh which
are located in sub directory.

A Guide to Oracle Apps 11i by Dinesh Kumar S

27

Chapter 8

Overview of Oracle Application Developer User Guide

Coding Standards
Setting up Application Framework
PLSQL coding Standard
Menus & Function Security
User Profiles
Flex fields
Concurrent Processing

1. Coding Standards
If you want to build custom application code that integrates with and have same look
and feel as oracle application, these standards should be followed.
The libraries & procedures that are packed with oracle application follow these
standards.
Coding with Handler
Handlers are group of packaged procedure.
To organize Plsql Code in forms, to develop maintain & debug easily.
Different type of handlers:
1. Item
2. Table
3. Business rules
Oracle Application Object Library (AOL):
It includes:
1. Starting forms
a) TEMPLATE
b) APPSTAND
2. PLSQL Libraries
3. Development Standards

A Guide to Oracle Apps 11i by Dinesh Kumar S

28

Shared Objects
It relies on object referencing capabilities i.e. it allow object to reuse across master
forms.
If any changes are made it affects the objects (Inherit Property).
APPSTAND Form
It contains master copy of shared objects.
TEMPLATE Form
It is starting point for developing new forms. It references to many APPSTAND
objects.
Start developing new forms by copying these files in location:
$AU_TOP/Forms/US
FND Menu
Oracle application default menu contained in:
$AU_TOP/resources/US
Note: Do not modify this file.
Property Clause
These are set of attributes that can be applied to almost any oracle form object.

A Guide to Oracle Apps 11i by Dinesh Kumar S

29

2. Setting up Application Framework

Oracle Applications and custom applications that integrate with Oracle


Applications rely on having their components arranged in a predictable
Structure.
This includes particular directory structures where you place reports, forms, programs
and other objects, as well as environment variables and application names that allow
Oracle Application Object Library to find your application components.
Points to be noted while setting up Framework
i.
ii.
iii.
iv.
v.
vi.
vii.

Set Up Your Application Directory Structures.


Register Your Application.
Modify Your Environment Files.
Set Up and Register Your Oracle Schema.
Create Database Objects and Integrate with APPS Schema.
Add Your Application to a Data Group.
Set Up Concurrent Managers.

3. PLSQL Coding Standard


Some essential points to be considered while programming:
a) Always use packages.
b) Client side package size <=10k & server side package unlimited size.
c) Adding new procedure:
i.
Add only at end, not in middle f package.
ii.
If added in middle we need to regenerate every form.
d) Using field names in client Package:
i.
Specify field name along with its block name.
Eg. Block.Field_name
e) Field name in procedure parameter:
i.
Do not use IN, OUT, IN/OUT Parameters.
Eg. Procedure (my_var Char IN)
Calling: p1 (Block. Field).

A Guide to Oracle Apps 11i by Dinesh Kumar S

30

f) Initializing Parameters:
i.
Use default instead of :=
g) Formatting PLSQL Code:
i.
Within package define private variable first & then private procedure
then public procedures.
h) Avoid RAISE_APPLICATION_ERROR.
i) Use END_MESSAGE for exceptions.

4. Menus & Functional Security


It restricts application functionality to authorized users.
System admin implements by creating responsibilities that include or exclude particular
function.
Function
Its an application functionality that is included or excluded in a menu.
Types of functions:
i.
Form function
It invokes oracle form developer forms.
ii.
Sub-Function:
A function executed within a form. These functions are
associated with graphical elements or buttons.
iii.
Non- Form Function:
It is also called as self service function. Some functions include
Other type of code like java, html, jsp etc on a menu
Responsibility.
Menu
A menu is hierarchical arrangement of functions that appears in navigator.
Each responsibility has menus associated with it.
Menu Entry:
Its an menu component that identifies menu of functions or functions.

A Guide to Oracle Apps 11i by Dinesh Kumar S

31

Responsibility
It defines application user current privileges like functions that user can access,
concurrent program user can run & application DB account connected to data group.
Forms & Sub Functions
Form is special class of functions that differ from sub function in following ways:
a. Forms appear in navigator window whereas sub functions cannot.
b. Forms can exit their own. Sub functions can be only called by logical object
within a form.
Form Security API for Plsql Procedure:
1. FND_Function.Test
Tests particular function is currently accessible or not.
2. FND_Function.Query
Tests function is accessible and return information.
3. FND_Function.Execute
It executes form function that is attached only to forms.
4. FND_Function.User_function_name
It returns user function name.
5. FND_Function.Current_Form_Function
It returns function name with current form which is called.

A Guide to Oracle Apps 11i by Dinesh Kumar S

32

5. User Profiles
It is a set of changeable options that affect the way when application runs.
AOL treats user profile as hierarchy where in user at top and next is responsibility.
Site Level Affects all applications.
Application Level Affects particular application.
Responsibility Level Affects application runs for all user of
Responsibility.
User Level It affects the way application runs for application user.

FND_PROFILE
It is a user profile API.
We can manipulate the value stored in client and server side.
Client side

Server side

Form A  Form B
(Change in A affects B
& vice versa)

Form A  Form B
(Change in A not affects B)

1. FND_Profile.Put
Puts value to specified user profile.
2.

FND_Profile.Get
Gets current value for user profile option or NULL if data does not exits.

3. FND_Profile.Value
It is similar to GET except it returns value as a function result.

A Guide to Oracle Apps 11i by Dinesh Kumar S

33

6. Flexfield
Flex field is made up of segments.
Each segment has a name & set of valid values.
Types of Flexfield
a. Key Flexfield (KFF)
b. Descriptive Flexfield (DFF)
Note: Segments Corresponds to column in oracle table.
Oracle application uses KFF to represent Intelligent Keys with unique ID numbers.
ID numbers requires only one column whereas intelligent key requires multiple columns.
Key Flexfield
Key flexfield represents an intelligent key that uniquely identifies an application entity.
Each KFF has a name and specific set of valid values (Value sets).
Descriptive Flexfield
Its a additional information, not stored in application or strictly for reference when
viewed on screen.
DFF can be created by using any of attribute columns.
When to use KFF
i.

To uniquely identify an application entity with an intelligent key. Where key can
be a multi part & each one have some value.

ii.

To integrate your application with oracle application.

A Guide to Oracle Apps 11i by Dinesh Kumar S

34

7. Concurrent Processing
Mechanism provided in oracle e-Business Suite (EBS) to facilitate background
processing of,
1. Reports
2. Batch Runs
3. Longer Transaction
It is a series of background managers.
Separate program that control background processing (i.e. Request) that are:
a. Initiated on demand by user
b. Scheduled
In EBS concurrent manager (CM) schedules the work, and concurrent request (CR), do
the work.
Eg. Queen bee assign job to its worker bees.
Components of Concurrent Processing
Two basic components:
1. Concurrent Manager (CM)
2. Concurrent Request (CR)

Concurrent Managers





Internal Concurrent Manager (ICM)


Standard Manager (SM)
Specific Concurrent Manager (SCM)
Conflict Resolution Manager (CRM)

A Guide to Oracle Apps 11i by Dinesh Kumar S

35

Internal Concurrent Manager


It is boss of all managers.
It controls behavior of all other managers.
Runs before any other manager runs or activated.
Starts & shuts down individual concurrent manager.
Reset other manager after one of them has a failure.
Standard Manager
Its function is to run any reports and batch jobs, which have not been defined in any
other project manager.
Specific Concurrent Manager
It includes inventory manager, CRP inquiry manager and receivables tax manager.
Conflict Resolution Manager
It handles scheduling conflict.
It Checks concurrent program definition for incompatibility rules.
Concurrent Request
It is the worker that gets scheduled and controlled by concurrent manager.
Life cycle of Concurrent request:
1.
2.
3.
4.

Pending
Running
Completed
Inactive

A Guide to Oracle Apps 11i by Dinesh Kumar S

36

Pending:
Running:
Completed:
Inactive:

Request waiting to be run.


Request is processing.
Request is finished processing.
Request cannot be run.

Different ways script attached to Concurrent Program











SQL script
SQL *Loader Program
Java Program
Oracle Report
PLSQL Program (Stored Procedure / Packages)
UNIX shell script
Pro *C
Perl

Value Sets
Its a set of values.
Need:
We dont want the user to insert junk values into all fields, so oracle application
validates whether correct data is entered in fields.
Value sets are attached to segments in flexfield (KFF).
Note: In reality oracle treat parameter as DFF.
Types of Validation
1) None
2) Independent
3) Dependent
4) Table
5) Special
6) Pair
7) Tran stable Independent
8) Tran stable Dependent

A Guide to Oracle Apps 11i by Dinesh Kumar S

37

None
Validation is minimal.
Independent
The data input is based on previously defined list of values.
Dependent
The data input is checked against a defined set of values.
Table
The data input is checked against values in a table.
Special
The data input is checked against a flex-field.
Pair
The data input is checked against two flex-field specified range of values.
Translatable independent
The data input is checked against previously defined list of values.
Translatable dependent
The data input is checked against defined set of values.
Changes You Should Never Make
You should never make these types of changes (old value set to new value set) because
you will corrupt your existing key flex-field combinations data:
. Independent to Dependent
. Dependent to Independent
. None to Dependent
. Dependent to Table
. Table to Dependent
. Translatable Independent to Translatable Dependent

A Guide to Oracle Apps 11i by Dinesh Kumar S

38

. Translatable Dependent to Translatable Independent


. None to Translatable Dependent
. Translatable Dependent to Table
. Table to Translatable Dependent

Lookups
It is set of codes and their meaning.

A Guide to Oracle Apps 11i by Dinesh Kumar S

39

Chapter 9

Apps Login Screen

Type the URL of the server to see the apps screen.

A Guide to Oracle Apps 11i by Dinesh Kumar S

40

Then you can see the apps log in page. Enter the username & password.

A Guide to Oracle Apps 11i by Dinesh Kumar S

41

If the username & password is valid, the user is redirected to a page where he/she can
see their responsibilities assigned to them by system administrator.

A Guide to Oracle Apps 11i by Dinesh Kumar S

42

Now click on to application developer responsibility. The window will be redirected to


application developer screen.

A Guide to Oracle Apps 11i by Dinesh Kumar S

43

Choose any one of the function of your choice.

A Guide to Oracle Apps 11i by Dinesh Kumar S

44

Note: Do not close this window. If you close, the application session will be terminated.

A Guide to Oracle Apps 11i by Dinesh Kumar S

45

Now the application developer Navigator Form is opened.

Now click any option in navigator that will open its related form.

A Guide to Oracle Apps 11i by Dinesh Kumar S

46

Switching Responsibility

Choose any responsibility you want to switch.

A Guide to Oracle Apps 11i by Dinesh Kumar S

47

Now the responsibility is changed to inventory.

Exit Oracle Application

A Guide to Oracle Apps 11i by Dinesh Kumar S

48

Oracle Application Toolbar

A Guide to Oracle Apps 11i by Dinesh Kumar S

49

A Guide to Oracle Apps 11i by Dinesh Kumar S

50

A Guide to Oracle Apps 11i by Dinesh Kumar S

51

Chapter 10

Oracle Metalink & eTRM

Metalink:
For technical assistance metalink will be useful. It also contains forums you can post
your query & any registered used will reply for your query.
URL: http://metalink.oracle.com/

Metalink: log in screen:

A Guide to Oracle Apps 11i by Dinesh Kumar S

52

After logging into metalink the following page you can see:

A Guide to Oracle Apps 11i by Dinesh Kumar S

53

For quicker access uses quick find.

A Guide to Oracle Apps 11i by Dinesh Kumar S

54

For advance search click Advance Search tab.

A Guide to Oracle Apps 11i by Dinesh Kumar S

55

You can even search based on Bug number, date modified etc. or bug details.

A Guide to Oracle Apps 11i by Dinesh Kumar S

56

For updated or new oracle patches details go to Patches & Updates tab.

A Guide to Oracle Apps 11i by Dinesh Kumar S

57

eTRM:
For technical related documents like user guide, Table related information, AOL details
you can refer etrm. This is a place you can download all technical references related to
oracle apps 11i, 12i.
URL: http://etrm.oracle.com/

A Guide to Oracle Apps 11i by Dinesh Kumar S

58

When you press the link the following page is shown:

At left side you can see the DB versions.

A Guide to Oracle Apps 11i by Dinesh Kumar S

59

Let us go to the link 11.5.10.

Now we will go to FBD Data.


At left side you can see the Modules list.

A Guide to Oracle Apps 11i by Dinesh Kumar S

60

Now let use search some tables related to purchase module.

A Guide to Oracle Apps 11i by Dinesh Kumar S

61

At left side you can see the list of tables. For viewing those table details click the table
name.

Let us click PO_HEADERS_ALL.

A Guide to Oracle Apps 11i by Dinesh Kumar S

62

At this page you can see the relation of PO_HEADERS_All tables with other tables.
It shows Primary & foreign key relation.

A Guide to Oracle Apps 11i by Dinesh Kumar S

63

When we press po.po_headers_all , you can see the column details.

A Guide to Oracle Apps 11i by Dinesh Kumar S

64

A Guide to Oracle Apps 11i by Dinesh Kumar S

65

A Guide to Oracle Apps 11i by Dinesh Kumar S

66

Chapter 11

Designing Custom Application

Note: For Knowledge purpose you can go through this custom application creation
process.
(As I have not worked with customization, this below customization part alone is
referenced from internet.)

A Guide to Oracle Apps 11i by Dinesh Kumar S

67

Custom Applications are required if you are creating new forms, reports, etc.
This allows you to segregate your custom written files from the standard seeded
functionality that Oracle Applications provide.
Customizations can therefore be preserved when applying patches or upgrades to your
environment.
1) Make the directory structure for your custom application files.
cd $APPL_TOP
mkdir fz
mkdir fz/11.5.0
mkdir fz/11.5.0/admin
mkdir fz/11.5.0/admin/sql
mkdir fz/11.5.0/admin/odf
mkdir fz/11.5.0/sql
mkdir fz/11.5.0/bin
mkdir fz/11.5.0/reports
mkdir fz/11.5.0/reports/US
mkdir fz/11.5.0/forms
mkdir fz/11.5.0/forms/US
mkdir fz/11.5.0/$APPLLIB
mkdir fz/11.5.0/$APPLOUT
mkdir fz/11.5.0/$APPLLOG
2) Add the custom module into the environment
Apply ADX.E.1 and add the entry to topfile.txt as a standard product top entry .
Customised environment variables can be added to AutoConfig by using the filename
specificed by s_custom_file,
which is then called from the APPSORA.env file.
If using Forms Listener Servlet, you may also need to add $CUSTOM_TOP to
formsservlet.ini in
$APACHE_TOP/Jserv/etc

A Guide to Oracle Apps 11i by Dinesh Kumar S

68

3) Create new tablespace for database objects


create tablespace FZ datafile '/u01/oracle/visdata/fz.dbf' size 10M default
storage(initial 10k next 10k)
4) Create schema
create user fz identified by fz
default tablespace fz
temporary tablespace temp
quota unlimited on fz
quota unlimited on temp;
grant connect, resource to fz;
5) Register your Oracle Schema.
Login to Applications with System Administrator responsibility
Navigate to Application-->Register
Application = FZ Custom
Short Name = FZ
Basepath = FZ_TOP
Description = FZ Custom Application
6) Register Oracle User
Naviate to Security-->Oracle-->Register
Database User Name = FZ
Password
= FZ
Privilege
= Enabled
Install Group
=0
Description
= FZ Custom Application User
7) Add Application to a Data Group
Navigate to Security-->Oracle-->DataGroup
Data Group = FZGroup
Description = FZ Custom Data Group
Click on "Copy Applications from" and pick Standard data Group, then add the
following entry.
Application = FZ Custom
Oracle ID = APPS
Description = FZ Custom Application

A Guide to Oracle Apps 11i by Dinesh Kumar S

69

8) Create custom request group


This will act as a placeholder for any custom reports we wish to make available for
the Custom Responsibility
Navigate to Security-->responsbility-->Request
Group
= FZ Request Group
Application = FZ Custom
Code
= FZ
Description = FZ Custom Requests
We will not define any requests to add to the group at this stage, but you can add
some now if required.
9) Create custom menu
This will act as a placeholder for any menu items we wish to make available for the
Custom Responsibility.
We will create two menus, one for Core Applications and one for Self Service.
Navigate to Application-->Menu
Menu
= FZ_CUSTOM_MENU
User Menu Name = FZ Custom Application
Menu Type
= <leave blank>
Description = FZ Custom Application Menu
Seq
= 100
Prompt
= View Requests
Submenu = <leave blank>
Function = View All Concurrent Requests
Description = View Requests
Seq
= 110
Prompt
= Run Requests
Submenu = <leave blank>
Function = Requests: Submit
Description = Submit Requests
Menu
= FZ_CUSTOM_MENU_SSWA
User Menu Name = FZ Custom Application SSWA
Menu Type
= <leave blank>
Description = FZ Custom Application Menu for SSWA

A Guide to Oracle Apps 11i by Dinesh Kumar S

70

10) Create new responsibility. One for Core Applications and One for Self
Service (SSWA)
Navigate to Security-->Responsibility-->Define
Responsibility Name
= FZ Custom
Application
= FZ Custom
Responsibility Key
= FZCUSTOM
Description
= FZ Custom Responsibility
Available From
= Oracle Applications
Data Group Name
= fzGroup
Data Group Application = FZ Custom
Menu
= FZ Custom Application
Request Group Name
= FZ Request Group
Responsibility Name
= FZ Custom SSWA
Application
= FZ Custom
Responsibility Key
= FZCUSTOMSSWA
Description
= FZ Custom Responsibility SSWA
Available From
= Oracle Self Service Web Applications
Data Group Name
= fzGroup
Data Group Application = FZ Custom
Menu
= FZ Custom Application SSWA
Request Group Name
= FZ Request Group
11) Add responsibility to user
Navigate to Security-->User-->Define
Add FZ Custom responsibility to users as required.
12) Other considerations
You are now ready to create your database Objects, custom Reports, Forms,
Packages, etc
Create the source code files in the FZ_TOP directory appropriate for the type of
object. For example forms
would be located in $FZ_TOP/forms/US or package source code in $FZ_TOP/admin/sql
for example.

A Guide to Oracle Apps 11i by Dinesh Kumar S

71

Database Objects, such as tables, indexes and sequences should be created in the FZ
schema, then you need to
a) Grant all privilege from each custom data object to the APPS schema.
1. For example : logged in as FZ user
i. grant all privileges on myTable to apps;
b) Create a synonym in APPS for each custom data object
1. For example : logged in as APPS user
i. create synonym myTable for fz.myTable;
Other database objects, such as views and packages should be created directly in the
APPS schema.

A Guide to Oracle Apps 11i by Dinesh Kumar S

72

Database User Creation & Registration

A Guide to Oracle Apps 11i by Dinesh Kumar S

73

Add Application to Data Group

A Guide to Oracle Apps 11i by Dinesh Kumar S

74

Chapter 12

Application Object Library (AOL)

Collection of pre-built application components and facilities.


Contains shared components forms/reports/concurrent/database
objects/libraries/menus/flex field definitions.
Coding Standards use AOL.

Role of AOL

Oracle AOL links all the objects of oracle application.


It stores & contains the information & details about the data in file system.
The object includes apps tables, user information, directory information, forms,
reports, form functions, Log files etc.
Thus AOL is a backbone of oracle apps 11i, which integrates all the objects &
derives a relation between them.

A Guide to Oracle Apps 11i by Dinesh Kumar S

75

AOL Responsibilities
The responsibilities associated with AOL operations.
System Administrator
Application Developer
Application Developer

A Guide to Oracle Apps 11i by Dinesh Kumar S

76

System Administrator

A Guide to Oracle Apps 11i by Dinesh Kumar S

77

A Guide to Oracle Apps 11i by Dinesh Kumar S

78

Apps Component Structure

A Guide to Oracle Apps 11i by Dinesh Kumar S

79

APPLICATION SECURITY MANAGEMENT


Security Management Involves:
1. Creating a user.
2. Assigning Responsibilities to the user.

Responsibility
It is a collection of authorizations provided to a user. It Includes
i.
ii.
iii.
iv.

Access to specific application.


Set of books
Restricted list of windows.
Functions & reports.

Responsibilities can be shared by several users.


Oracle applications are installed with pre defined responsibilities.
Components of Responsibilities
1)
2)
3)
4)

Data group (mandatory)


Request Security group (optional)
Menu (mandatory)
Functions & menu Exclusion (optional)

We can modify existing responsibility if so it affects users who share these


responsibilities.
We can include or exclude function in responsibility.
We can use request group to add program or report privileges to responsibility.

A Guide to Oracle Apps 11i by Dinesh Kumar S

80

Define a new responsibility by System administrator responsibility.


Navigation:
System Administrator  Security  Define (responsibility)

A Guide to Oracle Apps 11i by Dinesh Kumar S

81

1. Data Group
It is mandatory for defining responsibility.
It defines relation between oracle application & oracle IDs accessible to
responsibility.
It determines DB account accessible by forms, concurrent programs & reports.
Data groups in oracle applications are automatically defined.
Note: AOL of an application is automatically included in definition of data group.

Uses of Data Group


 It identifies the oracle ID belongs to which forms whenever user selects a
responsibility.
 It enables concurrent manager to match applications that owns report or
concurrent program with unique oracle ID.
2. Menu
It is hierarchical list of various application forms that are displayed in navigator window.
It can also point to non form functions.
It is mandatory.

A Guide to Oracle Apps 11i by Dinesh Kumar S

82

3. Function Security
It is mechanism used to control user access to application functionality.
Function:
It is a set of code that is executed only if function name is present in list maintained
within responsibility.
Responsibilities have list of functions.
Types of Function
i.
ii.

Form Function
Non Form Function

Form Function:
Invokes oracle form and accessible from navigation window.
Non Form Function
It is subset of functionality of form.
 A menu is hierarchical arrangement of functions, menus of function and sub
menus.
 To exclude a group function we need to exclude menu function responsibility.
4. Function & Menu Exclusion
Exclusions are used against a responsibility to limit its menu and function access
privileges.
It is optional.
Menu Exclusion
 Exclude all menu & function
Functions Exclusion  Excludes occurrence of functions within menus.

A Guide to Oracle Apps 11i by Dinesh Kumar S

83

Exercise 1

Responsibility with Mandatory Component (Menu & Data Group)

Description:
Let us create a responsibility with default data group & menu.
Instruction:
1.
2.
3.
4.
5.
6.

Create a Responsibility of your choice.


Assigns standard Data Group to it.
Also assign default Menu to it.
Save the responsibility.
Create a user & assign this responsibility.
Login as the user & check the responsibility is assigned correctly.

Note: To create a responsibility you should have System Administrator Responsibility.

A Guide to Oracle Apps 11i by Dinesh Kumar S

84

Log in as system administrator. In Function Navigator select Define under


Responsibility.

A Guide to Oracle Apps 11i by Dinesh Kumar S

85

The responsibility form opens. Now assign a name of your choice. Here I have given
responsibility name as BSL ADMIN .
Select Application as Application Object Library (AOL).
Responsibility key name can be users choice. Here I have given the name as
BSL_ADMIN_KEY.
Description of your choice.

A Guide to Oracle Apps 11i by Dinesh Kumar S

86

Effective date is the date from and to which this responsibility is active.
Default from date is sysdate. You can make this responsibility effective from date of
your choice.

A Guide to Oracle Apps 11i by Dinesh Kumar S

87

Now assign standard Data Group to the responsibility.

A Guide to Oracle Apps 11i by Dinesh Kumar S

88

Choose data group Application as AOL.

A Guide to Oracle Apps 11i by Dinesh Kumar S

89

Now Choose Menu. Here I have chosen existing menu Administrator Menu.

A Guide to Oracle Apps 11i by Dinesh Kumar S

90

Now save the responsibility you have created.

A Guide to Oracle Apps 11i by Dinesh Kumar S

91

Now define a user and assign this responsibility.

A Guide to Oracle Apps 11i by Dinesh Kumar S

92

Type the password twice.

A Guide to Oracle Apps 11i by Dinesh Kumar S

93

Now assign responsibility BSL ADMIN to the user.

A Guide to Oracle Apps 11i by Dinesh Kumar S

94

IF Effective dates are given that responsibility or user is active / valid for those days
only. If it is blank it will be active till administrator deactivates it.

Save it. Now log in as new user.

A Guide to Oracle Apps 11i by Dinesh Kumar S

95

A Guide to Oracle Apps 11i by Dinesh Kumar S

96

A Guide to Oracle Apps 11i by Dinesh Kumar S

97

Exercise 2

Overview of Inventory Responsibility Menu Tree

Description:
Now we will check out the existing Inventory in detail. Here we are going to analyze
what are all the responsibility components that are assigned to inventory responsibility.
Instruction:









Select Responsibility "Inventory".


Analyze the Mandatory responsibility components.
 DataGroup
 Menu
Check out the DataGroup.
Analyze the Menu assigned to Responsibility.
Check out for Sub Menus in Menus.
Check out for Form Functions assigned to Menu or Sub Menu.
Finally check to which form these Form Functions are assigned.

A Guide to Oracle Apps 11i by Dinesh Kumar S

98

Step 1: Log in as administrator. Navigate to Responsibility /define

A Guide to Oracle Apps 11i by Dinesh Kumar S

99

Step2: Press F11 for query mode and to search a responsibility press Ctrl + F11.

A Guide to Oracle Apps 11i by Dinesh Kumar S

100

Step 3: Now we will analyze the Data Group. The Data group assigned to this
responsibility is
Standard and application is Inventory.
Now Let us go to the navigator window.

A Guide to Oracle Apps 11i by Dinesh Kumar S

101

Now navigate to ORACLE/DataGroup.


Query the data group.

A Guide to Oracle Apps 11i by Dinesh Kumar S

102

The following application are assigned to that data group.

A Guide to Oracle Apps 11i by Dinesh Kumar S

103

Data groups will be created by DBA people. So no need t worry. Just know the concepts.

A Guide to Oracle Apps 11i by Dinesh Kumar S

104

Step 4: Now coming to Menu the default menu assigned to inventory responsibility is
INV_NAVIGATE.
Let us check out the menu by navigating to Application/Menu.
Query the menu.

A Guide to Oracle Apps 11i by Dinesh Kumar S

105

The menu structure as below.

Lets us check out the MENU TREE.


Click View Tree Tab to see the menu tree.
The Seq number tells us the order in which menu is structured.

A Guide to Oracle Apps 11i by Dinesh Kumar S

106

At left side you can see the order in which the functions are arranged. At right side you
can see the menu detail info.
Now you can see transaction is a menu & it has sub menu Receiving within it.

A Guide to Oracle Apps 11i by Dinesh Kumar S

107

You can verify this in the main page (or) in Inventory Responsibility Navigator window.

A Guide to Oracle Apps 11i by Dinesh Kumar S

108

Inventory Navigator window.


Now let us check the menu Transaction assigned to menu INV_NAVIGATE.
The name assigned to transaction is INV_TRANSACTIONS.

A Guide to Oracle Apps 11i by Dinesh Kumar S

109

Now query that transaction menu.

A Guide to Oracle Apps 11i by Dinesh Kumar S

110

Now let us see the menu tree.

A Guide to Oracle Apps 11i by Dinesh Kumar S

111

Now let us check out the functions associated with the menu INV_TRANSACTIONS

A Guide to Oracle Apps 11i by Dinesh Kumar S

112

Summary
Topics we have seen.
Responsibility --> Menu.
Responsibility: Inventory.
Menu: INV_NAVIGATE
Menu --> Sub Menu
Menu: INV_NAVIGATE
Sub Menu: INV_TRANSACTIONS
Now we are going to see the functions associated with sub menu.
Sub Menu --> Functions
Sub Menu: INV_TRANSACTIONS
Functions: Sub inventory Transfer, Interorganization Transfer, Miscellaneous
Transaction etc..

A Guide to Oracle Apps 11i by Dinesh Kumar S

113

Step 5: Now navigate to Application / Functions.


Then query the function.

A Guide to Oracle Apps 11i by Dinesh Kumar S

114

A Guide to Oracle Apps 11i by Dinesh Kumar S

115

Go to Property tab to view the property of the function & its type.

A Guide to Oracle Apps 11i by Dinesh Kumar S

116

If you go to Form tab you can see the complete details about the form functions.
Now you can see this particular Form Function is attached to the form (.fmx)
Inventory Transactions.

You can find the forms in the following folder APPL_TOP/PO/11.5.10.2/forms.

A Guide to Oracle Apps 11i by Dinesh Kumar S

117

Exercise 3

Creating Customized menus for Customized Responsibility

Description:
Now we are going to create customized menu for a customized responsibility from the
existing defined menus in oracle application.
Every business have some business flow of their choice. For this exercise consider we
are going to create a normal user with limited functionality.
So, I have taken selected functions from the existing oracle application menu, to create
customized responsibility as below.
System Administrator (only user defining rights)
Application Developer (Only Defining Concurrent Program)
GL Super User (Open & Close Calendar Periods)
Instructions:
Prerequisites:
Assume Forms & Form Functions are already created by oracle apps DBA.
Create a Customized Sub menu for the above responsibilities.
Now assign these Sub menus to other Main menu.
Define a customized Responsibility & assign the data group & this customized Main
Menu.
Now create a user & assign this responsibility to it.
Log in as the user.

A Guide to Oracle Apps 11i by Dinesh Kumar S

118

Remember we should always follow the below Function Security flow:

A Guide to Oracle Apps 11i by Dinesh Kumar S

119

Step 1: Creating Customized Menu's


Now Navigate to Application / Menu.

A Guide to Oracle Apps 11i by Dinesh Kumar S

120

Menu Details
Menu Name:
User Menu Name:
Function:

DINESH SYS ADMIN


Dinesh_Sys_Admin
Users

A Guide to Oracle Apps 11i by Dinesh Kumar S

121

Now search for the existing oracle application Form function.

A Guide to Oracle Apps 11i by Dinesh Kumar S

122

Now menu tree is build after saving the menu.

Similarly create a customized menu for rest of the sub menu's.

A Guide to Oracle Apps 11i by Dinesh Kumar S

123

Menu Name:
User Menu Name:
Function:

DINESH APPL DEV


Dinesh_Appl_Dev
Concurrent Programs (Developer Mode)

A Guide to Oracle Apps 11i by Dinesh Kumar S

124

Menu Tree:

A Guide to Oracle Apps 11i by Dinesh Kumar S

125

Menu Name:
User Menu Name:
Function:

DINESH GL
Dinesh_GL
Open and Close Period

A Guide to Oracle Apps 11i by Dinesh Kumar S

126

Menu Tree:

A Guide to Oracle Apps 11i by Dinesh Kumar S

127

Step 2: Create a Main Menu by assigning these above created menus as sub menus.

Menu Name:
Menu User name:

DINESH MANI MENU


Dinesh_Main_Menu

A Guide to Oracle Apps 11i by Dinesh Kumar S

128

Menu Tree:

A Guide to Oracle Apps 11i by Dinesh Kumar S

129

Step 3: Now create a responsibility & assign the above defined main menu.

Save the responsibility.

A Guide to Oracle Apps 11i by Dinesh Kumar S

130

Step 4: Now create a user & assign this responsibility.

Now log in as the above user.

A Guide to Oracle Apps 11i by Dinesh Kumar S

131

Step 5: Logging in as user DINI_USER

At first log in change the password of your choice.

A Guide to Oracle Apps 11i by Dinesh Kumar S

132

The home page as below:

After clicking the responsibility Dinesh_Custom_Resp.

A Guide to Oracle Apps 11i by Dinesh Kumar S

133

Now press system Admin responsibility : User.


The following screen appears.

A Guide to Oracle Apps 11i by Dinesh Kumar S

134

Exercise 4

Menu & Function Exclusion

Description:
We can exclude functions at any level to customize a responsibility.
Excluding a menu item from a responsibility will exclude all the menus and functions
nested within that menu item.
Excluding a function from a responsibility will exclude all occurrences of that function
Throughout the menu structure of the responsibility.
Instructions:




First select the responsibility.


Select which Menu to be excluded.
Thirdly, select which function to be excluded.

A Guide to Oracle Apps 11i by Dinesh Kumar S

135

Menu and Function Exclusion


The user DINI_USER has the following responsibility assigned as below.

A Guide to Oracle Apps 11i by Dinesh Kumar S

136

A Guide to Oracle Apps 11i by Dinesh Kumar S

137

System Admin:
This responsibility can create a user.

A Guide to Oracle Apps 11i by Dinesh Kumar S

138

Application Developer:
This responsibility is to define & run Concurrent Program.

Similarly for General Ledger.

A Guide to Oracle Apps 11i by Dinesh Kumar S

139

Menu Exclusion:
Now we are going to exclude a menu from the Dinesh_Cust_Resp.
Log in as System Administrator and navigate to Security /Responsibility/ Define.
Then Query the responsibility.

In the menu exclusion Type select the type & name of function or menu.

A Guide to Oracle Apps 11i by Dinesh Kumar S

140

Now I have excluded the Application Developer Menu.


Type:
Name:

Menu
Dineshs_Appl_Dev

Now Log in as the user & check out u can access Application Developer Responsibility.

The application Developer menu is excluded.


To enable the menu again delete the record by using icon

A Guide to Oracle Apps 11i by Dinesh Kumar S

141

Log in again & check out.

A Guide to Oracle Apps 11i by Dinesh Kumar S

142

Function Exclusion:
Now we are going to exclude a function from the Dinesh_Cust_Resp.
Type:
Name:

Function
Users

Now the menu is not excluded only the function within the menu is excluded.
Since we have only one function within the Menu, the whole menu is disabled.
If we have more functions only that particular functionality is disabled.

A Guide to Oracle Apps 11i by Dinesh Kumar S

143

Chapter 13

AOL Concurrent Processing & Program

Overview of Concurrent Processing


A mechanism in oracle e-business suite helps in background processing of Reports, batch
runs and longer transactions.
It is series of background Managers.
Concurrent processing is a separate Programs that control Background processing
(requests) which is initiated by user or Scheduled.

Major Features
Online Requests
We can submit requests from forms & concurrent manager takes care of work online.
Automatic Scheduling
Oracle AOL automatically schedules request based on priority and compatibility on
submitting.
Concurrent Processing options
We can control certain runtime options like profile options.
Online request review
We can review the processing online like getting log information, output and status of
the concurrent program.
Concurrent managers
Helps in managing, controlling all concurrent program transactions.
Simultaneous queuing
It helps in conflict one request with other i.e. avoids deadlock.
Multiple concurrent programs
For each executable we can have multiple concurrent programs defined.

A Guide to Oracle Apps 11i by Dinesh Kumar S

144

Creating Concurrent Program

The basic process of creating concurrent program as follows:


1.
2.
3.
4.
5.

Create a program execution file.


Define concurrent program executable.
Define concurrent program.
Request you program.
Make concurrent program available to user.

Note: Request Group & Request set will be covered in later part of the chapters.

A Guide to Oracle Apps 11i by Dinesh Kumar S

145

Exercise 5

Defining a Concurrent program (Default Parameters)

Description:
We are going to define a concurrent program in this exercise. Remember if we are going
to create a procedure of function default parameters to retrieve the status of the
concurrent program. The parameters as follows:
Errbuf
Retcode

varchar2 (mandatory)
varchar2 (mandatory)

For example:
Create or replace procedure sample (Errbuf out varchar2, Retcode out varchar2)
As
Begin
// body of the document
End;
Instruction:







Create a procedure.
Create an executable.
Attach this executable to the concurrent program (defining Concurrent pg.)
Create a request group & assign this to the user responsibility.
Now run the request.
View the status.

A Guide to Oracle Apps 11i by Dinesh Kumar S

146

Step 1: Creating a simple procedure to update the description of the user in


Apps.FND_USER table.

Step 2: Create a executable


Log in as Application Developer
Navigation: Concurrent/Executable

A Guide to Oracle Apps 11i by Dinesh Kumar S

147

Executable Details:

Create Executable as below.

A Guide to Oracle Apps 11i by Dinesh Kumar S

148

Step 3: Defining a concurrent program.

A Guide to Oracle Apps 11i by Dinesh Kumar S

149

Step 4: Now we need to define a request group & assign that to a responsibility of the
user who runs this request.

A Guide to Oracle Apps 11i by Dinesh Kumar S

150

Step 5: To the existing responsibility assign the created requested group.

A Guide to Oracle Apps 11i by Dinesh Kumar S

151

Step 6: Submit the request.


Log in as Application Developer

A Guide to Oracle Apps 11i by Dinesh Kumar S

152

Now you can view the status of the request you have submitted as below.

Expected Result: Change in description of the user.

A Guide to Oracle Apps 11i by Dinesh Kumar S

153

Exercise 6

Defining a Concurrent program (with user parameters)

Description:
We are going to define a concurrent program with user parameter other than the
mandatory parameters. Here the concept is same as above exercise, but slightly varies
in defining a parameter for concurrent program. We need to create a value set for the
parameter & attach to it.

Instructions:










Create a procedure.
Create an executable.
Create a value set.
Attach this executable to the concurrent program (defining Concurrent pg.)
Now attach the value set to the parameter for validation.
Create a request group & assign this to the user responsibility.
Now run the request.
View the status.

 Additional steps w.r.t. Exercise 5.

A Guide to Oracle Apps 11i by Dinesh Kumar S

154

Procedure:

Executable:

A Guide to Oracle Apps 11i by Dinesh Kumar S

155

Value set:

Navigation:

A Guide to Oracle Apps 11i by Dinesh Kumar S

156

Values in value set:

A Guide to Oracle Apps 11i by Dinesh Kumar S

157

Entering values for validation:

A Guide to Oracle Apps 11i by Dinesh Kumar S

158

Concurrent Program:

After filling the main page press Parameters.

A Guide to Oracle Apps 11i by Dinesh Kumar S

159

Defining Parameters:

save the set up.

A Guide to Oracle Apps 11i by Dinesh Kumar S

160

Defining Request group:

A Guide to Oracle Apps 11i by Dinesh Kumar S

161

Responsibility:

A Guide to Oracle Apps 11i by Dinesh Kumar S

162

Submit Request:
Switch responsibility to Application Developer

Go to View Select Requests.

A Guide to Oracle Apps 11i by Dinesh Kumar S

163

Press Submit new request button.

Select Single request

A Guide to Oracle Apps 11i by Dinesh Kumar S

164

When selecting the request name a pop up comes, thats the parameter window to
substitute the user name.

Parameter:

Press Ok

A Guide to Oracle Apps 11i by Dinesh Kumar S

165

Submit the request:

Status:

Successfully completed.

A Guide to Oracle Apps 11i by Dinesh Kumar S

166

Expected Result:

Now you can see the description of the user is modified.

A Guide to Oracle Apps 11i by Dinesh Kumar S

167

Exercise 7

Concurrent program with report executable

Description:
In this exercise we are going to create a report as executable and attach it to the
concurrent program. All the procedures & steps for creating concurrent program is
same but when passing parameters to the reports some points to be noted i.e. token
name. The name in the parameter form of the report should be same as token name in
the parameter form in apps screen.

Instructions:






First place the created report in the reports folder in apps data structure.
Then create an executable.
Define a concurrent program & attach the executable to it.
Set the parameter along with the token name (same as parameter names in report
.rdf file)
Create a request set & submit the request.

A Guide to Oracle Apps 11i by Dinesh Kumar S

168

Step 1: Create a report and place it in following directory in apps file system.

Location: APPL_TOP/Module_name/11.5.0/Reports

Suppose if I am creating a report for purchasing module I need to place the report in
following location:
APPL_TOP/PO/11.5.0/Reports/Dini_PO_report.rdf

A Guide to Oracle Apps 11i by Dinesh Kumar S

169

Report name: Dini_PO_report.rdf


Application: Purchasing

Executable:

A Guide to Oracle Apps 11i by Dinesh Kumar S

170

Concurrent Program:

A Guide to Oracle Apps 11i by Dinesh Kumar S

171

Parameters

A Guide to Oracle Apps 11i by Dinesh Kumar S

172

Parameter form in report

Note: The Concurrent parameter Token Name and the user parameter should be
same.

A Guide to Oracle Apps 11i by Dinesh Kumar S

173

Now save the concurrent program & run the request.


PO_RELEASE_NUM is at bottom of layout it is not shown in screen shot.

A Guide to Oracle Apps 11i by Dinesh Kumar S

174

Create a request group.

Assign this request group to the responsibility the user is going to execute
the concurrent program.

A Guide to Oracle Apps 11i by Dinesh Kumar S

175

Submit Request:
Enter value for report parameter:

Submit the request:

A Guide to Oracle Apps 11i by Dinesh Kumar S

176

A Guide to Oracle Apps 11i by Dinesh Kumar S

177

Status:
Refresh the status every time till it completes.

Note:
One mandatory report user parameter for running reports is:
P_CONC_REQUEST_ID (mandatory)

A Guide to Oracle Apps 11i by Dinesh Kumar S

178

This parameter is linked with Concurrent Request ID of concurrent program.

A Guide to Oracle Apps 11i by Dinesh Kumar S

179

Chapter 14

AOL Table Relations

Let us summarize the functional Security flow:


Forms

Form Functions

Menus

Responsibilities

User

Note:
In this chapter I have covered only main tables. For other tables please refer eTRM.
All the table description is referred from eTRM.

A Guide to Oracle Apps 11i by Dinesh Kumar S

180

Tables

Description

FND_FORM

Fnd_Form stores information about your registered application


forms.
FND_FORM_FUNCTIONS Fnd_Form_Functions stores information about function
grouping in forms.
Menus:

Tables

Description

FND_MENUS

Fnd_Menus lists the menus that appear in the Navigate


Window.
FND_MENU_ENTRIES Fnd_Menu_Entries stores information about individual
entries in the menus in FND_MENUS.
Responsibility:

Tables
FND_RESPONSIBILITY

Description
Fnd_Responsibility stores information about responsibilities.
Each row includes the name and description of the responsibility,
the application it belongs to, and values that identify the main
menu, and the first form that it uses.

User:

Tables

Description

FND_USER

Fnd_User stores information about application users


FND_USER_RESP_GROUPS Responsibilities assigned to application users

A Guide to Oracle Apps 11i by Dinesh Kumar S

181

Data Group:

Tables

Description

FND_DATA_GROUPS

Fnd_Data_Groups stores information about different data


groups
FND_DATA_GROUP_UNITS Fnd_Data_Group_Units stores information about ORACLE
database
accounts associated with various applications under different
data groups
Concurrent:

Tables

Description

FND_CONCURRENT_PROCESSORS

FND_CONCURRENT_PROCESSES

FND_CONCURRENT_REQUESTS
FND_CONCURRENT_PROGRAMS

FND_EXECUTABLES

Fnd_Concurrent_Processors stores information about


immediate (subroutine) concurrent program libraries.
Each row includes the name and description of the
library.
Fnd_Concurrent_Processes stores information about
concurrent managers. Each row includes values that
identify the ORACLE process, the operating system
process, and the concurrent manager
(QUEUE_APPLICATION_ID and
CONCURRENT_QUEUE_ID).
Fnd_Concurrent_Requests stores information about
individual concurrent requests.
Fnd_Concurrent_Programs stores information about
concurrent programs. Each row includes a name and
description of the concurrent program.
Fnd_Executables stores information about concurrent
program executables.

A Guide to Oracle Apps 11i by Dinesh Kumar S

182

Request:

Tables

Description

FND_REQUEST_GROUPS

Fnd_Request_Groups stores information about report


security groups.
FND_REQUEST_GROUP_UNITS Fnd_Request_Group_Units stores information about
individual reports and groups within each report security
group.
FND_REQUEST_SETS
Fnd_Request_Sets stores information about report sets.
FND_REQUEST_SET_STAGES
A request set is composed of one or more stages.
Information about each stage is stored in
Fnd_Request_Set_Stages.
FND_RUN_REQUESTS
Fnd_Run_Requests stores information about running
reports within a report set. Each row includes values that
identify the running request, the parent request, the
request set, and information for printing the report.
Application:

Tables

Description

FND_APPLICATION

Applications registered with Oracle Application Object Library.

A Guide to Oracle Apps 11i by Dinesh Kumar S

183

Primary-Foreign Key Relations


For people who dont have access to eTRM, I have given the relations from the eTRM
link.
Note: You can find foreign key relations between columns only for the topics we
have discussed.

Responsibility

Table: FND_RESPONSIBILITY
Main Table

Table
FND_APPLICATION
FND_DATA_GROUP_UNITS

FND_RESPONSIBILITY

FND_REQUEST_GROUPS
FND_MENUS
FND_PROFILE_OPTION_VALUES
FND_USER_DESKTOP_OBJECTS
FND_APPLICATION

Relating Column
APPLICATION_ID
DATA_GROUP_APPLICATION_ID,
DATA_GROUP_ID
GROUP_APPLICATION_ID
,REQUEST_GROUP_ID
MENU_ID
LEVEL_VALUE_APPLICATION_ID
APPLICATION_ID
RESPONSIBILITY_APPLICATION_ID

Data Group

Table: FND_DATA_GROUP_UNITS

Main Table

Table

FND_DATA_GROUP_UNITS

FND_DATA_GROUPS
FND_RESPONSIBILITY

Relating Column
DATA_GROUP_ID
DATA_GROUP_APPLICATION_ID,
DATA_GROUP_ID

A Guide to Oracle Apps 11i by Dinesh Kumar S

184

Request Group

Table: FND_REQUEST_GROUP

Main Table

Table

FND_REQUEST_GROUP

Relating Column

FND_APPLICATION
FND_REQUEST_GROUP_UNITS
FND_RESPONSIBILITY

APPLICATION_ID
APPLICATION_ID,
REQUEST_GROUP_ID
GROUP_APPLICATION_ID,
REQUEST_GROUP_ID

User

Table: FND_USER_RESP_GROUPS
Main Table

Table
FND_RESPONSIBILITY

FND_USER_RESP_GROUPS

FND_USER
FND_SECURITY_GROUPS

Relating Column
RESPONSIBILITY_ID,
RESPONSIBILITY_APPLICATION_ID
USER_ID
SECURITY_GROUP_ID

Concurrent

Table: FND_CONCURRENT_REQUESTS
Main Table

Table

Relating Column

FND_CONCURRENT_REQUESTS

FND_CONCURRENT_PROGRAMS
FND_USER
FND_RESPONSIBILITY

PROGRAM_APPLICATION_ID
REQUESTED_BY
RESPONSIBILITY_APPLICATION_ID
,RESPONSIBILITY_ID
CONTROLLING_MANAGER
REQUEST_ID

FND_CONCURRENT_PROCESSES
FND_RUN_REQUESTS

A Guide to Oracle Apps 11i by Dinesh Kumar S

185

Applications

Table: FND_APPLICATION
Main Table

Table

Relating Column

FND_CONCURRENT_PROCESSORS
FND_CONCURRENT_PROGRAMS
FND_DESCRIPTIVE_FLEXS
FND_EXECUTABLES
FND_FORM
FND_LOOKUP_TYPES
FND_PROFILE_OPTIONS
FND_REQUEST_GROUPS
FND_RESPONSIBILITY
FND_TABLES
FND_VIEWS

FND_APPLICATIONS

APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
VIEW_APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID

Relation Diagram

Fnd_Concurrent_Programs

Fnd_Form

Fnd_Concurrent_Processes

Program_Application_id

Controlling_Manager

Application_id
Requested_By

Fnd_Form_Functions
Function_id

Fnd_Menu_Entries
Menu_id
Sub_Menu_id

Fnd_menu
Menu_id

Fnd_Concurrent_Req
Responsibility_Application_id
Responsibility_id

Fnd_Data_Group

Fnd_Request_Group_Units
Application_id

Data_Group_id

Fnd_Data_Group_Units
Data_Group_Application_id

Request_Group_id

Fnd_Request_Group
Group_Application_id

Fnd_Responsibility
Application_id
Application_id

Fnd_User_Resp_Group
Responsibility_id
Responsibility_Application_id

Fnd_Application

A Guide to Oracle Apps 11i by Dinesh Kumar S

User_id

Fnd_User

186

Chapter 15

Overview of Flexfield Concepts

A Flexfield contains Segments or Sub-fields.


Each segment contains some set of values (Value Sets).

Flexfield Types
Two types of flexfields
Key flexfield (KFF)
Descriptive flexfield (DFF)

A Guide to Oracle Apps 11i by Dinesh Kumar S

187

Key Flexfield
KFF is made up of segments.
Segment represents entity characteristics.
We can Customize KFF by combining segment values.
Also we can define rules on segments.

A Guide to Oracle Apps 11i by Dinesh Kumar S

188

Descriptive Flexfield
DFF is mainly used for storing additional informations.
DFF appears in form as icon .
Attributes in tables represents DFF.
DFF can also have set of values.

Features of flexfields

Application customization.
Use of Intelligent Keys composed of combination of segment values.
Value validations.
Customizing data fields.

A Guide to Oracle Apps 11i by Dinesh Kumar S

189

Flexfield in Oracle Application

Flexfield

Oracle Module

Accounting Flexfield
General Ledger
Account Aliases
Item Catalogs
Inventory
Item Categories
Sales Orders
Stock Locators
System Items
Sales Tax Location Flexfield
Oracle Receivables
Territory Flexfield
Grade Flexfield GRD
Oracle Assets
Job Flexfield
Oracle Human Resources
Personal Analysis Flexfield
Soft Coded Key Flexfield
Asset Key Flexfield
Oracle Assets
Category Flexfield
Location Flexfield
Oracle Service Item Flexfield
Oracle Service

A Guide to Oracle Apps 11i by Dinesh Kumar S

190

Note:
No. of columns allocated for flexfields.
KFF 30 Segments
DFF 15 Attributes

For KFF we can view only enabled segments in table. For example, consider
PO_Headers_All table below.

A Guide to Oracle Apps 11i by Dinesh Kumar S

191

A Guide to Oracle Apps 11i by Dinesh Kumar S

192

Global_Attribute

Attributes are not used in tables for business, as these attributes are reserved for
future purpose by Oracle Corporation.

A Guide to Oracle Apps 11i by Dinesh Kumar S

193

Exercise 8

Creating accounting Flexfield Structure

Description:
Now we are going to create a flexfield structure. Let us consider Accounting Flexfield
setup in GL. Before creating the structure we need to know some basic & essential
terms. They are as below.
Accounting Flexfield
Segment Separator
Cross-Validate Segments
Freeze Flexfield Definition
Flexfield Qualifiers
Segment Qualifiers
Structure
Freeze Rollup groups
Allow dynamic insert

Accounting Flexfield:
This is used to design GL accounts. This helps in running an organization in proper
manner.
Also allows classification of accounting information. The structure provides a logical
order of values by grouping related accounts.
Segment Separator:
Segment Separator characters are used to separate different segment values with any
conflict.
Cross-Validate Segments:
Select the Cross-Validate Segments check box if you want to cross-validate multiple
segments using cross-validation rules
Freeze Flexfield Definition:

A Guide to Oracle Apps 11i by Dinesh Kumar S

194

If we freeze the flexfield we cannot modify any values of the segment.


You must freeze and compile your flexfield definition before you can use your flexfield.
Flexfield Qualifiers:
The flexfield qualifier identifies the user customized segments, such that it ensures all
key segments required for application is defined or not.
Segment Qualifiers:
It describes the characteristics of segment values. It also helps in retrieving
information about segment values.
Structure:
It is a particular arrangement of flexfield segments. The size of structure depends
upon flexfield.
Freeze Rollup groups:
Rollup groups are used to create summary accounts for reporting purposes.
Allow dynamic insert:
We can enter new combination of segment values using flexfield value from a foreign
key form.
Instructions:







Create a value set for accounting flexfield segments.


Create flexfield structure.
Create segments for Flexfield.
Assign value set to the segments created.
Enable/ Disable Options like Freeze rollups, Dynamic insert, cross validation.
Compile Flexfield structure.

A Guide to Oracle Apps 11i by Dinesh Kumar S

195

Step 1: Log in as GL Super User.


Navigation:

Step 2: Creating a value set for flexfield segments.


Account segment uses Natural Account segment.
The company segment use Balancing Segment.
These segments are mandatory for defining the accounting flexfield.

A Guide to Oracle Apps 11i by Dinesh Kumar S

196

Creating value set for Natural account.

Creating value set for Balancing account.

A Guide to Oracle Apps 11i by Dinesh Kumar S

197

Step 3: Adding values to value sets created.


Navigation: Setup/Validation/Values

A Guide to Oracle Apps 11i by Dinesh Kumar S

198

Step 4: Create flexfield structure for accounting flexfield.


Create segment for the flexfield.
Navigation: Setup/Financials/Flexfield/Key/Segments.

First Query the Flexfield title as Accounting Flexfield. Then add new record.

A Guide to Oracle Apps 11i by Dinesh Kumar S

199

Now click

to define segments.

Now define Flexfield Qualifiers.

A Guide to Oracle Apps 11i by Dinesh Kumar S

200

For Company_BS:

For Account_NA:

A Guide to Oracle Apps 11i by Dinesh Kumar S

201

Step 5: Enabling other options.


Segment Separator:
You can define any of the 3 separator or a custom one. I am going to define a custom
one.

Allow Dynamic Insert:

Freeze Flexfield Definition:

A Guide to Oracle Apps 11i by Dinesh Kumar S

202

Save it & Compile Flexfield definition.

After compiling you will get message box as below.

A Guide to Oracle Apps 11i by Dinesh Kumar S

203

Exercise 9

Modifying Flexfield Definition

Description:

As we know once we freeze the values of flexfield segments we cannot modify or make
any changes in it. Now we are going to see how to modify the flexfield definition.

Instructions:






Create a new value set for balancing segment.


Unfreeze Flexfield definition.
Update segment values by assigning new value set.
Again freeze the flexfield definition.
Compile flexfield structure.

A Guide to Oracle Apps 11i by Dinesh Kumar S

204

Step 1: Create a new value set as below and set the values as below.

Assign values to value set.

A Guide to Oracle Apps 11i by Dinesh Kumar S

205

Step 2: Open the Accounting Flexfield Ac_Flexfield_GL and unfreeze the Freeze
Flexfield Definition checkbox.
While unfreezing it you will get the following pop up message as below.

A Guide to Oracle Apps 11i by Dinesh Kumar S

206

Step 3: Now go to the segment tab


segment

and change the value set of

Company_BS value set from BS_GL to BS_GL_2 and save it.

A Guide to Oracle Apps 11i by Dinesh Kumar S

207

Step 4: Enable checkbox of Freeze Flexfield Definition and compile the Accounting
Structure Ac_Flexfield_GL.

The following message box appears while enabling checkbox.

A Guide to Oracle Apps 11i by Dinesh Kumar S

208

Compile the Flexfield Definition.

A Guide to Oracle Apps 11i by Dinesh Kumar S

209

Exercise 10

Enabling Descriptive Flexfield (DFF)

Description:

Now we are going to enable a DFF segment in GL Super User Responsibility.


DFF appears as single character & enclosed as [ ].

Instruction:





In Accounting Calendar Form, at GL you can see a DFF.


You need either Application Developer (or) System Administrator Responsibility
to do this task.
Also for Diagnostic examination of DFF in form you need Oracle Apps Database
Password.

A Guide to Oracle Apps 11i by Dinesh Kumar S

210

Step 1: Navigate: Purchase Order/Purchase orders

(or) In windows Navigator

A Guide to Oracle Apps 11i by Dinesh Kumar S

211

You can see the GL Accounting Calendar form as below.

Step 2: To see the name of the DFF do the following steps.


Go to help Diagnostics Examine.

A Guide to Oracle Apps 11i by Dinesh Kumar S

212

As Diagnostics is directly associated with Apps DB schema, you need to provide Oracle
Apps Database password to examine the form.

When the password is correct you can the following window, the details of DFF will be
populated in the pop up window.

Note down these values populated.

A Guide to Oracle Apps 11i by Dinesh Kumar S

213

Step 3: To enable this DFF switch to Application Developer responsibility (or) to


System Administrator Responsibility. Here I am switching to System admin.
Then navigate to Flexfield / Descriptive /Segments.

You will be seeing the below form and Query the DFF.
Query Details:

A Guide to Oracle Apps 11i by Dinesh Kumar S

214

You can see the DFF details as below.

Now click

you can see the segment summary form.

A Guide to Oracle Apps 11i by Dinesh Kumar S

215

Fill in the following details as below.


Number:
Name:
Window Prompt:
Column:
Value set:

5
Dinesh Fin calendar
Dinesh Fin calendar
Attribute 5
Optional (As I havent defined any not using it)

Then Save the record you have created.

A Guide to Oracle Apps 11i by Dinesh Kumar S

216

Now freeze the Flexfield definition by enabling the checkbox Freeze Flexfield
Definition.

A Guide to Oracle Apps 11i by Dinesh Kumar S

217

Next step is to Compile the Flexfield definition by clicking

Now switch to GL Super User responsibility.

A Guide to Oracle Apps 11i by Dinesh Kumar S

218

Now click the DFF.

You can see the DFF is enabled and the following pop window appears.

You can Disable the Context text field as below.


As we have free zed the Flexfield definition we need to unfreeze it & make the
changes.
Please follow the steps as below.

A Guide to Oracle Apps 11i by Dinesh Kumar S

219

Now save & freeze it again.

A Guide to Oracle Apps 11i by Dinesh Kumar S

220

You can also make Context text field as mandatory by enabling check box of
Required as below.

Save & freeze.


As discussed above I am going to disable the Context text field.

A Guide to Oracle Apps 11i by Dinesh Kumar S

221

Now compile the Flexfield definition.

Now open the DFF and check out.

A Guide to Oracle Apps 11i by Dinesh Kumar S

222

Chapter 16

Oracle User Profile Options

User profile affects the way in which user runs the application. AOL provides plenty of
choices to set user interface with the business application.
In short profile option is used to control & manage transactions & activities in oracle
application.
User Profile Levels
AOL defines hierarchy for user profile.
User

High

Responsibilit
y
Application

Site

Low

User Level:
This option value affects a single application user directly.
Responsibility Level:
This affects all the application users in the responsibility.
Application level:
This directly affects the application.
Site Level:
It affects all the application that run is apps.

A Guide to Oracle Apps 11i by Dinesh Kumar S

223

Need of User Profile: A practical scenario to understand profile option.


Scenario 1:

Organization

Finance Dept

Users A

Sys Admin Dept

Users B

Manufacturing Dept

Users C

Quality Dept

Users D

In the above scenario you can see for the organization there are 4 different
departments. Every department has its own user. These users have access to their
respective departments. Suppose consider a situation when organization has to update
10,000 users responsibility. In this case if the profile option is set this job is done at
very short time. This is one simple situation, like this we can use profile option for more
complex situations.

A Guide to Oracle Apps 11i by Dinesh Kumar S

224

Scenario 2:
Consider the above diagram in scenario 1. Every department has users and user from
finance department cannot access details of quality department and vice versa.
Suppose consider this access security can be applied to apps users. That is when the
user logs into the apps and the profile option is set for the user, the user can be
redirected to any web page.
For example,
User A  Admin
User B  HR

The user will be redirected to the following link:


http://apps.DineshSoft.com:8011/OA_HTML/ADMIN.jsp?OAFunc=OAHOMEPAGE

A Guide to Oracle Apps 11i by Dinesh Kumar S

225

Similarly, when USER B logs in.

The user will be redirected to the following link:


http://apps.DineshSoft.com:8011/OA_HTML/HR.jsp?OAFunc=OAHOMEPAGE

A Guide to Oracle Apps 11i by Dinesh Kumar S

226

Exercise 11

Custom Profile Option for Responsibility

Description:
We are going to create profile option for employees working in Car manufacturing
industry say Company like ford, GM etc. In this industry employees are classified on the
basis of grades. We are going classify the employees as below.
Grade
A0
A1
A2

Description
Associate Engineer
Sr. Engineer
Chief Mechanical Engineer

As per the company policy when an employee buys a ford car, they will be given some
discounts based on their grade. The discounts are below.
A0  7%
A1  10%
A2  20%
Assume the Ford Company has implemented oracle apps 11i. Now we are going to create
profile options for grades and assign this profile to the responsibility. Such that the
employee who comes under particular responsibility will get discounts.
Instructions:




Create responsibility
Create Profile option
Assign Discount %

 User
 User
 Responsibility

A Guide to Oracle Apps 11i by Dinesh Kumar S

227

Step 1: Creating responsibility for grade A0.


Navigation: System Administrator/Security/Responsibility/Define

A Guide to Oracle Apps 11i by Dinesh Kumar S

228

In the same way create responsibility for grade A1 & A2.

For A2.

A Guide to Oracle Apps 11i by Dinesh Kumar S

229

Step 2: Create User and assign above created responsibility.


Navigation: System Administrator/Security/User/Define

A Guide to Oracle Apps 11i by Dinesh Kumar S

230

In the same way create Users for grade A1 & A2.

For A2.

A Guide to Oracle Apps 11i by Dinesh Kumar S

231

Step 3: Define Profile options for Discount (Switch to Application Developer


responsibility).
Navigation: Application Developer/Profile

Access Level is based on Hierarchy type.


Server Type.

A Guide to Oracle Apps 11i by Dinesh Kumar S

232

Organization type.

Security type

For our exercise we are going to choose Security type.

A Guide to Oracle Apps 11i by Dinesh Kumar S

233

Defining Profile option.

A Guide to Oracle Apps 11i by Dinesh Kumar S

234

Step 4: Profile option assignment (Switch to System Administrator Responsibility) for


above created responsibilities.
Navigation: System Administrator/Profile/System
Assignment for A0 Associate Engineer Responsibility.

Click Find.

A Guide to Oracle Apps 11i by Dinesh Kumar S

235

Based on the below table assign the discount values.


Grade
A0
A1
A2

Description
Discounts %
Associate Engineer
7
Sr. Engineer
10
Chief Mechanical Engineer
20

Grade A0:

Grade A1:

A Guide to Oracle Apps 11i by Dinesh Kumar S

236

Grade A2:

Now when the employee buys a car from the company automatically they will get
discount on total car cost.

A Guide to Oracle Apps 11i by Dinesh Kumar S

237

Exercise 12

Custom Profile Option for User

Description:
Now we are going to create profile option for user who already has profile option set
for his responsibility. In this exercise we are going to check the hierarchy of the user
profile levels.

Instructions:



Create new user  Responsibility


Assign Profile  User

As we have already assigned profile to the responsibility that step is skipped.

A Guide to Oracle Apps 11i by Dinesh Kumar S

238

Step 1: Creating a new user.

Step 2: Assign profile option to be set to User.


As you can see already profile option is set with Responsibility .

A Guide to Oracle Apps 11i by Dinesh Kumar S

239

Now we are going to set for a user.

A Guide to Oracle Apps 11i by Dinesh Kumar S

240

Now I have set the discount % as 22 which is greater than responsibility discount %.

A Guide to Oracle Apps 11i by Dinesh Kumar S

241

Observation:

We know the hierarchy for user profile option as below.


User

High

Responsibility

Application

Site

Low

Here user has highest Priority/Preferences, such that it can override profile options
set to Responsibility, Application and Site.
Thus, in this exercise we have defied same profile option for responsibility & user with
different discount value, that is user value (20) > responsibility value (22). As user is at
top level its value (22) overrides responsibility value (20).
Therefore, employees SENTHIL.M will have Discount of 22% when he buys a car from
Dinesh motors.

A Guide to Oracle Apps 11i by Dinesh Kumar S

242

Oracle Alerts

Chapter 17

We all know about Exception handling in Java programming. In the same way oracle
alerts helps in exception handling & controlling.
Alerts -- Entities.
(Implies)

Oracle alert create entity called alert to control organization business.

Types of Alerts
Alert Type
Event
Periodic

Usage/Example
To monitor DB activities like insert or update etc.
Checks DB information at scheduled time like email, concurrent program
or running SQL script.

Note: Both types of alerts are defined by SQL select statement.


Alerts in Business




Alerts helps in Database exceptions & tracking transactions by emailing the


activity or error or exception to the user.
Takes predefined actions depending on exception or response to alert.
It Schedules database activities like calling PLSQL stored procedures and
decreases manual work.

A Guide to Oracle Apps 11i by Dinesh Kumar S

243

Exercise 13

Creating Periodic Alert

Description:
We are going to create a periodic alert. These alerts can be triggered daily, weekly,
monthly or yearly at particular interval of time.
Note:
This alert is no were related with any DB transaction or tracking activity.
Periodic alert will notify or report the user regardless of any activity.
Instruction:
Some steps to remember, while creating periodic alert

Define
Detail
Action
Set
Define periodic alert + frequency.
Specify detail information about alert.
Define actions for alerts.
Create action set contains actions.
Things to Remember:
 Define mail account for alerts.
 Set up connection b/w alert and mail application.
Note: In the below exercises I havent configured mail account.

A Guide to Oracle Apps 11i by Dinesh Kumar S

244

Step 1: Go to Responsibility Alert Manager.

A Guide to Oracle Apps 11i by Dinesh Kumar S

245

Creating Periodic Alerts involves 4 steps.


1.
2.
3.
4.

Define alert & specify frequency.


Specify Details.
Define Action.
Create Action Set.

A Guide to Oracle Apps 11i by Dinesh Kumar S

246

Navigation: Oracle Alerts/ Define

Step 2: Fill the details of your periodic alert.

A Guide to Oracle Apps 11i by Dinesh Kumar S

247

Set frequency for Periodic alert.


There are nine frequency options for alerts as below.

Frequency
On Demand
On Day of the Month
On Day of the Week
Every N Calendar Days

Every N Business Days


Every Day
Every Other Day
Every Business Day
Every Other Business Day

Description
Alert is check only when user specify.
Alert is checked on monthly basis on the day you specify i.e.
14th day of every month.
As above it checks alert on day of week.
Checks alerts on every day a day calendar & does not skip
holidays.
Checks oracle alerts on every business days.
1  check on business day
2  Check on non-business days.
This is same as Every N Calendar and days field value as 1.
This is same as Every N Calendar and days field value as 2.
This is same as Every N Business and days field value as 1.
This is same as Every N Business and days field value as 2.

A Guide to Oracle Apps 11i by Dinesh Kumar S

248

On Day of the Month

On Day of the Week

Every N Calendar Days

Every N Business Days

A Guide to Oracle Apps 11i by Dinesh Kumar S

249

Every Day

Every Other Day

Every Business Day

Every Other Business Day

Now we are going to select On Demand frequency for this exercise.

A Guide to Oracle Apps 11i by Dinesh Kumar S

250

Select Query:
We can write query in 2 ways:
a) Manually Select Statement
b) Import Select Statement
Points to Remember while writing Select Query:
1.
2.
3.
4.

Periodic alert statement should include INTO clause.


Identify inputs with colon (:) in front of name. Example :Col_Name.
Identify outputs with ampersand (&) in front of name. Example &Col_Name.
We can format column output by putting Pound sign (#) after column name &
define the format. For example &Amount#999.99.
5. For importing SQL statement click
you can see the below
screen.

A Guide to Oracle Apps 11i by Dinesh Kumar S

251

Sample SQL Statements:


Consider I have table like this.
Employee:
Emp_ID
101
256
553
600
809
2241

Emp_Name
Dinesh
Vishnu Raju
Srikanth.Pk
Shovan Mahapatra
Hima.k
Lokesh. BN

Emp_Department
IT
Electronics
Mechanical
Bio-Tech
Architecture
Civil

Statement 1:

Statement 2: To get user input

A Guide to Oracle Apps 11i by Dinesh Kumar S

252

Now for our exercise we are going to use the following SQL Select Query.
Below you can see the description of table Fnd_User.

We are going to select the following columns:


Columns
User_Id
User_name
End_Date
Description
Employee_Id
Email_Address

A Guide to Oracle Apps 11i by Dinesh Kumar S

253

Select Query:
SELECT

User_Id,
User_name,
End_Date,
Description,
Employee_Id,
Email_Address

INTO

FROM

&id,
&name,
&date,
&desc,
&emp_id,
&email
APPS.FND_USER

A Guide to Oracle Apps 11i by Dinesh Kumar S

254

Verifying SQL Statement:


1. To verify the efficiency & accuracy of Select statement click .

2. To execute the Select statement click.


running the statement using icon.

Choose save before

The fully completed periodic alert.

A Guide to Oracle Apps 11i by Dinesh Kumar S

255

After running the statement you can see the number of rows selected in note window.

3. Go to Alert Details window to complete the definition of periodic alert.


Click.
The alert detail window includes informations like,
a) Alert running against application.
b) Default values to input variables.
c) Additional characteristics of output variable to have.
Alert details window contains 3 tabbed regions:
1) Inputs
2) Outputs
3) Installation

A Guide to Oracle Apps 11i by Dinesh Kumar S

256

Inputs Tab:

Oracle alerts automatically displays inputs unless they are implicit inputs like.
Implicit Inputs

Description
:ROWID
Contains ID number when insert/update trigger occurs.
:MAILID
Contains email username of the person who does insert/update
trigger.
:ORG_ID
Contains organization ID where alert runs.
:DATE_LAST_CHECK Contains date & time when alert is recently checked.
We can enter default value for these implicit inputs with maximum of 240 characters.
As our query does not contain implicit inputs all details in input tab regions are empty.
Outputs Tab:

In this region oracle alerts displays outputs used in SQL select statement without &
and numbering format (999.99).
Also we can mention maximum number of characters an output variable can have.
We can check the Check for Duplicates check box to customize the combination of
SQL statement results.

A Guide to Oracle Apps 11i by Dinesh Kumar S

257

Installations Tab:

In installations tab region we can specify Oracle ID against which we can raise an
Oracle alert.
If oracle ID is not given, oracle alerts automatically checks alert against all installations
in database which owns this alert.
Check the Enable check box to run alert against any Oracle ID.

A Guide to Oracle Apps 11i by Dinesh Kumar S

258

Creating Alert Actions:

Alert actions are created to perform actions to be performed by the alert.


Types of Actions:
i.
ii.
iii.
iv.

Concurrent Program action


Message action
Operating Script actions
SQL Statement Script

A Guide to Oracle Apps 11i by Dinesh Kumar S

259

I. Message Action:
Navigation: Click

then you can find this window below.

Select Action Type as Message.

A Guide to Oracle Apps 11i by Dinesh Kumar S

260

This is similar to sending a email from yahoo or gmail or hotmail or from Outlook
Express.

Similarly, please fill the message details in the alert details form.

A Guide to Oracle Apps 11i by Dinesh Kumar S

261

As I havent configured the mail setups, I cannot show the complete process. So, I have
given what are all the details you need to specify in this form.

When every detail is filled, please save it & move to alert definition window to create
Action Sets.

A Guide to Oracle Apps 11i by Dinesh Kumar S

262

II. Concurrent Program:

III. Operation Script Actions:

IV. SQL Statement Script:

A Guide to Oracle Apps 11i by Dinesh Kumar S

263

Creating an Action Set:


After creating an alert action, we should include them in action set to perform alert
check.
Action set is,
 Set of actions.
 Combination of actions.
 Combinations of action groups.
Oracle alert executes action sets in a sequence you define.
To define an action set click .

A Guide to Oracle Apps 11i by Dinesh Kumar S

264

The following window opens. Fill in the details required.

Members Tab:

A Guide to Oracle Apps 11i by Dinesh Kumar S

265

Inputs Tab:

Outputs tab:

A Guide to Oracle Apps 11i by Dinesh Kumar S

266

Exercise 14

Creating an Event Alert

Description:

We are going to create an event alert. These alerts are fired or triggered in any
transaction change in oracle apps database. For example, if the customer pays for his
purchase order, an alert can be set to send information regarding this to the supplier.

Instruction:

There are 4 tasks involved in creating an event alert:







Define Database events.


Specify details of alert.
Define action for alert.
Creation action set.

Note: The following points should be considered before creating an alert.


Define mail account for alert.
Make connection between oracle alert & mail account.
(I havent shown the mail account setups in this tutorial.)

A Guide to Oracle Apps 11i by Dinesh Kumar S

267

Step 1: Go to Alert Manager Responsibility to define an alert.


Navigation: Alert Manager / Alerts / Define

(Or) in you can go from oracle home.

A Guide to Oracle Apps 11i by Dinesh Kumar S

268

In the Alert form go to Event tab

for defining event alert.

A Guide to Oracle Apps 11i by Dinesh Kumar S

269

Step 2: Fill the following details in form as below:


Application:
Name:
Description:
Table:
After insert/Update:

Keep Days:

Application Object Library


Dinesh_Fnd_Event_Alert
Alert when an user description changes
FND_USER
As the alert we are going to define is used only when we
change the description of Fnd_User we are going to enable
After Update not After insert.
This is used to store no. of days the action history should be
Stored (10).

Note: We cannot define alert on following table Fnd_Concurrent_Requests.

A Guide to Oracle Apps 11i by Dinesh Kumar S

270

Step 3: Write the following query in Select Statement text area.

Step 4: Verify the SQL Statement.


a) Choose Verify

button to verify the sql statement.

The following dialogue box appears.

b) Before running the SQL Statement, save your work by pressing the icon.
You can see the following message in status bar.

A Guide to Oracle Apps 11i by Dinesh Kumar S

271

c) Now run the SQL statement by clicking the icon.


Number of rows selected will be displayed in Note window.

Step 5: Go to the alert details & fill in the default inputs values if necessary.
(Please refer the above exercise for steps to fill these alert details, action & action set
details.)

A Guide to Oracle Apps 11i by Dinesh Kumar S

272

Exercise 15

Transferring & Deleting Alert Definitions

Description:
Transferring:
We can transfer an alert definition to another database or make a copy of existing
alert.
Delete:
We can permanently delete an existing alert whether it is disabled or enabled.

Instruction:
Before deleting an alert we are going to see how to transfer it.

A Guide to Oracle Apps 11i by Dinesh Kumar S

273

Exercise (15-a): Transferring alert


Step 1: To transfer or copy the alert, go to Transfer Alert Definition form.
Navigation: Alert manager / Alerts / Define
Before transferring the alert Query the alert already created by pressing F11.

Now press Ctrl+ F11. You can see the existing alert.

A Guide to Oracle Apps 11i by Dinesh Kumar S

274

Step 2: Now transfer the alert by navigating to the following.


Navigation: Tools Menu / Transfer Alert.

Step 3: When you click Transfer Alert. You can see the details of alert in Transfer
Alert Definition Form.

A Guide to Oracle Apps 11i by Dinesh Kumar S

275

When you are specifying the Database following points should be noted.
Source Alert:
Application: The name of the application the alert belongs.
Alert: Select an Alert you want to transfer or copy.
Database: There are two ways syntax can be defined.
SQL * Net V1
SQL * Net V2
SQL * Net V1 (Syntax):
Username/Password@t:testing:db1
SQL * Net V2 (Syntax):
Username/Password@db1
Destination Alert:
Application & Database fields are to be filled same as above.
Alert: We can assign our own name (i.e. its like save as concept in document.).

A Guide to Oracle Apps 11i by Dinesh Kumar S

276

Step 4: As I do not have second instance for my apps application I am going to use the
same instance details in database.

Step 5: Now transfer the alert.

A Guide to Oracle Apps 11i by Dinesh Kumar S

277

Exercise (15-b): Deleting an alert


Step 1: Query & select any alert in the application.

A Guide to Oracle Apps 11i by Dinesh Kumar S

278

Step 2: To delete this alert navigate to the following in alert form.


Navigation: Edit / Delete

While closing the form click Yes.

A Guide to Oracle Apps 11i by Dinesh Kumar S

279

Step 3: Now query this alert, to check its deleted or not.

The alert is successfully deleted.

A Guide to Oracle Apps 11i by Dinesh Kumar S

280

Chapter 18

Oracle FNDLOAD Generic Loader

The FNDLOAD is a Concurrent Program that is used to transfer oracle application


entity to database instances.
Configuration (.lct) file is used to select the entity to be transferred.
Text (.ldt) file is created by Fndload contains entity definitions.
Use of Configuration file:



Identify FND located in $FND_TOP/patch/115/import.


Identify AME/HR located in $PER_TOP/patch/115/import.

Note:
Custom Configuration files are not supported by oracle.
Source & target oracle application cannot be different release. For example, we cannot
move concurrent program from oracle apps 10 to 11i and vice versa.

Entities that can be migrated/moved:











Concurrent Program and its executables.


Request group & request sets.
Profile options.
Form function, forms, menu, Responsibilities.
Value sets and look up types.
Document sequence and Messages.
Printer Styles.
KFF & DFF.

A Guide to Oracle Apps 11i by Dinesh Kumar S

281

Configuration file, Entity & Parameter Details:

Object Name
Concurrent Program
Executable
Concurrent Program
Definitions

.LCT file

Entity

Parameter
EXECUTABLE_NAME
APPLICATION_SHORT_NAME

afcpexec.lct

PROGRAM

afcpprog.lct

PROGRAM

Request Group

afcpreqg.lct

REQUEST_GROUP

Request Sets

afcprset.lct

REQ_SET

Profile options

afscprof.lct

PROFILE

Menus
Responsibilities
FND Form
Personalization
Value Sets

afsload.lct
afscursp.lct

MENU
FND_RESPONSIBILITY

CONCURRENT_PROGRAM_NAME
APPLICATION_SHORT_NAME
REQUEST_GROUP_NAME
APPLICATION_SHORT_NAME
REQUEST_SET_NAME
APPLICATION_SHORT_NAME
PROFILE_NAME
APPLICATION_SHORT_NAME
MENU_NAME
RESP_KEY

affrmcus.lct

FND_FORM_CUSTOM_RULES

FUNCTION_NAME

afffload.lct

VALUE_SET_VALUE

Key Flexfield (KFF)

afffload.lct

KEY_FLEX

Descriptive Flexfield
(DFF)

afffload.lct

DESC_FLEX

Look ups

aflvmlu.lct

FND_LOOKUP_TYPE

Printer Styles

afcppstl.lct

STYLE

FLEX_VALUE_SET_NAME
P_LEVEL
APPLICATION_SHORT_NAME
P_STRUCTURE_CODE
P_LEVEL
APPLICATION_SHORT_NAME
P_CONTEXT_CODE
LOOKUP_TYPE
APPLICATION_SHORT_NAME
PRINTER_STYLE_NAME

FNDLOAD Modes:
Entity download: DOWNLAOD
Entity Partial or Full uploads: UPLOAD (or) UPLOAD_PARTIAL
Force Update: CUSTOM_MODE = FORCE
UPLOAD_MODE = REPLACE
NLS uploads: UPLOAD_MODE = NLS

A Guide to Oracle Apps 11i by Dinesh Kumar S

282

BASE Syntax:
Method 1:

FNDLOAD
APPS/APPS_DB_PASSWORD
0Y
MODE
COFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER

-- full Location path


-- full Location path

Method 2:

FNDLOAD
APPS/APPS_DB_PASSWORD@HOST
0Y
MODE
COFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER

-- full Location path


-- full Location path

Explanation:
Keyword

FNDLOAD
APPS
APPS_DB_PASSWORD
0Y
MODE
COFIGURATION_FILE
(.LCT)
TARGET_TEXT_FILE
(.LDT)
ENTITY
PARAMETER

Description
FND Generic loader Keyword
Application
Application DB password
Concurrent Program Flags
Upload (or) Upload_Partial (or) Download
$FND_TOP/patch/115/import/file_name.lct
$PER_TOP/patch/115/import/ file_name.lct
This file contains definition of entity that is migrated (the
name of the file is users choice).
Type of object in oracle application
Parameter related to entity. These details are useful to
migrate the entity faster.

A Guide to Oracle Apps 11i by Dinesh Kumar S

283

Steps to move entity from one instance to another:


1)
2)
3)
4)

Define one entity (Concurrent program, menu, value sets etc.).


Register this entity in instance one.
Connect to Unix Box of instance one.
Run the command
FNDLOAD
APPS/APPS_DB_PASSWORD
0Y
DOWNLOAD
COFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER

5) Move the downloaded .ldt to new instance using FTP.


6) Connect to the new instance.
7) Run the command
FNDLOAD
APPS/APPS_DB_PASSWORD
0Y
UPLOAD
COFIGURATION_FILE
TARGET_TEXT_FILE

Consider the following:


Apps Password:
dinesh123#
Application Short Name: FND
Concurrent Program Name: dini_demo_cp (Refer Exercise 5)

Note:
I have given example only for concurrent program. In the same manner you try it for
other oracle application entities.

A Guide to Oracle Apps 11i by Dinesh Kumar S

284

Syntax based on mode:


Mode 1: Download
FNDLOAD
APPS/APPS_db_PASSWORD
0Y
DOWNLOAD
CONFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER

Example: Migrating Concurrent program


FNDLOAD
APPS/dinesh123#
0Y
DOWNLOAD
$FND_TOP/patch/115/import/ afcpprog.lct
Dinesh_cp.ldt
PROGRAM
CONCURRENT_PROGRAM_NAME = dini_demo_cp
APPLICATION_SHORT_NAME = FND

_______________________________________________________________

A Guide to Oracle Apps 11i by Dinesh Kumar S

285

_______________________________________________________________
Mode 2: Upload
FNDLOAD
APPS/APPS_db_PASSWORD
0Y
UPLOAD
CONFIGURATION_FILE
TARGET_TEXT_FILE
Example:
FNDLOAD
APPS/dinesh123#
0Y
UPLOAD
$FND_TOP/patch/115/import/ afcpprog.lct
Dinesh_cp.ldt
_______________________________________________________________
Mode 3: Upload_Partial
FNDLOAD
APPS/APPS_db_PASSWORD
0Y
UPLOAD_PARTIAL
CONFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER
Example:
FNDLOAD
APPS/dinesh123#
0Y
UPLOAD_PARTIAL
$FND_TOP/patch/115/import/ afcpprog.lct
Dinesh_cp.ldt
PROGRAM
CONCURRENT_PROGRAM_NAME = dini_demo_cp
APPLICATION_SHORT_NAME = FND
_______________________________________________________________

A Guide to Oracle Apps 11i by Dinesh Kumar S

286

SQL *Loader

Chapter 19

SQL *Loader is a utility to load huge amount of data in oracle DB tables.


The data can be loaded from any text file into database.

Architecture:

Parameter
File

Data File

Control File
Control File

Log File

SQL LOADER

Discard File

Data

Bad File

Database

SQL *Loader reads data from data file and data information details from control file.
If any additional parameter required, it gets from parameter file. Then it loads data
into database.

A Guide to Oracle Apps 11i by Dinesh Kumar S

287

Input Files:
Control File:
Control File is a text file which contains DLL instructions. It also contains table
information how data will be loaded. The informations includes table name, Column & its
data types, Delimiters etc. Thus control file helps for data loading process for SQL
loader.
Sections of Control file:
The control file has 3 main sections with 2 mandatory & 1 optional sections in the
following order below.
i.
ii.
iii.

Session wide information (mandatory)


Table & field list information (mandatory)
Input data (optional)

a) Session wide information:


This section contains options like,
o Global options bindsize, rows, records to skip etc.
o INFILE clause
o Data Character set specification.
b) Table field information:
This contains one of more INTO TABLE.
c) Input data:
This section is optional & it contains input data.

A Guide to Oracle Apps 11i by Dinesh Kumar S

288

Control File Syntax:

SQL *Loader Options:


Here I have described few options that is used frequently.

A Guide to Oracle Apps 11i by Dinesh Kumar S

289

Sample Control File:


Method 1:

Method 2:

Method 3: Data file in control file.

A Guide to Oracle Apps 11i by Dinesh Kumar S

290

Method 4: File name & path as parameter in concurrent program.

Method 5: Loading fixed format data file.


'Dinesh.dat' content
Dinesh_motors_Ltd#111***dinesh*asdfgv$*cse$%29-AUG-07##
Dinesh_motors_Ltd#222***Vishnu*asdfgv$*ece$%29-AUG-07##
Dinesh_motors_Ltd#231***sri.pk*asdfgv$*eee$%29-AUG-07##
Dinesh_motors_Ltd#561***vinush*asdfgv$*civ$%29-AUG-07##
Dinesh_motors_Ltd#423***hima.k*asdfgv$*Bio$%29-AUG-07##
Dinesh_motors_Ltd#964***shovan*asdfgv$*Mec$%29-AUG-07##
1

19 21

25

30

40 42

45

53

55

Dinesh_motors_Ltd#111***dinesh*asdfgv$*cse$%29-AUG-07##

A Guide to Oracle Apps 11i by Dinesh Kumar S

291

Method 6: Skip Columns


The columns can be skipped by using the keyword FILLER.

Data File:
This files stores text data which is to be loaded into the database table.
A particular data file can be in fixed record format, variable record format or stream
record format.
If the data file is within control file then data is interrupted in stream record format
with default record terminator.
Fixed file format:
If all the records in data file are of same byte length then the file is in fixed file
format.
Variable Record Format:
In this format the fields will be separated by some delimiter.
Stream record format:
The SQL loader load data by identifying record terminator.

A Guide to Oracle Apps 11i by Dinesh Kumar S

292

Method 1: Loading data in fixed file format

Method 2: Loading data in variable record format

Method 3: Streamed record format

A Guide to Oracle Apps 11i by Dinesh Kumar S

293

Exercise 16

Upload Data Using SQL *Loader

Description:
We are going to upload data into table employee using SQL * Loader. In this exercise
we are going to see the basic method to upload the data.
Instruction:
Follow the sets below to upload the data.
Create a table employee.
Write a control file & save it in c:\.
Prepare a data file which contains data to be uploaded.
Go to command prompt & upload the data.
Table Structure:

Data file name: dinesh.txt


Control file name: dinesh.ctl
Location to save: C:\

A Guide to Oracle Apps 11i by Dinesh Kumar S

294

Step 1: Create a table & check the table is empty.

Step 2: Create a control file dinesh.ctl and save it in C: \

A Guide to Oracle Apps 11i by Dinesh Kumar S

295

Step 3: Create a data file dinesh.txt and save it in C: \.

Step 4: Now go to command prompt & type the following command as below.

Command Syntax:
Sqlldr username/password@host control=c:\xyz.ctl

A Guide to Oracle Apps 11i by Dinesh Kumar S

296

For our exercise the command as:


Sqlldr dbuser/password@blrge9i.blrge.birlasoft.com control=c:\dinesh.ctl
log=c:\diensh.log

Step 5: Check the log file to see data uploaded successfully or not.

A Guide to Oracle Apps 11i by Dinesh Kumar S

297

Log file content:

A Guide to Oracle Apps 11i by Dinesh Kumar S

298

Step 6: Now check out the data in table employee


In SQL *PLUS:

In TOAD:

A Guide to Oracle Apps 11i by Dinesh Kumar S

299

Exercise 17

Upload Data Using SQL *Loader Options

Description:
We are going to Append some more data in existing employee table using SQL *Loader.
Also we are going to use some more additional loading options.
Instruction:
Create a Control file & save it in C: \.
Create a text file to store additional data which is to append to employee table.
Go to command prompt & enter the command below.
Data file Name: dinesh.txt
Control file name: dinesh.ctl
Discardfile name: dinesh.dsc
Bad file name: dinesh.bad
Location to save: C: \

A Guide to Oracle Apps 11i by Dinesh Kumar S

300

Step 1: Check the existing records in table employee


In SQL *PLUS:

In TOAD:

Total no. of records: 6


Step 2: Create a control file dinesh.ctl & save it in C: \

A Guide to Oracle Apps 11i by Dinesh Kumar S

301

Step 3: Create a data file which contains records to be appended. Input some datas
which do not meet loading criteria.

Total no. of additional records: 7


Defective record: 1

Step 4: Now go to command prompt & type the following command.


Sqlldr dbuser/password@blrge9i.blrge.birlasoft.com control=c:\dinesh.ctl
log=c:\dinesh.log

A Guide to Oracle Apps 11i by Dinesh Kumar S

302

Step 5: Check in C: \ the files created.

Successfully .log & .bad bad file is created.


Step 6: Open the dinesh.bad file to check the deleted record.

The above record is eliminated as it does not meet search criteria.

A Guide to Oracle Apps 11i by Dinesh Kumar S

303

Step 7: Open the dinesh.log file to check all records are inserted successfully or not.

A Guide to Oracle Apps 11i by Dinesh Kumar S

304

Step 8: Check the employee table.


In SQL *PLUS:

In TOAD:

Total records: 6+ (7-1) = 12

A Guide to Oracle Apps 11i by Dinesh Kumar S

305

USEFUL LINKS

REFERENCES

Oracle Meta link: http://metalink.oracle.com/


Oracle eTRM: http://etrm.oracle.com/
Oracle Forums: http://forums.oracle.com/forums/
Oracle Application Documentation:
http://www.oracle.com/technology/documentation/applications.html
Oracle 11i Documentation Library :
http://compass.threesixtysourcing.com/appdoc11i/html/homeset.html
Oracle Use full Downloads: http://georgenet.net/oracle/
Oracle vision instances:
Solution Beacon: http://www.solutionbeacon.com/tools_vision.htm
Appshosting: http://www.appshosting.com/
Oracle blobs:
http://erpstuff.com/
http://www.appsbi.com/what-is-oracle-apps-erp/
http://it.toolbox.com/
http://oracle.anilpassi.com/

A Guide to Oracle Apps 11i by Dinesh Kumar S

306

A Guide to Oracle Apps 11i by Dinesh Kumar S

307