You are on page 1of 307

PDF by http://www.k2pdf.

com
About Me

Name: Dinesh Kumar S


Degree: B.Tech, Computer Science
Job: PL/SQL Developer
Email: 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.

2
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Contents
Chapters Topic Page No.

Chapter 1 Overview of ERP 4


Chapter 2 Oracle Application Technical Terms 9
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

3
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 1 Overview of ERP

Consider Real Time scenario

Business : Stationary shop Keeper.


Dealer : Indian dealers Pvt. Ltd.

Let us classify the business growth into 3 stages.

4
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Entities Identified:

Dealer  VENDOR
Shop Keeper  OWNER
People Buying items  CUSTOMER
Store Room  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.

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

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

7
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Identifying the modules

Modules Description
General Ledger (GL) 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.
Inventory (INV) 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.
Purchasing (PO) This module manages all the purchasing order that deals with
business. This has information about Requisition, Po, Supplier,
Shipment details of the order.
Order Management (OM) It is required to manage & control the sales order fulfillment. It
manages the order book, order entry, ATP(Available to Promise)
etc.
Account Payables (AP) 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.
Account Receivables (AR) 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.
Human Resource (HRMS) This module deals with HR activities (Related to employees etc.)
Including recruiting performance management, learning,
compensation, benefits, payroll, time management, and real time
analytics.
Asset Management It deals with the administrative cost related to business like
electricity, maintenance of building,, furniture’s etc.
Projects This module deals with the cost associated with the projects.
Which includes project costing, billing, time & expenses etc.
Work in Progress (WIP) Oracle Work in Process is a complete production management
system. Supports discrete, project, repetitive, assemble-to-
order, 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.
Cost Management Helps you effectively manage and control your cash cycle. It
provides comprehensive bank reconciliation and flexible cash
forecasting.

8
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
supplier’s 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.

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

10
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

11
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

12
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Requisition

A requisition is a request for something, especially a formal written request on a pre-


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

13
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

14
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

15
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Toad

TOAD is a database administration and SQL development software application from


Quest Software. It is widely used by Oracle developers and DBA’s (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.

16
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 spreadsheet’s 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.

17
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Please zoom out for viewing it.

18
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

19
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

20
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Desktop Tier

Application Tier

21
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 Applications DBA (AD)


• Oracle Applications Object Library (FND)
• Oracle Applications Utilities (AU)
• Oracle Common Modules (AK)
• Oracle Workflow (WF)
• Oracle Alert (ALR)
• Oracle Applications Framework (FWK)
• Oracle 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 HTML-
based 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.

22
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

23
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

24
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

25
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

26
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

27
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

28
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

29
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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. Set Up Your Application Directory Structures.


ii. Register Your Application.
iii. Modify Your Environment Files.
iv. Set Up and Register Your Oracle Schema.
v. Create Database Objects and Integrate with APPS Schema.
vi. Add Your Application to a Data Group.
vii. 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’).

30
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

31
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

32
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 Form A  Form B


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

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.

33
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

It’s 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.

34
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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)

35
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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. Pending
2. Running
3. Completed
4. Inactive

36
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Pending: Request waiting to be run.
Running: Request is processing.
Completed: Request is finished processing.
Inactive: 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

It’s a set of values.

Need:

We don’t 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

37
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

38
A Guide to Oracle Apps 11i – by Dinesh Kumar S
. 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.

39
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 9 Apps Login Screen

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

40
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Then you can see the apps log in page. Enter the username & password.

41
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

42
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now click on to application developer responsibility. The window will be redirected to
application developer screen.

43
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Choose any one of the function of your choice.

44
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Note: Do not close this window. If you close, the application session will be terminated.

45
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now the application developer Navigator Form is opened.

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

46
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Switching Responsibility

Choose any responsibility you want to switch.

47
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now the responsibility is changed to ‘inventory’.

Exit Oracle Application

48
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Oracle Application Toolbar

49
A Guide to Oracle Apps 11i – by Dinesh Kumar S
50
A Guide to Oracle Apps 11i – by Dinesh Kumar S
51
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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:

52
A Guide to Oracle Apps 11i – by Dinesh Kumar S
After logging into metalink the following page you can see:

