Oracle Apps 11i Tutorial
Oracle Apps 11i Tutorial
com
About Me
Name:
Degree:
Job:
Email:
Dinesh Kumar S
B.Tech, Computer Science
PL/SQL Developer
[email protected]
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.
Contents
Chapters
Topic
Page No.
Chapter 1
Overview of ERP
Chapter 2
Chapter 3
14
Chapter 4
15
Chapter 5
Application Architecture
19
Chapter 6
22
Chapter 7
File Systems
24
Chapter 8
28
Chapter 9
40
Chapter 10
52
Chapter 11
67
Chapter 12
75
Exercise 1
84
Exercise 2
98
Exercise 3
118
Exercise 4
135
Chapter 13
144
Exercise 5
146
Exercise 6
154
Exercise 7
168
Chapter 14
180
Chapter 15
187
Exercise 8
194
Exercise 9
204
Exercise 10
210
Chapter 16
223
Exercise 11
227
Exercise 12
238
Chapter 17
Oracle Alerts
243
Exercise 13
244
Exercise 14
267
Exercise 15
273
Chapter 18
281
Chapter 19
SQL *Loader
287
Exercise 16
294
Exercise 17
300
REFERENCES
Useful Links
306
Overview of ERP
Chapter 1
:
:
Entities Identified:
Dealer
Shop Keeper
People Buying items
Store Room
VENDOR
OWNER
CUSTOMER
INVENTORY
Stage 1
Daily Job:
Collect goods from vendor.
Sell items/goods to customers.
If any goods out of stock note it down to order it from vendor.
Daily accounting Profit & loss.
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.
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.
Inventory (INV)
Purchasing (PO)
Asset Management
Projects
Work in Progress (WIP)
Cost Management
Description
In banks they will be maintaining a Balance Sheet for credits &
debits. In the same way oracle General Ledger module keep
tracking of all transactions in the business.
It is the place where your item stocks are stored. All the
Physical items/goods coming in and going out will be tracked. Thus
inventory is heart of the business.
This module manages all the purchasing order that deals with
business. This has information about Requisition, Po, Supplier,
Shipment details of the order.
It is required to manage & control the sales order fulfillment. It
manages the order book, order entry, ATP(Available to Promise)
etc.
It handles all the payment you have to pay to the vendors. Oracle
Payables allows invoice entry, payment entry, and payment voiding
in open accounting periods.
It allows you to create invoice, answers invoice related customer
queries, it runs AR reports, records and schedule collection
activities. Simply, it summarizes all the payments you need to get
from the customer.
This module deals with HR activities (Related to employees etc.)
Including recruiting performance management, learning,
compensation, benefits, payroll, time management, and real time
analytics.
It deals with the administrative cost related to business like
electricity, maintenance of building,, furnitures etc.
This module deals with the cost associated with the projects.
Which includes project costing, billing, time & expenses etc.
Oracle Work in Process is a complete production management
system. Supports discrete, project, repetitive, assemble-toorder, work order-less, or a combination of manufacturing
methods. Inquiries and reports give you a complete picture of
transactions, materials, resources, costs, and job and schedule
progress.
Helps you effectively manage and control your cash cycle. It
provides comprehensive bank reconciliation and flexible cash
forecasting.
Chapter 2
Approver
Person who has authority to approve requisition or PO (Purchase order).
ASN Advance Shipment Notice
The external supplier ships the goods directly to the 3rd Party customer and confirms
the shipment through the use of an Advanced Shipment Notice (ASN).
You should take a note, Oracle uses this ASN to record a receiving transaction into
inventory followed by an immediate logical shipping transaction. From these
transactions, conveyance of title takes place and the customer can be invoiced and the
suppliers invoice can be processed.
ATP: Available to Promise
Available to promise (ATP) inventory consists of on-hand inventory minus inventory
allocated for backorders and reserved inventory. ATP inventory is the inventory that is
available to fulfill orders.
The ATP support provides the ability to allocate from existing inventory or backorder
from expected inventory and obtain an estimated availability time once it has been
ordered for each order item.
Buyer
Buyer is a person who purchases finished goods, typically for resale, for a firm,
government, or organization.
Back Order
Backorder is a distribution term that refers to the status of items on a purchase order
in the event that some or all the inventory required to fulfill the order is insufficient to
satisfy demand.
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
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
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
Requisition
A requisition is a request for something, especially a formal written request on a preprinted form.
Responsibility
It is a pre-defined set of menus, forms & form functions assigned to each user.
Supplier/Vendor
A supplier is "... a person who is a manufacturer, processor or packager of a controlled
product or a person who, in the course of business, imports or sells controlled products".
Sales Order
The sales order, sometimes abbreviated as SO, is an order received by a customer from
a business. A sales order may be for products and/or services.
13
Chapter 3
Note: This functional flow is not complete process. For understanding purpose I have
explained in simple way for beginners.
14
Chapter 4
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
Toad
TOAD is a database administration and SQL development software application from
Quest Software. It is widely used by Oracle developers and DBAs (database
administrators).
SQL Developer
You can use Oracle SQL Developer to connect, run, and debug PL/SQL.
SQL Navigator
Database Applications of our age are becoming exceedingly complex, so are the
databases that support them. Though all information related to meta-data can be
retrieved from dictionary tables of Oracle, SQL Navigator provides all this in one
IDE.
Apart from getting all necessary information from Dictionary, SQL Navigator also
provides the user with an interactive view of data in all tables.
Code debugging tools offer a great deal of ease in debugging and tuning back-end
stored programs.
Discoverer Reports
Discoverer is an integrated, intuitive, and interactive business intelligence solution,
giving you complete coverage of everything related to report creation and delivery,
from data preparation in the database, to final presentation in an interactive
dashboard.
16
XML/BI Publisher
Oracle XML Publisher is a template-based publishing solution delivered with the Oracle
E-Business Suite.
It provides a new approach to report design and publishing by integrating familiar
desktop word processing tools with existing E-Business Suite data reporting.
At runtime, XML Publisher merges the custom templates with the concurrent request
data extracts to generate output in PDF, HTML, RTF, EXCEL (HTML), or even TEXT for
use with EFT and EDI transmissions.
Oracle ADI (Application Desktop Integrator)
Oracle ADI is a spreadsheet-based extension to Oracle Applications that offers full
cycle accounting and asset management within the comfort and familiarity of a
spreadsheet.
Oracle ADI combines a spreadsheets ease of use with the power of Oracle Applications,
to provide true desktop integration during every phase of your accounting cycle. You can
create budgets, record transactions, add assets, reconcile inventory, and run financial
statements and inventory reports all without leaving your spreadsheet.
Putty
PuTTY is a terminal emulator application which can act as a client for the SSH, Telnet,
rlogin, and raw TCP computing protocols.
17
18
Chapter 5
Application Architecture
Form Server
Report Server
HTTP Server
Concurrent Processing
Server
Discoverer Server
Administration
Server
19
Database tier
Which supports and manages the Oracle database?
Application Tier
This supports and manages the various Applications components, and is sometimes known
as the middle tier.
Desktop Tier
This provides the user interface via an add-on component to a standard web browser
Node - is referred as Machine, Each tier may consist of one or more node and each node
can potentially have more than one tier.
Each tier may consist of one or more nodes, and each node can potentially accommodate
more than one tier.
On the database tier, there is increasing use of Real Application Clusters (RAC) ,
where multiple nodes support a single database instance to give greater availability and
Scalability.
The connection between the application tier and the desktop tier can operate
successfully over a Wide Area Network (WAN). This is because the desktop and
application tiers exchange a minimum amount of information, for example field value
comparison
Differences
20
Desktop Tier
Application Tier
21
Chapter 6
The Oracle Applications technology layer lies between the Oracle Applications
technology stack and the Oracle Applications product-specific modules.
It provides features common to all Oracle Applications products.
Products in the Oracle Applications technology layer include:
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
22
23
Chapter 7
File Systems
An Oracle Applications Release 11i system utilizes components from many Oracle
products. These product files are stored below a number of key top-level directories on
the database and application server machines.
24
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).
25
Application Directory
All application files are stored here. It is also known as APPL_TOP.
It contains:
o Core technology files.
o Product files & directories.
o .env application environment file(Unix) & .cmdon (Windows).
Product Directory
26
COMN Directory
COMN or COMMON_TOP directory contains files used by different oracle application
products and used with third party products.
Admin
It is default location for concurrent manager log and output directories.
Html
OA_HTML environmental settings points to HTML Directory.
Oracle application based sign-on screen & HTML files are installed here.
Also it contains files like JSP,XML etc.
Java
JAVA_TOP points to java directory. This contains oracle application JAR files and ZIP
files.
Portal
This contains portal files. Portal is a webpage that provide access to post install task
that is necessary for application
Temp
Used for caching oracle products like reports.
Util
This contains JDE, JRE & ZIP utility.
Script
This contains application tier control scripts such as adstrtal.sh & adstpall.sh which
are located in sub directory.
27
Chapter 8
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
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
30
f) Initializing Parameters:
i.
Use default instead of :=
g) Formatting PLSQL Code:
i.
Within package define private variable first & then private procedure
then public procedures.
h) Avoid RAISE_APPLICATION_ERROR.
i) Use END_MESSAGE for exceptions.
31
Responsibility
It defines application user current privileges like functions that user can access,
concurrent program user can run & application DB account connected to data group.
Forms & Sub Functions
Form is special class of functions that differ from sub function in following ways:
a. Forms appear in navigator window whereas sub functions cannot.
b. Forms can exit their own. Sub functions can be only called by logical object
within a form.
Form Security API for Plsql Procedure:
1. FND_Function.Test
Tests particular function is currently accessible or not.
2. FND_Function.Query
Tests function is accessible and return information.
3. FND_Function.Execute
It executes form function that is attached only to forms.
4. FND_Function.User_function_name
It returns user function name.
5. FND_Function.Current_Form_Function
It returns function name with current form which is called.
32
5. User Profiles
It is a set of changeable options that affect the way when application runs.
AOL treats user profile as hierarchy where in user at top and next is responsibility.
Site Level Affects all applications.
Application Level Affects particular application.
Responsibility Level Affects application runs for all user of
Responsibility.
User Level It affects the way application runs for application user.
FND_PROFILE
It is a user profile API.
We can manipulate the value stored in client and server side.
Client side
Server side
Form A Form B
(Change in A affects B
& vice versa)
Form A Form B
(Change in A not affects B)
1. FND_Profile.Put
Puts value to specified user profile.
2.
FND_Profile.Get
Gets current value for user profile option or NULL if data does not exits.
3. FND_Profile.Value
It is similar to GET except it returns value as a function result.
33
6. Flexfield
Flex field is made up of segments.
Each segment has a name & set of valid values.
Types of Flexfield
a. Key Flexfield (KFF)
b. Descriptive Flexfield (DFF)
Note: Segments Corresponds to column in oracle table.
Oracle application uses KFF to represent Intelligent Keys with unique ID numbers.
ID numbers requires only one column whereas intelligent key requires multiple columns.
Key Flexfield
Key flexfield represents an intelligent key that uniquely identifies an application entity.
Each KFF has a name and specific set of valid values (Value sets).
Descriptive Flexfield
Its a additional information, not stored in application or strictly for reference when
viewed on screen.
DFF can be created by using any of attribute columns.
When to use KFF
i.
To uniquely identify an application entity with an intelligent key. Where key can
be a multi part & each one have some value.
ii.
34
7. Concurrent Processing
Mechanism provided in oracle e-Business Suite (EBS) to facilitate background
processing of,
1. Reports
2. Batch Runs
3. Longer Transaction
It is a series of background managers.
Separate program that control background processing (i.e. Request) that are:
a. Initiated on demand by user
b. Scheduled
In EBS concurrent manager (CM) schedules the work, and concurrent request (CR), do
the work.
Eg. Queen bee assign job to its worker bees.
Components of Concurrent Processing
Two basic components:
1. Concurrent Manager (CM)
2. Concurrent Request (CR)
Concurrent Managers
35
Pending
Running
Completed
Inactive
36
Pending:
Running:
Completed:
Inactive:
SQL script
SQL *Loader Program
Java Program
Oracle Report
PLSQL Program (Stored Procedure / Packages)
UNIX shell script
Pro *C
Perl
Value Sets
Its a set of values.
Need:
We dont want the user to insert junk values into all fields, so oracle application
validates whether correct data is entered in fields.
Value sets are attached to segments in flexfield (KFF).
Note: In reality oracle treat parameter as DFF.
Types of Validation
1) None
2) Independent
3) Dependent
4) Table
5) Special
6) Pair
7) Tran stable Independent
8) Tran stable Dependent
37
None
Validation is minimal.
Independent
The data input is based on previously defined list of values.
Dependent
The data input is checked against a defined set of values.
Table
The data input is checked against values in a table.
Special
The data input is checked against a flex-field.
Pair
The data input is checked against two flex-field specified range of values.
Translatable independent
The data input is checked against previously defined list of values.
Translatable dependent
The data input is checked against defined set of values.
Changes You Should Never Make
You should never make these types of changes (old value set to new value set) because
you will corrupt your existing key flex-field combinations data:
. Independent to Dependent
. Dependent to Independent
. None to Dependent
. Dependent to Table
. Table to Dependent
. Translatable Independent to Translatable Dependent
38
Lookups
It is set of codes and their meaning.
39
Chapter 9
40
Then you can see the apps log in page. Enter the username & password.
41
If the username & password is valid, the user is redirected to a page where he/she can
see their responsibilities assigned to them by system administrator.
42
43
44
Note: Do not close this window. If you close, the application session will be terminated.
45
Now click any option in navigator that will open its related form.
46
Switching Responsibility
47
48
49
50
51
Chapter 10
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/
52
After logging into metalink the following page you can see:
53
54
55
You can even search based on Bug number, date modified etc. or bug details.
56
For updated or new oracle patches details go to Patches & Updates tab.
57
eTRM:
For technical related documents like user guide, Table related information, AOL details
you can refer etrm. This is a place you can download all technical references related to
oracle apps 11i, 12i.
URL: http://etrm.oracle.com/
58
59
60
61
At left side you can see the list of tables. For viewing those table details click the table
name.
62
At this page you can see the relation of PO_HEADERS_All tables with other tables.
It shows Primary & foreign key relation.
63
64
65
66
Chapter 11
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
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
69
70
10) Create new responsibility. One for Core Applications and One for Self
Service (SSWA)
Navigate to Security-->Responsibility-->Define
Responsibility Name
= FZ Custom
Application
= FZ Custom
Responsibility Key
= FZCUSTOM
Description
= FZ Custom Responsibility
Available From
= Oracle Applications
Data Group Name
= fzGroup
Data Group Application = FZ Custom
Menu
= FZ Custom Application
Request Group Name
= FZ Request Group
Responsibility Name
= FZ Custom SSWA
Application
= FZ Custom
Responsibility Key
= FZCUSTOMSSWA
Description
= FZ Custom Responsibility SSWA
Available From
= Oracle Self Service Web Applications
Data Group Name
= fzGroup
Data Group Application = FZ Custom
Menu
= FZ Custom Application SSWA
Request Group Name
= FZ Request Group
11) Add responsibility to user
Navigate to Security-->User-->Define
Add FZ Custom responsibility to users as required.
12) Other considerations
You are now ready to create your database Objects, custom Reports, Forms,
Packages, etc
Create the source code files in the FZ_TOP directory appropriate for the type of
object. For example forms
would be located in $FZ_TOP/forms/US or package source code in $FZ_TOP/admin/sql
for example.
71
Database Objects, such as tables, indexes and sequences should be created in the FZ
schema, then you need to
a) Grant all privilege from each custom data object to the APPS schema.
1. For example : logged in as FZ user
i. grant all privileges on myTable to apps;
b) Create a synonym in APPS for each custom data object
1. For example : logged in as APPS user
i. create synonym myTable for fz.myTable;
Other database objects, such as views and packages should be created directly in the
APPS schema.
72
73
74
Chapter 12
Role of AOL
75
AOL Responsibilities
The responsibilities associated with AOL operations.
System Administrator
Application Developer
Application Developer
76
System Administrator
77
78
79
Responsibility
It is a collection of authorizations provided to a user. It Includes
i.
ii.
iii.
iv.
80
81
1. Data Group
It is mandatory for defining responsibility.
It defines relation between oracle application & oracle IDs accessible to
responsibility.
It determines DB account accessible by forms, concurrent programs & reports.
Data groups in oracle applications are automatically defined.
Note: AOL of an application is automatically included in definition of data group.
82
3. Function Security
It is mechanism used to control user access to application functionality.
Function:
It is a set of code that is executed only if function name is present in list maintained
within responsibility.
Responsibilities have list of functions.
Types of Function
i.
ii.
Form Function
Non Form Function
Form Function:
Invokes oracle form and accessible from navigation window.
Non Form Function
It is subset of functionality of form.
A menu is hierarchical arrangement of functions, menus of function and sub
menus.
To exclude a group function we need to exclude menu function responsibility.
4. Function & Menu Exclusion
Exclusions are used against a responsibility to limit its menu and function access
privileges.
It is optional.
Menu Exclusion
Exclude all menu & function
Functions Exclusion Excludes occurrence of functions within menus.
83
Exercise 1
Description:
Let us create a responsibility with default data group & menu.
Instruction:
1.
2.
3.
4.
5.
6.
84
85
The responsibility form opens. Now assign a name of your choice. Here I have given
responsibility name as BSL ADMIN .
Select Application as Application Object Library (AOL).
Responsibility key name can be users choice. Here I have given the name as
BSL_ADMIN_KEY.
Description of your choice.
86
Effective date is the date from and to which this responsibility is active.
Default from date is sysdate. You can make this responsibility effective from date of
your choice.
87
88
89
Now Choose Menu. Here I have chosen existing menu Administrator Menu.
90
91
92
93
94
IF Effective dates are given that responsibility or user is active / valid for those days
only. If it is blank it will be active till administrator deactivates it.
95
96
97
Exercise 2
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:
98
99
Step2: Press F11 for query mode and to search a responsibility press Ctrl + F11.
100
Step 3: Now we will analyze the Data Group. The Data group assigned to this
responsibility is
Standard and application is Inventory.
Now Let us go to the navigator window.
101
102
103
Data groups will be created by DBA people. So no need t worry. Just know the concepts.
104
Step 4: Now coming to Menu the default menu assigned to inventory responsibility is
INV_NAVIGATE.
Let us check out the menu by navigating to Application/Menu.
Query the menu.
105
106
At left side you can see the order in which the functions are arranged. At right side you
can see the menu detail info.
Now you can see transaction is a menu & it has sub menu Receiving within it.
107
You can verify this in the main page (or) in Inventory Responsibility Navigator window.
108
109
110
111
Now let us check out the functions associated with the menu INV_TRANSACTIONS
112
Summary
Topics we have seen.
Responsibility --> Menu.
Responsibility: Inventory.
Menu: INV_NAVIGATE
Menu --> Sub Menu
Menu: INV_NAVIGATE
Sub Menu: INV_TRANSACTIONS
Now we are going to see the functions associated with sub menu.
Sub Menu --> Functions
Sub Menu: INV_TRANSACTIONS
Functions: Sub inventory Transfer, Interorganization Transfer, Miscellaneous
Transaction etc..
113
114
115
Go to Property tab to view the property of the function & its type.
116
If you go to Form tab you can see the complete details about the form functions.
Now you can see this particular Form Function is attached to the form (.fmx)
Inventory Transactions.
117
Exercise 3
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
119
120
Menu Details
Menu Name:
User Menu Name:
Function:
121
122
123
Menu Name:
User Menu Name:
Function:
124
Menu Tree:
125
Menu Name:
User Menu Name:
Function:
DINESH GL
Dinesh_GL
Open and Close Period
126
Menu Tree:
127
Step 2: Create a Main Menu by assigning these above created menus as sub menus.
Menu Name:
Menu User name:
128
Menu Tree:
129
Step 3: Now create a responsibility & assign the above defined main menu.
130
131
132
133
134
Exercise 4
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:
135
136
137
System Admin:
This responsibility can create a user.
138
Application Developer:
This responsibility is to define & run Concurrent Program.
139
Menu Exclusion:
Now we are going to exclude a menu from the Dinesh_Cust_Resp.
Log in as System Administrator and navigate to Security /Responsibility/ Define.
Then Query the responsibility.
In the menu exclusion Type select the type & name of function or menu.
140
Menu
Dineshs_Appl_Dev
Now Log in as the user & check out u can access Application Developer Responsibility.
141
142
Function Exclusion:
Now we are going to exclude a function from the Dinesh_Cust_Resp.
Type:
Name:
Function
Users
Now the menu is not excluded only the function within the menu is excluded.
Since we have only one function within the Menu, the whole menu is disabled.
If we have more functions only that particular functionality is disabled.
143
Chapter 13
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
Note: Request Group & Request set will be covered in later part of the chapters.
145
Exercise 5
Description:
We are going to define a concurrent program in this exercise. Remember if we are going
to create a procedure of function default parameters to retrieve the status of the
concurrent program. The parameters as follows:
Errbuf
Retcode
varchar2 (mandatory)
varchar2 (mandatory)
For example:
Create or replace procedure sample (Errbuf out varchar2, Retcode out varchar2)
As
Begin
// body of the document
End;
Instruction:
Create a procedure.
Create an executable.
Attach this executable to the concurrent program (defining Concurrent pg.)
Create a request group & assign this to the user responsibility.
Now run the request.
View the status.
146
147
Executable Details:
148
149
Step 4: Now we need to define a request group & assign that to a responsibility of the
user who runs this request.
150
151
152
Now you can view the status of the request you have submitted as below.
153
Exercise 6
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.
154
Procedure:
Executable:
155
Value set:
Navigation:
156
157
158
Concurrent Program:
159
Defining Parameters:
160
161
Responsibility:
162
Submit Request:
Switch responsibility to Application Developer
163
164
When selecting the request name a pop up comes, thats the parameter window to
substitute the user name.
Parameter:
Press Ok
165
Status:
Successfully completed.
166
Expected Result:
167
Exercise 7
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
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
Executable:
170
Concurrent Program:
171
Parameters
172
Note: The Concurrent parameter Token Name and the user parameter should be
same.
173
174
Assign this request group to the responsibility the user is going to execute
the concurrent program.
175
Submit Request:
Enter value for report parameter:
176
177
Status:
Refresh the status every time till it completes.
Note:
One mandatory report user parameter for running reports is:
P_CONC_REQUEST_ID (mandatory)
178
179
Chapter 14
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
Tables
Description
FND_FORM
Tables
Description
FND_MENUS
Tables
FND_RESPONSIBILITY
Description
Fnd_Responsibility stores information about responsibilities.
Each row includes the name and description of the responsibility,
the application it belongs to, and values that identify the main
menu, and the first form that it uses.
User:
Tables
Description
FND_USER
181
Data Group:
Tables
Description
FND_DATA_GROUPS
Tables
Description
FND_CONCURRENT_PROCESSORS
FND_CONCURRENT_PROCESSES
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_PROGRAMS
FND_EXECUTABLES
182
Request:
Tables
Description
FND_REQUEST_GROUPS
Tables
Description
FND_APPLICATION
183
Responsibility
Table: FND_RESPONSIBILITY
Main Table
Table
FND_APPLICATION
FND_DATA_GROUP_UNITS
FND_RESPONSIBILITY
FND_REQUEST_GROUPS
FND_MENUS
FND_PROFILE_OPTION_VALUES
FND_USER_DESKTOP_OBJECTS
FND_APPLICATION
Relating Column
APPLICATION_ID
DATA_GROUP_APPLICATION_ID,
DATA_GROUP_ID
GROUP_APPLICATION_ID
,REQUEST_GROUP_ID
MENU_ID
LEVEL_VALUE_APPLICATION_ID
APPLICATION_ID
RESPONSIBILITY_APPLICATION_ID
Data Group
Table: FND_DATA_GROUP_UNITS
Main Table
Table
FND_DATA_GROUP_UNITS
FND_DATA_GROUPS
FND_RESPONSIBILITY
Relating Column
DATA_GROUP_ID
DATA_GROUP_APPLICATION_ID,
DATA_GROUP_ID
184
Request Group
Table: FND_REQUEST_GROUP
Main Table
Table
FND_REQUEST_GROUP
Relating Column
FND_APPLICATION
FND_REQUEST_GROUP_UNITS
FND_RESPONSIBILITY
APPLICATION_ID
APPLICATION_ID,
REQUEST_GROUP_ID
GROUP_APPLICATION_ID,
REQUEST_GROUP_ID
User
Table: FND_USER_RESP_GROUPS
Main Table
Table
FND_RESPONSIBILITY
FND_USER_RESP_GROUPS
FND_USER
FND_SECURITY_GROUPS
Relating Column
RESPONSIBILITY_ID,
RESPONSIBILITY_APPLICATION_ID
USER_ID
SECURITY_GROUP_ID
Concurrent
Table: FND_CONCURRENT_REQUESTS
Main Table
Table
Relating Column
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_PROGRAMS
FND_USER
FND_RESPONSIBILITY
PROGRAM_APPLICATION_ID
REQUESTED_BY
RESPONSIBILITY_APPLICATION_ID
,RESPONSIBILITY_ID
CONTROLLING_MANAGER
REQUEST_ID
FND_CONCURRENT_PROCESSES
FND_RUN_REQUESTS
185
Applications
Table: FND_APPLICATION
Main Table
Table
Relating Column
FND_CONCURRENT_PROCESSORS
FND_CONCURRENT_PROGRAMS
FND_DESCRIPTIVE_FLEXS
FND_EXECUTABLES
FND_FORM
FND_LOOKUP_TYPES
FND_PROFILE_OPTIONS
FND_REQUEST_GROUPS
FND_RESPONSIBILITY
FND_TABLES
FND_VIEWS
FND_APPLICATIONS
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
VIEW_APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
APPLICATION_ID
Relation Diagram
Fnd_Concurrent_Programs
Fnd_Form
Fnd_Concurrent_Processes
Program_Application_id
Controlling_Manager
Application_id
Requested_By
Fnd_Form_Functions
Function_id
Fnd_Menu_Entries
Menu_id
Sub_Menu_id
Fnd_menu
Menu_id
Fnd_Concurrent_Req
Responsibility_Application_id
Responsibility_id
Fnd_Data_Group
Fnd_Request_Group_Units
Application_id
Data_Group_id
Fnd_Data_Group_Units
Data_Group_Application_id
Request_Group_id
Fnd_Request_Group
Group_Application_id
Fnd_Responsibility
Application_id
Application_id
Fnd_User_Resp_Group
Responsibility_id
Responsibility_Application_id
Fnd_Application
User_id
Fnd_User
186
Chapter 15
Flexfield Types
Two types of flexfields
Key flexfield (KFF)
Descriptive flexfield (DFF)
187
Key Flexfield
KFF is made up of segments.
Segment represents entity characteristics.
We can Customize KFF by combining segment values.
Also we can define rules on segments.
188
Descriptive Flexfield
DFF is mainly used for storing additional informations.
DFF appears in form as icon .
Attributes in tables represents DFF.
DFF can also have set of values.
Features of flexfields
Application customization.
Use of Intelligent Keys composed of combination of segment values.
Value validations.
Customizing data fields.
189
Flexfield
Oracle Module
Accounting Flexfield
General Ledger
Account Aliases
Item Catalogs
Inventory
Item Categories
Sales Orders
Stock Locators
System Items
Sales Tax Location Flexfield
Oracle Receivables
Territory Flexfield
Grade Flexfield GRD
Oracle Assets
Job Flexfield
Oracle Human Resources
Personal Analysis Flexfield
Soft Coded Key Flexfield
Asset Key Flexfield
Oracle Assets
Category Flexfield
Location Flexfield
Oracle Service Item Flexfield
Oracle Service
190
Note:
No. of columns allocated for flexfields.
KFF 30 Segments
DFF 15 Attributes
For KFF we can view only enabled segments in table. For example, consider
PO_Headers_All table below.
191
192
Global_Attribute
Attributes are not used in tables for business, as these attributes are reserved for
future purpose by Oracle Corporation.
193
Exercise 8
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
195
196
197
198
First Query the Flexfield title as Accounting Flexfield. Then add new record.
199
Now click
to define segments.
200
For Company_BS:
For Account_NA:
201
202
203
Exercise 9
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:
204
Step 1: Create a new value set as below and set the values as below.
205
Step 2: Open the Accounting Flexfield Ac_Flexfield_GL and unfreeze the Freeze
Flexfield Definition checkbox.
While unfreezing it you will get the following pop up message as below.
206
207
Step 4: Enable checkbox of Freeze Flexfield Definition and compile the Accounting
Structure Ac_Flexfield_GL.
208
209
Exercise 10
Description:
Instruction:
210
211
212
As Diagnostics is directly associated with Apps DB schema, you need to provide Oracle
Apps Database password to examine the form.
When the password is correct you can the following window, the details of DFF will be
populated in the pop up window.
213
You will be seeing the below form and Query the DFF.
Query Details:
214
Now click
215
5
Dinesh Fin calendar
Dinesh Fin calendar
Attribute 5
Optional (As I havent defined any not using it)
216
Now freeze the Flexfield definition by enabling the checkbox Freeze Flexfield
Definition.
217
218
You can see the DFF is enabled and the following pop window appears.
219
220
You can also make Context text field as mandatory by enabling check box of
Required as below.
221
222
Chapter 16
User profile affects the way in which user runs the application. AOL provides plenty of
choices to set user interface with the business application.
In short profile option is used to control & manage transactions & activities in oracle
application.
User Profile Levels
AOL defines hierarchy for user profile.
User
High
Responsibilit
y
Application
Site
Low
User Level:
This option value affects a single application user directly.
Responsibility Level:
This affects all the application users in the responsibility.
Application level:
This directly affects the application.
Site Level:
It affects all the application that run is apps.
223
Organization
Finance Dept
Users A
Users B
Manufacturing Dept
Users C
Quality Dept
Users D
In the above scenario you can see for the organization there are 4 different
departments. Every department has its own user. These users have access to their
respective departments. Suppose consider a situation when organization has to update
10,000 users responsibility. In this case if the profile option is set this job is done at
very short time. This is one simple situation, like this we can use profile option for more
complex situations.
224
Scenario 2:
Consider the above diagram in scenario 1. Every department has users and user from
finance department cannot access details of quality department and vice versa.
Suppose consider this access security can be applied to apps users. That is when the
user logs into the apps and the profile option is set for the user, the user can be
redirected to any web page.
For example,
User A Admin
User B HR
225
226
Exercise 11
Description:
We are going to create profile option for employees working in Car manufacturing
industry say Company like ford, GM etc. In this industry employees are classified on the
basis of grades. We are going classify the employees as below.
Grade
A0
A1
A2
Description
Associate Engineer
Sr. Engineer
Chief Mechanical Engineer
As per the company policy when an employee buys a ford car, they will be given some
discounts based on their grade. The discounts are below.
A0 7%
A1 10%
A2 20%
Assume the Ford Company has implemented oracle apps 11i. Now we are going to create
profile options for grades and assign this profile to the responsibility. Such that the
employee who comes under particular responsibility will get discounts.
Instructions:
Create responsibility
Create Profile option
Assign Discount %
User
User
Responsibility
227
228
For A2.
229
230
For A2.
231
232
Organization type.
Security type
233
234
Click Find.
235
Description
Discounts %
Associate Engineer
7
Sr. Engineer
10
Chief Mechanical Engineer
20
Grade A0:
Grade A1:
236
Grade A2:
Now when the employee buys a car from the company automatically they will get
discount on total car cost.
237
Exercise 12
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:
238
239
240
Now I have set the discount % as 22 which is greater than responsibility discount %.
241
Observation:
High
Responsibility
Application
Site
Low
Here user has highest Priority/Preferences, such that it can override profile options
set to Responsibility, Application and Site.
Thus, in this exercise we have defied same profile option for responsibility & user with
different discount value, that is user value (20) > responsibility value (22). As user is at
top level its value (22) overrides responsibility value (20).
Therefore, employees SENTHIL.M will have Discount of 22% when he buys a car from
Dinesh motors.
242
Oracle Alerts
Chapter 17
We all know about Exception handling in Java programming. In the same way oracle
alerts helps in exception handling & controlling.
Alerts -- Entities.
(Implies)
Types of Alerts
Alert Type
Event
Periodic
Usage/Example
To monitor DB activities like insert or update etc.
Checks DB information at scheduled time like email, concurrent program
or running SQL script.
243
Exercise 13
Description:
We are going to create a periodic alert. These alerts can be triggered daily, weekly,
monthly or yearly at particular interval of time.
Note:
This alert is no were related with any DB transaction or tracking activity.
Periodic alert will notify or report the user regardless of any activity.
Instruction:
Some steps to remember, while creating periodic alert
Define
Detail
Action
Set
Define periodic alert + frequency.
Specify detail information about alert.
Define actions for alerts.
Create action set contains actions.
Things to Remember:
Define mail account for alerts.
Set up connection b/w alert and mail application.
Note: In the below exercises I havent configured mail account.
244
245
246
247
Frequency
On Demand
On Day of the Month
On Day of the Week
Every N Calendar Days
Description
Alert is check only when user specify.
Alert is checked on monthly basis on the day you specify i.e.
14th day of every month.
As above it checks alert on day of week.
Checks alerts on every day a day calendar & does not skip
holidays.
Checks oracle alerts on every business days.
1 check on business day
2 Check on non-business days.
This is same as Every N Calendar and days field value as 1.
This is same as Every N Calendar and days field value as 2.
This is same as Every N Business and days field value as 1.
This is same as Every N Business and days field value as 2.
248
249
Every Day
250
Select Query:
We can write query in 2 ways:
a) Manually Select Statement
b) Import Select Statement
Points to Remember while writing Select Query:
1.
2.
3.
4.
251
Emp_Name
Dinesh
Vishnu Raju
Srikanth.Pk
Shovan Mahapatra
Hima.k
Lokesh. BN
Emp_Department
IT
Electronics
Mechanical
Bio-Tech
Architecture
Civil
Statement 1:
252
Now for our exercise we are going to use the following SQL Select Query.
Below you can see the description of table Fnd_User.
253
Select Query:
SELECT
User_Id,
User_name,
End_Date,
Description,
Employee_Id,
Email_Address
INTO
FROM
&id,
&name,
&date,
&desc,
&emp_id,
&email
APPS.FND_USER
254
255
After running the statement you can see the number of rows selected in note window.
256
Inputs Tab:
Oracle alerts automatically displays inputs unless they are implicit inputs like.
Implicit Inputs
Description
:ROWID
Contains ID number when insert/update trigger occurs.
:MAILID
Contains email username of the person who does insert/update
trigger.
:ORG_ID
Contains organization ID where alert runs.
:DATE_LAST_CHECK Contains date & time when alert is recently checked.
We can enter default value for these implicit inputs with maximum of 240 characters.
As our query does not contain implicit inputs all details in input tab regions are empty.
Outputs Tab:
In this region oracle alerts displays outputs used in SQL select statement without &
and numbering format (999.99).
Also we can mention maximum number of characters an output variable can have.
We can check the Check for Duplicates check box to customize the combination of
SQL statement results.
257
Installations Tab:
In installations tab region we can specify Oracle ID against which we can raise an
Oracle alert.
If oracle ID is not given, oracle alerts automatically checks alert against all installations
in database which owns this alert.
Check the Enable check box to run alert against any Oracle ID.
258
259
I. Message Action:
Navigation: Click
260
This is similar to sending a email from yahoo or gmail or hotmail or from Outlook
Express.
Similarly, please fill the message details in the alert details form.
261
As I havent configured the mail setups, I cannot show the complete process. So, I have
given what are all the details you need to specify in this form.
When every detail is filled, please save it & move to alert definition window to create
Action Sets.
262
263
264
Members Tab:
265
Inputs Tab:
Outputs tab:
266
Exercise 14
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:
267
268
269
Keep Days:
270
b) Before running the SQL Statement, save your work by pressing the icon.
You can see the following message in status bar.
271
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
Exercise 15
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
Now press Ctrl+ F11. You can see the existing alert.
274
Step 3: When you click Transfer Alert. You can see the details of alert in Transfer
Alert Definition Form.
275
When you are specifying the Database following points should be noted.
Source Alert:
Application: The name of the application the alert belongs.
Alert: Select an Alert you want to transfer or copy.
Database: There are two ways syntax can be defined.
SQL * Net V1
SQL * Net V2
SQL * Net V1 (Syntax):
Username/Password@t:testing:db1
SQL * Net V2 (Syntax):
Username/Password@db1
Destination Alert:
Application & Database fields are to be filled same as above.
Alert: We can assign our own name (i.e. its like save as concept in document.).
276
Step 4: As I do not have second instance for my apps application I am going to use the
same instance details in database.
277
278
279
280
Chapter 18
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.
281
Object Name
Concurrent Program
Executable
Concurrent Program
Definitions
.LCT file
Entity
Parameter
EXECUTABLE_NAME
APPLICATION_SHORT_NAME
afcpexec.lct
PROGRAM
afcpprog.lct
PROGRAM
Request Group
afcpreqg.lct
REQUEST_GROUP
Request Sets
afcprset.lct
REQ_SET
Profile options
afscprof.lct
PROFILE
Menus
Responsibilities
FND Form
Personalization
Value Sets
afsload.lct
afscursp.lct
MENU
FND_RESPONSIBILITY
CONCURRENT_PROGRAM_NAME
APPLICATION_SHORT_NAME
REQUEST_GROUP_NAME
APPLICATION_SHORT_NAME
REQUEST_SET_NAME
APPLICATION_SHORT_NAME
PROFILE_NAME
APPLICATION_SHORT_NAME
MENU_NAME
RESP_KEY
affrmcus.lct
FND_FORM_CUSTOM_RULES
FUNCTION_NAME
afffload.lct
VALUE_SET_VALUE
afffload.lct
KEY_FLEX
Descriptive Flexfield
(DFF)
afffload.lct
DESC_FLEX
Look ups
aflvmlu.lct
FND_LOOKUP_TYPE
Printer Styles
afcppstl.lct
STYLE
FLEX_VALUE_SET_NAME
P_LEVEL
APPLICATION_SHORT_NAME
P_STRUCTURE_CODE
P_LEVEL
APPLICATION_SHORT_NAME
P_CONTEXT_CODE
LOOKUP_TYPE
APPLICATION_SHORT_NAME
PRINTER_STYLE_NAME
FNDLOAD Modes:
Entity download: DOWNLAOD
Entity Partial or Full uploads: UPLOAD (or) UPLOAD_PARTIAL
Force Update: CUSTOM_MODE = FORCE
UPLOAD_MODE = REPLACE
NLS uploads: UPLOAD_MODE = NLS
282
BASE Syntax:
Method 1:
FNDLOAD
APPS/APPS_DB_PASSWORD
0Y
MODE
COFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER
Method 2:
FNDLOAD
APPS/APPS_DB_PASSWORD@HOST
0Y
MODE
COFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER
Explanation:
Keyword
FNDLOAD
APPS
APPS_DB_PASSWORD
0Y
MODE
COFIGURATION_FILE
(.LCT)
TARGET_TEXT_FILE
(.LDT)
ENTITY
PARAMETER
Description
FND Generic loader Keyword
Application
Application DB password
Concurrent Program Flags
Upload (or) Upload_Partial (or) Download
$FND_TOP/patch/115/import/file_name.lct
$PER_TOP/patch/115/import/ file_name.lct
This file contains definition of entity that is migrated (the
name of the file is users choice).
Type of object in oracle application
Parameter related to entity. These details are useful to
migrate the entity faster.
283
Note:
I have given example only for concurrent program. In the same manner you try it for
other oracle application entities.
284
_______________________________________________________________
285
_______________________________________________________________
Mode 2: Upload
FNDLOAD
APPS/APPS_db_PASSWORD
0Y
UPLOAD
CONFIGURATION_FILE
TARGET_TEXT_FILE
Example:
FNDLOAD
APPS/dinesh123#
0Y
UPLOAD
$FND_TOP/patch/115/import/ afcpprog.lct
Dinesh_cp.ldt
_______________________________________________________________
Mode 3: Upload_Partial
FNDLOAD
APPS/APPS_db_PASSWORD
0Y
UPLOAD_PARTIAL
CONFIGURATION_FILE
TARGET_TEXT_FILE
ENTITY
PARAMETER
Example:
FNDLOAD
APPS/dinesh123#
0Y
UPLOAD_PARTIAL
$FND_TOP/patch/115/import/ afcpprog.lct
Dinesh_cp.ldt
PROGRAM
CONCURRENT_PROGRAM_NAME = dini_demo_cp
APPLICATION_SHORT_NAME = FND
_______________________________________________________________
286
SQL *Loader
Chapter 19
Architecture:
Parameter
File
Data File
Control File
Control File
Log File
SQL LOADER
Discard File
Data
Bad File
Database
SQL *Loader reads data from data file and data information details from control file.
If any additional parameter required, it gets from parameter file. Then it loads data
into database.
287
Input Files:
Control File:
Control File is a text file which contains DLL instructions. It also contains table
information how data will be loaded. The informations includes table name, Column & its
data types, Delimiters etc. Thus control file helps for data loading process for SQL
loader.
Sections of Control file:
The control file has 3 main sections with 2 mandatory & 1 optional sections in the
following order below.
i.
ii.
iii.
288
289
Method 2:
290
19 21
25
30
40 42
45
53
55
Dinesh_motors_Ltd#111***dinesh*asdfgv$*cse$%29-AUG-07##
291
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
293
Exercise 16
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:
294
295
Step 4: Now go to command prompt & type the following command as below.
Command Syntax:
Sqlldr username/password@host control=c:\xyz.ctl
296
Step 5: Check the log file to see data uploaded successfully or not.
297
298
In TOAD:
299
Exercise 17
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
In TOAD:
301
Step 3: Create a data file which contains records to be appended. Input some datas
which do not meet loading criteria.
302
303
Step 7: Open the dinesh.log file to check all records are inserted successfully or not.
304
In TOAD:
305
USEFUL LINKS
REFERENCES
306
307