53
A Guide to Oracle Apps 11i – by Dinesh Kumar S
For quicker access uses quick find.

54
A Guide to Oracle Apps 11i – by Dinesh Kumar S
For advance search click “Advance Search” tab.

55
A Guide to Oracle Apps 11i – by Dinesh Kumar S
You can even search based on Bug number, date modified etc. or bug details.

56
A Guide to Oracle Apps 11i – by Dinesh Kumar S
For updated or new oracle patches details go to “Patches & Updates” tab.

57
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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/

58
A Guide to Oracle Apps 11i – by Dinesh Kumar S
When you press the link the following page is shown:

At left side you can see the DB versions.

59
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

60
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now let use search some tables related to “purchase” module.

61
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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”.

62
A Guide to Oracle Apps 11i – by Dinesh Kumar S
At this page you can see the relation of PO_HEADERS_All tables with other tables.
It shows Primary & foreign key relation.

63
A Guide to Oracle Apps 11i – by Dinesh Kumar S
When we press “po.po_headers_all” , you can see the column details.

64
A Guide to Oracle Apps 11i – by Dinesh Kumar S
65
A Guide to Oracle Apps 11i – by Dinesh Kumar S
66
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.)

67
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

68
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

69
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

70
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

71
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

72
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Database User Creation & Registration

73
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Add Application to Data Group

74
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

75
A Guide to Oracle Apps 11i – by Dinesh Kumar S
AOL Responsibilities

The responsibilities associated with AOL operations.

System Administrator
Application Developer

Application Developer

76
A Guide to Oracle Apps 11i – by Dinesh Kumar S
System Administrator

77
A Guide to Oracle Apps 11i – by Dinesh Kumar S
78
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Apps Component Structure

79
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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. Access to specific application.


ii. Set of books
iii. Restricted list of windows.
iv. Functions & reports.

Responsibilities can be shared by several users.


Oracle applications are installed with pre defined responsibilities.

Components of Responsibilities

1) Data group (mandatory)


2) Request Security group (optional)
3) Menu (mandatory)
4) 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.

80
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Define a new responsibility by ‘System administrator’ responsibility.

Navigation:
System Administrator  Security  Define (responsibility)

81
A Guide to Oracle Apps 11i – by Dinesh Kumar S
1. Data Group

It is mandatory for defining responsibility.


It defines relation between oracle application & oracle ID’s 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.

82
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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. Form Function
ii. 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.

83
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise 1 Responsibility with Mandatory Component (Menu & Data Group)

Description:

Let us create a responsibility with default data group & menu.

Instruction:

1. Create a Responsibility of your choice.


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

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

84
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Log in as system administrator. In Function Navigator select “Define” under
Responsibility.

85
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 user’s choice. Here I have given the name as
“BSL_ADMIN_KEY”.

Description of your choice.

86
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

87
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now assign standard “Data Group” to the responsibility.

88
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Choose data group Application as “AOL”.

89
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now Choose “Menu”. Here I have chosen existing menu “Administrator Menu”.

90
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now save the responsibility you have created.

91
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now define a user and assign this responsibility.

92
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Type the password twice.

93
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now assign responsibility “BSL ADMIN” to the user.

94
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

95
A Guide to Oracle Apps 11i – by Dinesh Kumar S
96
A Guide to Oracle Apps 11i – by Dinesh Kumar S
97
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

98
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Log in as administrator. Navigate to “ Responsibility /define “

99
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step2: Press “F11” for query mode and to search a responsibility press “Ctrl + F11”.

100
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

101
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now navigate to ORACLE/DataGroup.

Query the data group.

102
A Guide to Oracle Apps 11i – by Dinesh Kumar S
The following application are assigned to that data group.

103
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Data groups will be created by DBA people. So no need t worry. Just know the concepts.

104
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

105
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

106
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

107
A Guide to Oracle Apps 11i – by Dinesh Kumar S
You can verify this in the main page (or) in Inventory Responsibility Navigator window.

108
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Inventory Navigator window.

Now let us check the menu “Transaction” assigned to menu “INV_NAVIGATE”.

The name assigned to transaction is “INV_TRANSACTIONS”.

109
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now query that transaction menu.

110
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now let us see the menu tree.

111
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now let us check out the functions associated with the menu ”INV_TRANSACTIONS”

112
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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..

113
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 5: Now navigate to Application / Functions.

Then query the function.

114
A Guide to Oracle Apps 11i – by Dinesh Kumar S
115
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Go to “Property” tab to view the property of the function & its type.

116
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

117
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

118
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Remember we should always follow the below Function Security flow:

119
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Creating Customized Menu's

Now Navigate to Application / Menu.

120
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Details

Menu Name: DINESH SYS ADMIN


User Menu Name: Dinesh_Sys_Admin
Function: Users

121
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now search for the existing oracle application Form function.

122
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now menu tree is build after saving the menu.

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

123
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Name: DINESH APPL DEV
User Menu Name: Dinesh_Appl_Dev
Function: Concurrent Programs (Developer Mode)

124
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Tree:

125
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Name: DINESH GL
User Menu Name: Dinesh_GL
Function: Open and Close Period

126
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Tree:

127
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: Create a Main Menu by assigning these above created menus as sub menus.

Menu Name: DINESH MANI MENU


Menu User name: Dinesh_Main_Menu

128
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu Tree:

129
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Now create a responsibility & assign the above defined main menu.

Save the responsibility.

130
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Now create a user & assign this responsibility.

Now log in as the above user.

131
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 5: Logging in as user DINI_USER

At first log in change the password of your choice.

132
A Guide to Oracle Apps 11i – by Dinesh Kumar S
The home page as below:

After clicking the responsibility “Dinesh_Custom_Resp”.

133
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now press system Admin responsibility : User.

The following screen appears.

134
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

135
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Menu and Function Exclusion

The user “DINI_USER” has the following responsibility assigned as below.

136
A Guide to Oracle Apps 11i – by Dinesh Kumar S
137
A Guide to Oracle Apps 11i – by Dinesh Kumar S
System Admin:

This responsibility can create a user.

138
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Application Developer:

This responsibility is to define & run Concurrent Program.

Similarly for General Ledger.

139
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

140
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now I have excluded the “Application Developer” Menu.

Type: Menu
Name: 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

141
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Log in again & check out.

142
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Function Exclusion:

Now we are going to exclude a function from the “Dinesh_Cust_Resp”.

Type: Function
Name: 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.

143
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

144
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating Concurrent Program

The basic process of creating concurrent program as follows:

1. Create a program execution file.


2. Define concurrent program executable.
3. Define concurrent program.
4. Request you program.
5. Make concurrent program available to user.

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

145
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 varchar2 (mandatory)


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

146
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

147
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Executable Details:

Create Executable as below.

148
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Defining a concurrent program.

149
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Now we need to define a request group & assign that to a responsibility of the
user who runs this request.

150
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 5: To the existing responsibility assign the created requested group.

151
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 6: Submit the request.

Log in as “Application Developer”

152
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now you can view the status of the request you have submitted as below.

Expected Result: Change in description of the user.

153
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

154
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Procedure:

Executable:

155
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Value set:

Navigation:

156
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Values in value set:

157
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Entering values for validation:

158
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Concurrent Program:

After filling the main page press “Parameters”.

159
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Defining Parameters:

“save” the set up.

160
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Defining Request group:

161
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Responsibility:

162
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Submit Request:

Switch responsibility to “Application Developer”

Go to “View” Select “Requests”.

163
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Press Submit new request button.

Select “Single request”

164
A Guide to Oracle Apps 11i – by Dinesh Kumar S
When selecting the request name a pop up comes, that’s the “parameter” window to
substitute the user name.

Parameter:

Press “Ok”

165
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Submit the request:

Status:

Successfully completed.

166
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Expected Result:

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

167
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

168
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

169
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Report name: Dini_PO_report.rdf

Application: Purchasing

Executable:

170
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Concurrent Program:

171
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Parameters

172
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Parameter form in report

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

173
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now save the concurrent program & run the request.
PO_RELEASE_NUM is at bottom of layout it is not shown in screen shot.

174
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Create a request group.

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

175
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Submit Request:

Enter value for report parameter:

Submit the request:

176
A Guide to Oracle Apps 11i – by Dinesh Kumar S
177
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Status:

Refresh the status every time till it completes.

Note:

One mandatory report user parameter for running reports is:

P_CONC_REQUEST_ID (mandatory)

178
A Guide to Oracle Apps 11i – by Dinesh Kumar S
This parameter is linked with Concurrent Request ID of concurrent program.

179
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

180
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 Description
Fnd_Responsibility stores information about responsibilities.
FND_RESPONSIBILITY 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

181
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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_Processors stores information about
immediate (subroutine) concurrent program libraries.
Each row includes the name and description of the
library.
FND_CONCURRENT_PROCESSES 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 Fnd_Concurrent_Requests stores information about
individual concurrent requests.
FND_CONCURRENT_PROGRAMS Fnd_Concurrent_Programs stores information about
concurrent programs. Each row includes a name and
description of the concurrent program.
FND_EXECUTABLES Fnd_Executables stores information about concurrent
program executables.

182
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

183
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Primary-Foreign Key Relations

For people who don’t 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 Relating Column


FND_APPLICATION APPLICATION_ID
FND_DATA_GROUP_UNITS DATA_GROUP_APPLICATION_ID,
DATA_GROUP_ID
FND_REQUEST_GROUPS GROUP_APPLICATION_ID
FND_RESPONSIBILITY ,REQUEST_GROUP_ID
FND_MENUS MENU_ID
FND_PROFILE_OPTION_VALUES LEVEL_VALUE_APPLICATION_ID
FND_USER_DESKTOP_OBJECTS APPLICATION_ID
FND_APPLICATION RESPONSIBILITY_APPLICATION_ID

Data Group

Table: FND_DATA_GROUP_UNITS

Main Table Table Relating Column


FND_DATA_GROUPS DATA_GROUP_ID
FND_DATA_GROUP_UNITS FND_RESPONSIBILITY DATA_GROUP_APPLICATION_ID,
DATA_GROUP_ID

184
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Request Group

Table: FND_REQUEST_GROUP

Main Table Table Relating Column


FND_APPLICATION APPLICATION_ID
FND_REQUEST_GROUP FND_REQUEST_GROUP_UNITS APPLICATION_ID,
REQUEST_GROUP_ID
FND_RESPONSIBILITY GROUP_APPLICATION_ID,
REQUEST_GROUP_ID

User

Table: FND_USER_RESP_GROUPS

Main Table Table Relating Column


FND_RESPONSIBILITY RESPONSIBILITY_ID,
FND_USER_RESP_GROUPS RESPONSIBILITY_APPLICATION_ID
FND_USER USER_ID
FND_SECURITY_GROUPS SECURITY_GROUP_ID

Concurrent

Table: FND_CONCURRENT_REQUESTS

Main Table Table Relating Column


FND_CONCURRENT_PROGRAMS PROGRAM_APPLICATION_ID
FND_USER REQUESTED_BY
FND_CONCURRENT_REQUESTS FND_RESPONSIBILITY RESPONSIBILITY_APPLICATION_ID
,RESPONSIBILITY_ID
FND_CONCURRENT_PROCESSES CONTROLLING_MANAGER
FND_RUN_REQUESTS REQUEST_ID

185
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Applications

Table: FND_APPLICATION

Main Table Table Relating Column


FND_CONCURRENT_PROCESSORS APPLICATION_ID
FND_CONCURRENT_PROGRAMS APPLICATION_ID
FND_DESCRIPTIVE_FLEXS APPLICATION_ID
FND_EXECUTABLES APPLICATION_ID
FND_FORM APPLICATION_ID
FND_APPLICATIONS FND_LOOKUP_TYPES VIEW_APPLICATION_ID
FND_PROFILE_OPTIONS APPLICATION_ID
FND_REQUEST_GROUPS APPLICATION_ID
FND_RESPONSIBILITY APPLICATION_ID
FND_TABLES APPLICATION_ID
FND_VIEWS APPLICATION_ID

Relation Diagram

Fnd_Form Fnd_Concurrent_Programs Fnd_Concurrent_Processes


Program_Application_id Controlling_Manager
Application_id
Requested_By
Fnd_Concurrent_Req
Fnd_Form_Functions
Responsibility_Application_id
Function_id Responsibility_id

Fnd_Menu_Entries Fnd_Data_Group Fnd_Request_Group_Units


Application_id
Menu_id
Sub_Menu_id Data_Group_id Request_Group_id

Fnd_menu Fnd_Data_Group_Units Fnd_Request_Group

Menu_id Data_Group_Application_id Group_Application_id

Fnd_Responsibility Fnd_User_Resp_Group
Responsibility_id
Application_id Responsibility_Application_id User_id

Application_id Fnd_Application Fnd_User

186
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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)

187
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

188
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Descriptive Flexfield

DFF is mainly used for storing additional information’s.


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.

189
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Flexfield in Oracle Application

Flexfield Oracle Module


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

190
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

191
A Guide to Oracle Apps 11i – by Dinesh Kumar S
192
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Global_Attribute

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

193
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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:

194
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

195
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

196
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating “value set” for Natural account.

Creating “value set” for Balancing account.

197
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Adding values to value sets created.
Navigation: Setup/Validation/Values

198
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

199
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now click to define segments.

Now define Flexfield Qualifiers.

200
A Guide to Oracle Apps 11i – by Dinesh Kumar S
For Company_BS:

For Account_NA:

201
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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:

202
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Save it & “Compile” Flexfield definition.

After compiling you will get message box as below.

203
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

204
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Create a new value set as below and set the values as below.

Assign values to value set.

205
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

206
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Now go to the segment tab and change the value set of
segment

“Company_BS” value set from BS_GL to BS_GL_2 and save it.

207
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 4: Enable checkbox of “Freeze Flexfield Definition” and compile the Accounting
Structure “Ac_Flexfield_GL”.

The following message box appears while enabling checkbox.

208
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Compile the Flexfield Definition.

209
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

210
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Navigate: Purchase Order/Purchase orders

(or) In windows Navigator

211
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

212
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

213
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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:

214
A Guide to Oracle Apps 11i – by Dinesh Kumar S
You can see the DFF details as below.

Now click you can see the segment summary form.

215
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Fill in the following details as below.

Number: 5
Name: Dinesh Fin calendar
Window Prompt: Dinesh Fin calendar
Column: Attribute 5
Value set: Optional (As I haven’t defined any not using it)

Then “Save” the record you have created.

216
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now freeze the Flexfield definition by enabling the checkbox “Freeze Flexfield
Definition”.

217
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Next step is to “Compile” the Flexfield definition by clicking .

Now switch to “GL Super User” responsibility.

218
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

219
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now save & freeze it again.

220
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

221
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now compile the Flexfield definition.

Now open the DFF and check out.

222
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

Low
Site

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.

223
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Need of User Profile: A practical scenario to understand profile option.

Scenario 1:

Organization

Finance Dept Sys Admin Dept Manufacturing Dept Quality Dept

Users A Users B Users C 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.

224
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

225
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

226
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 Description
A0 Associate Engineer
A1 Sr. Engineer
A2 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  User


 Create Profile option  User
 Assign Discount %  Responsibility

227
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Creating responsibility for grade “A0”.

Navigation: System Administrator/Security/Responsibility/Define

228
A Guide to Oracle Apps 11i – by Dinesh Kumar S
In the same way create responsibility for grade “A1” & “A2”.

For “A2”.

229
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: Create “User” and assign above created responsibility.

Navigation: System Administrator/Security/User/Define

230
A Guide to Oracle Apps 11i – by Dinesh Kumar S
In the same way create Users for grade “A1” & “A2”.

For “A2”.

231
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

232
A Guide to Oracle Apps 11i – by Dinesh Kumar S
“Organization” type.

“Security” type

For our exercise we are going to choose “Security” type.

233
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Defining Profile option.

234
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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”.

235
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Based on the below table assign the discount values.

Grade Description Discounts %


A0 Associate Engineer 7
A1 Sr. Engineer 10
A2 Chief Mechanical Engineer 20

Grade A0:

Grade A1:

236
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Grade A2:

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

237
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

238
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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” .

239
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now we are going to set for a user.

240
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Now I have set the discount % as “22” which is greater than responsibility discount %.

241
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Observation:

We know the hierarchy for user profile option as below.

User High

Responsibility

Application

Low
Site

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.

242
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 17 Oracle Alerts

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 Usage/Example


Event To monitor DB activities like insert or update etc.
Periodic 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.

243
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 haven’t configured mail account.

244
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Go to Responsibility “Alert Manager”.

245
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating Periodic Alerts involves 4 steps.

1. Define alert & specify frequency.


2. Specify Details.
3. Define Action.
4. Create Action Set.

246
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Navigation: Oracle Alerts/ Define

Step 2: Fill the details of your periodic alert.

247
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Set “frequency” for Periodic alert.

There are nine frequency options for alerts as below.

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

248
A Guide to Oracle Apps 11i – by Dinesh Kumar S
On Day of the Month

On Day of the Week

Every N Calendar Days

Every N Business Days

249
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Every Day

Every Other Day

Every Business Day

Every Other Business Day

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

250
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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. Periodic alert statement should include INTO clause.


2. Identify inputs with colon (:) in front of name. Example “:Col_Name”.
3. Identify outputs with ampersand (&) in front of name. Example “&Col_Name”.
4. 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.

251
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Sample SQL Statements:

Consider I have table like this.

Employee:

Emp_ID Emp_Name Emp_Department


101 Dinesh IT
256 Vishnu Raju Electronics
553 Srikanth.Pk Mechanical
600 Shovan Mahapatra Bio-Tech
809 Hima.k Architecture
2241 Lokesh. BN Civil

Statement 1:

Statement 2: To get user input

252
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

253
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Select Query:

SELECT User_Id,
User_name,
End_Date,
Description,
Employee_Id,
Email_Address
INTO
&id,
&name,
&date,
&desc,
&emp_id,
&email
FROM APPS.FND_USER

254
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Verifying SQL Statement:

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

2. To execute the Select statement click. Choose save before


running the statement using icon.

The fully completed periodic alert.

255
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 information’s 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

256
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

257
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

258
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Creating Alert Actions:

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

Types of Actions:

i. Concurrent Program action


ii. Message action
iii. Operating Script actions
iv. SQL Statement Script

259
A Guide to Oracle Apps 11i – by Dinesh Kumar S
I. Message Action:

Navigation: Click then you can find this window below.

Select “Action Type” as Message.

260
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

261
A Guide to Oracle Apps 11i – by Dinesh Kumar S
As I haven’t 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”.

262
A Guide to Oracle Apps 11i – by Dinesh Kumar S
II. Concurrent Program:

III. Operation Script Actions:

IV. SQL Statement Script:

263
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 .

264
A Guide to Oracle Apps 11i – by Dinesh Kumar S
The following window opens. Fill in the details required.

Members Tab:

265
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Inputs Tab:

Outputs tab:

266
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 haven’t shown the mail account setups in this tutorial.)

267
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Go to “Alert Manager” Responsibility to define an alert.

Navigation: Alert Manager / Alerts / Define

(Or) in you can go from oracle home.

268
A Guide to Oracle Apps 11i – by Dinesh Kumar S
In the “Alert” form go to “Event tab” for defining event alert.

269
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: Fill the following details in form as below:

Application: Application Object Library


Name: Dinesh_Fnd_Event_Alert
Description: Alert when an user description changes
Table: FND_USER
After insert/Update: 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”.
Keep Days: 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”.

270
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

271
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.)

272
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

273
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

274
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

275
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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. it’s like “save as” concept in document.).

276
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

277
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Exercise (15-b): Deleting an alert

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

278
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 2: To delete this alert navigate to the following in alert form.

Navigation: Edit / Delete

While closing the form click “Yes”.

279
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Now query this alert, to check it’s deleted or not.

The alert is successfully deleted.

280
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

281
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Configuration file, Entity & Parameter Details:

Object Name .LCT file Entity Parameter


Concurrent Program EXECUTABLE_NAME
afcpexec.lct PROGRAM
APPLICATION_SHORT_NAME
Executable
Concurrent Program CONCURRENT_PROGRAM_NAME
afcpprog.lct PROGRAM
APPLICATION_SHORT_NAME
Definitions
REQUEST_GROUP_NAME
Request Group afcpreqg.lct REQUEST_GROUP
APPLICATION_SHORT_NAME
REQUEST_SET_NAME
Request Sets afcprset.lct REQ_SET
APPLICATION_SHORT_NAME
PROFILE_NAME
Profile options afscprof.lct PROFILE
APPLICATION_SHORT_NAME
Menus afsload.lct MENU MENU_NAME
Responsibilities afscursp.lct FND_RESPONSIBILITY RESP_KEY
FND Form
affrmcus.lct FND_FORM_CUSTOM_RULES FUNCTION_NAME
Personalization
Value Sets afffload.lct VALUE_SET_VALUE FLEX_VALUE_SET_NAME
P_LEVEL
Key Flexfield (KFF) afffload.lct KEY_FLEX APPLICATION_SHORT_NAME
P_STRUCTURE_CODE
P_LEVEL
Descriptive Flexfield
afffload.lct DESC_FLEX APPLICATION_SHORT_NAME
(DFF) P_CONTEXT_CODE
LOOKUP_TYPE
Look ups aflvmlu.lct FND_LOOKUP_TYPE
APPLICATION_SHORT_NAME
Printer Styles afcppstl.lct STYLE 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

282
A Guide to Oracle Apps 11i – by Dinesh Kumar S
BASE Syntax:

Method 1:

FNDLOAD
APPS/APPS_DB_PASSWORD
0Y
MODE
COFIGURATION_FILE -- full Location path
TARGET_TEXT_FILE -- full Location path
ENTITY
PARAMETER

Method 2:

FNDLOAD
APPS/APPS_DB_PASSWORD@HOST
0Y
MODE
COFIGURATION_FILE -- full Location path
TARGET_TEXT_FILE -- full Location path
ENTITY
PARAMETER

Explanation:

Keyword Description
FNDLOAD FND Generic loader Keyword
APPS Application
APPS_DB_PASSWORD Application DB password
0Y Concurrent Program Flags
MODE Upload (or) Upload_Partial (or) Download
COFIGURATION_FILE $FND_TOP/patch/115/import/file_name.lct
(.LCT) $PER_TOP/patch/115/import/ file_name.lct
TARGET_TEXT_FILE This file contains definition of entity that is migrated (the
(.LDT) name of the file is user’s choice).
ENTITY Type of object in oracle application
Parameter related to entity. These details are useful to
PARAMETER
migrate the entity faster.

283
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Steps to move entity from one instance to another:

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


2) Register this entity in instance one.
3) Connect to “Unix Box” of instance one.
4) 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.

284
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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”

_______________________________________________________________

285
A Guide to Oracle Apps 11i – by Dinesh Kumar S
_______________________________________________________________

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”
_______________________________________________________________

286
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Chapter 19 SQL *Loader

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 Data File Control File


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.

287
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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 information’s 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. Session wide information (mandatory)


ii. Table & field list information (mandatory)
iii. 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.

288
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Control File Syntax:

SQL *Loader Options:

Here I have described few options that is used frequently.

289
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Sample Control File:

Method 1:

Method 2:

Method 3: Data file in control file.

290
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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##

291
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

292
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Method 1: Loading data in fixed file format

Method 2: Loading data in variable record format

Method 3: Streamed record format

293
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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:\’

294
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 1: Create a table & check the table is empty.

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

295
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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

296
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

297
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Log file content:

298
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 6: Now check out the data in table ‘employee’

In SQL *PLUS:

In TOAD:

299
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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: \’

300
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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: \’

301
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 3: Create a data file which contains records to be appended. Input some data’s
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

302
A Guide to Oracle Apps 11i – by Dinesh Kumar S
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.

303
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 7: Open the ‘dinesh.log’ file to check all records are inserted successfully or not.

304
A Guide to Oracle Apps 11i – by Dinesh Kumar S
Step 8: Check the ‘employee’ table.

In SQL *PLUS:

In TOAD:

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

305
A Guide to Oracle Apps 11i – by Dinesh Kumar S
REFERENCES USEFUL LINKS

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/

306
A Guide to Oracle Apps 11i – by Dinesh Kumar S
307
A Guide to Oracle Apps 11i – by Dinesh Kumar S

You might also like