Oracle Applications Technical
Oracle Applications Technical
What is ERP?
ERP Vendors.-weight: normal;">
About Oracle Application & SAP.
ERP Concepts Count.. :
ERP :
ERP Stands for Enterprise Resource Planning, ERP means integration of different module. Any business will
greatly benefits by adapting this feature because u can customize it or integrate it with other Packages to satisfy
unique requirements.
BENEFITS OF ERP :
Flow of Information Effectively
Maintaining Standardizations.
ERPs available in market :
SAP
Oracle Applications
People soft
Siebel
JD Edwards
Oracle Applications :
Oracle Applications are an ERP Package. The Key Feature of the entire
oracle Application module is Data Integration.
ERP Concepts Count.. :
ERP Vendors :
Company name : Site :
SAP www.sap.com
Oracle www.oracle.com
PeopleSoft www.peoplesoft.com
invensys www.invensys.com
ABB Automation www.abb.com/automation
i2 www.i2.com
SSA Global Technologies www.ssagt.com
Intentia International www.intentia.com
Epicor www.epicor.com
Lawson Software www.lawson.com
QAD www.qad.com
IFS www.ifsab.com
Mapics www.mapics.com
Mincom www.mincom.com
American Software www.amsoftware.com
Great Plains www.greatplains.com
Ross Systems www.rossinc.com
Types of Projects :
We have 4 Types of Projects.
Implementation Project :
Client will be using another software to maintain the business solutions. Now the client wants to
have Oracle Applications package to capture the data. That time we will start setups,data conversions,
gap analysis, functions document preparation from the scratch.
Customization Project :
Client was already using Oracle Applications,now the client would like to have few more modules
to cover the business, for that we will customize new modules and integrate with existing modules.
Support or Maintenance :
Once the implementation, customization and migration are over, then supporting project will be
started where we will give supporting for the objects which were already developed, customized
and migrated.
Desktop Tier :
Desktop Tier is client machines
accessing applications via
browser(HTML based Self service
applications) or Java Applet(Jinitiator)
for Form based interface.
Application Tier :
Application Tier also called as middle
tier consists of WebServer Forms,
Reports, Concurrent processing,
Discoverer and Admin Server.
Database Tier:
Database Tier contain Orale database
server which store all your application
data.
Fnd
Admin AU AR GL
11.5.0
bin
Help reports sql
Admin forms
11.5.0
bin
forms Help reports sql
Admin
US
*.sql files
driver, import, odf sql US
*.rdf files
directories
*.fmx files
Pl/sql procedure,
package definition
files *.pls
Application Developer:
Which has got the functions like
1. Forms
2. Menus
3. Messages
4. Flexi fields
5. Profiles
• Oracle Apps Technical By Muthu
Application Object Library Definitions :
Responsibility: It is a role authorized to access specific Forms and Programs of a particular Module. A
responsibility is a collection of Menus, Request Groups and Data Groups. Menus and Data Groups are
mandatory to a responsibility.
Menu: A menu is a collection of Sub‐Menus and Functions.
Request Group (RG): It is a collection of concurrent Programs. It is used to request programs from the
responsibility.
Data Group (DG): It is a collection of Modules used to integrate one or more Modules for cross application
transfer of data, cross application reporting and cross application reference. If we want to get data from other
Modules we need to define those modules in the Data Group.
Functions: A function is a part of an application’s functionality that is registered under a unique name for the
purpose of assigning it to, or excluding it from, a menu (and by extension, a responsibility).
Defining Responsibility :
Pre‐Defined Responsibilities :
Exec AD_DD.REGISTER_TABLE(p_appl_short_name,
p_tab_name, --table name
p_tab_type,
p_next_extent, -- Enter the initial and next extent sizes in kilobytes for yourtable. You must enter
values greater than 0.
p_pct_free,--free storage.
p_pct_used);-- used storage.
Example :
EXEC AD_DD.REGISTER_TABLE('WIP','WIP_ITEM','T',8,10,90);
COMMIT;
• Oracle Apps Technical By Muthu
Application Object Library Count.. :
Example:
EXEC AD_DD.REGISTER_COLUMN('WIP','WIP_ITEM','ITEM',1,'VARCHAR2',15,'N','Y');
EXEC AD_DD.REGISTER_COLUMN('WIP','WIP_ITEM','ITEMCOST',3,'NUMBER',8,'N','Y');
EXEC AD_DD.REGISTER_COLUMN('WIP','WIP_ITEM','CATEGORYK',4,'VARCHAR2',100,'N','Y');
EXEC AD_DD.REGISTER_COLUMN('WIP','WIP_ITEM','CREATION_DATE',5,'DATE',11,'N','Y');
EXEC AD_DD.REGISTER_COLUMN('WIP','WIP_ITEM','CREATED_BY',6,'NUMBER',7,'N','Y');
EXEC AD_DD.REGISTER_COLUMN('WIP','WIP_ITEM','LAST_UPDATE_DATE',7,'DATE',11,'N','Y');
EXEC D_DD.REGISTER_COLUMN('WIP','WIP_ITEM','LAST_UPDATED_BY',8,'NUMBER',7,'N','Y');
PROFILES :
Profiles are used to determine the behavior of Oracle Application Forms and Programs. The registration
information of all the users will be stored in FND_PROFILES_OPTION table. The dictionary of all the Profile
Options is maintained by AOL module. To set the values of the Profile Options, we use System Administrator
Module. Profile Options are used to pass the values to the variables declared in our forms and programs, by
which we can determine the behavior of Oracle Application Forms.
The profiles are of two types those are given below.
System Profile
User Profile
System Profile :
navigation for user profile : Profile Personal
User Profile :
SITE LEVEL: Site is a collection of Modules. A Module is a collection of Responsibilities.Responsibility is
assigned to different users.If we set the Profile Options at Site level then these Profile Options get affected to all
the Forms and Programs of all the Modules, which are accessed from our site.
APPLICATION LEVEL: If we set the Profile Options at this level then the Profile Options get affected to all the
forms of a particular module.
RESPONSIBILITY LEVEL: If we set the Profile Options at this level then the Profile Options get affected to all the
Forms and Programs, which are assigned to a particular Responsibility.
USER LEVEL: When we set the Profile Options at this level then the Profile Options get affected to all the Forms
and Programs of all the Responsibilities, which are assigned to a particular User.
Important Profiles:
GL Set of Books Name: It is one of the GL application profile, set of books is nothing but collection of currency,
calendar, and chart of accounts. We will assign this profile values at responsibility level based on this currency
and calendar and accounts will get change.
MO: Operating Unit: This will be used to setup user operating unit name which operating unit user is working,
when ever user login to the system by using this profile. System will understand the user operating unit (Branch
Name)
HR: Business Group: This profile will give the user business group which group user is working.
HR: User_Type: This profile will give the user employment type which user is Permanent, Contract or consultant
will be identified.
USER_ID
USER_NAME
RESP_NAME
RESP_ID
RESP_APPL_ID
FLEXFIELDS :
A flexfield is a field made up of sub–fields, or segments. There are two types of flexfields: key flexfields and
descriptive flexfields. A key flexfield appears on your form as a normal text field with an appropriate prompt. A
descriptive flexfield appears on your form as a two–character–wide text field with square brackets [ ] as its
prompt. Flex Fields are used to capture the Business Information of the Organization. The organization can use
the Flex Fields based on their Business Structure.
Key Flexfields:
Key Flexfeilds are used to store the key information of data in segments. We can call these segments as
intelligent keys. For KFF we define flexfeild qualifiers and segment qualifiers. The data of this key flexfeilds will
store in segment cols in a table.
Some of the KFF’s :
S.No Type of Flex Field Module Table
1 Accounting FF GL GL_CODE_COMBINATION
2 Job FF HR PER_JOB_DEFINITIONS
3 Position FF HR PER_POSITION
4 Grade FF HR PER_GRADE
5 Location FF FA FA_LOCATION
6 Asset FF FA FA_KEYWORDS
7 Sales Tax FF AR AR_SALEX_TAX
8 Territory FF AR AR_TERRITORY
9 System Items FF INV MTL_SYSTEM_ITEM
10 Item Category FF INV MTL_ITEM_CATEGORY
Default Types :
When we are hiding the parameter in SRS windows user can’t enter the values that time we can pass values
internally by using defaults types.
Constant:
If we want to pass constant values as default then we will select default type constant and we will
specify the values in default value field.
Current Date:
System Date.
Current Time:
System Time
Profile:
By using the profile option we can pass user profile values as default.
SQL Statement:
When we want to pass select statement to rest as default values that time we will select default
types as SQL statement and write the select statement in the default values filed. Select statement
should not return more then one value.
Segment:
When we wanted to pass previous parameter values as default to the next parameter then we
will use segment, select default type as segment give the parameter name in the default values field.
• Oracle Apps Technical By Muthu
Application Object Library Count.. :
Values Sets :
Valueset is nothing but the list of values with validation. We will be using the valuesets whenever the concurrent
programs have parameters and while defining the flex fields we attach this flex fields. The given below are the
types of valuesets.
None
Independent
Dependent
Table
Translatable Dependent
Translatable Independent
Special and
Pair.
None: It is used whenever we want to apply some format condition like max.length,numbers, and capital letters
so on. There wont be any list of values in none valueset.
Independent: This valueset is used whenever we want to show some hard coded values to the end user that
time we will create.
Navigation : Application ValidationSet
After that go with the Navigation :ApplicationValidationValues then we will get the screen.
Dependent:
It is a list of values, which are depending on the Independent valueset. Tocreate dependent valueset go with
same process we mentioned above and set the validation type as Dependent and click on the Edit Information
button then we will get the Dependent valueset information screen enter the mandatory fields like independent
valueset name which we created earlier.
Table:
It will be used whenever we want to show the list of values from the table column name. When we select this
option then the Edit Information in this window will become active. When we go with that Edit Information button
we get the Validation information window. That is shown below.
Translatable Dependent & Translatable Independent:
These two valuesets are used whenever you are working with multi-lingual implementation.
Special:
Special valueset is used for display flexfields data as parameter values.
Pair:
This valueset is used to display parameters in pairs.
EX: Date from & Date To…etc. (To specify a range in pair we use such type of valuesets).
$FLEX$:
$FLEX$ is used to hold the data which was selected by the previous valueset for that we have to define another
table valueset with different name as per the above process.
• Oracle Apps Technical By Muthu
Application Object Library Count.. :
User Exits :
User Exits are 3GL programs used to transfer the control from the report builder to Oracle Applications or any and
it will perform some actions and return to the report builder. There are five types of user exits those are.
FND SRWINIT
FND SRWEXIT
FND FORMAT_CURRENCY
FND FLEXSQL
FND FLEXIDVAL
FND SRWINIT: Used to write in before report trigger. It is used to fetch the concurrent request information and
also used to set the profile options.
Example :
BEGIN
SRW.USER_EXIT('FND SRWINIT');
END;
FND SRWEXIT: We will write this in after report trigger. Used to free the memory which has been allocated by the
other user exits
Example:
BEGIN
SRW.USER_EXIT('FND SRWEXIT');
END;
• Oracle Apps Technical By Muthu
Application Object Library Count.. :
FND FORMAT_CURRENCY: This is used to convert amounts or currency from one currency to other currency
values and also used to display currency amounts in formats.
Example:
SRW.USER_EXIT(‘FND FORMAT_CURRENCY’,
Code = ‘currency_code’,
Display_width=’15’,
Amount = ‘:cf_feb’,
Display = ‘:cd_feb’);
Return (:cd_feb);
FND FLEXSQL: This is used to get the data from flex fields. We will use in formula columns.
FND FLEXIDVAL: This is used to get the data from flex fields. We will use them in formula columns.
Operating Unit - Where Company will procure, sell, pay, receive, stock
Sub inventories
Stock Locations
Business Group: It represents the highest level in the organization structure, it can be a major division or
operating company or consolidated enterprises, Business Group secure human recourses information. Example:
When we request list of employees assigned to the business group where organization is a part
Set Of Books: It is a financial reporting entity it uses particular functional currency, chart of accounts and
accounting calendar, Oracle General Ledger application secures this transaction information like, journal entries,
balances, we will use the Set of Books to capture these financial information.
Legal Entity: it is a legal company for which we prepare physical or tax reports and we will submit company
flanking sheet to Government.
Operating Unit: It is an organization where company is going to do the main business operations like sales,
purchasing payments, receiving and son, it may be a sales office or division or department, operating unit
information will be secured by following applications like
PO, AP, AR, OM, CM
Inventory Organization: It is an organization for which we will track Inventory transactions and balances,
Inventory Organization means warehouse, distribution center, manufacturing plants
- Bills of Material
-Work in process
- Enginering
-MRP and so on
Again we will define Inventory Organization as 2 levels
1) sub Inventory
2) Stock location – inside of this location we will keep the items.
• Oracle Apps Technical By Muthu
Reports in Oracle Applications :
Registration Steps :
1.Develop the Report according client requirement.
2.Once development Completed we need to move execution file to Corresponding server path.
3.Go to System Administrator Responsibility and Create Executable.
Navigation : ConcurrentProgram Executable
Executable: Set the executable name as we like here we
entered the name as per the program.
Description: This field is not a mandatory field if we want to describe the concurrent program executable we
use this field.
Execution Method: There are eleven execution methods we can choose what ever we want as per the
requirements.
4.Once Executable created then we need to Concurrent program. and save executable short name.
Navigation : ConcurrentProgramDefine
Executable:
Name: Set the executable name as the
short name of the executable which we give
in the previous Executable form.
Method: when we enter the executable name there in the name field it was automatically
Parameters (Button): If there are any parameters for our report then we go with the parameters button. We get
the window called parameters when we go with the button.
Program and Application will come automatically.
Value Set : select value set name, which has been created.
Request :
click Submit
New Request Button
Here choose ur Concurrent Program and enter Required parameters. and click submit button. once ur
program submitted and completed then u will get ur out put of ur report.
INTERFACES:
It is nothing but a program; it will be used to transfer the data from flat file to data base table or from data base
table to flat file. Two types of interfaces given below.
Outbound Interface
Inbound Interface
Outbound Interface: it will be used to transfer the data from oracle apps base table to legacy system flat file. We
will develop a concurrent program, which is pl/sql procedure. Inside of that we will use UTL_FILE package to
generate the flat file.
UTL_FILE: it is one of the pl/sql package, which will be used to transfer the data fromoracle data base table to flat
files or from flat files to oracle data base tables. But we will use sql loader to transfer data from flat file to data
base tables.
By using following functions we will generate flat file :
Declare the file pointer to find out file location : UTL_FILE.FILE_TYPE;\
Query to find utl_file path : SELECT VALUE FROM v$parameter WHERE NAME LIKE '%utl%‘;
UTL_FILE EXCEPTIONS:
UTL_FILE.INVALID_OPERATION
UTL_FILE.INVALID_PATH
UTL_FILE.INVALID_MODE
UTL_FILE.INVALID_FILEHANDLE
UTL_FILE.READ_ERROR
UTL_FILE.INTERNAL_ERROR
xx_outpointer UTL_FILE.file_type;
BEGIN
xx_outpointer := UTL_FILE.fopen('c:\temp', 'inventoryflat.txt',w');
-- To get the path:
-- Select value from V$parameter where name like ‘utl_file_dir’;
FOR c IN cur_inv
LOOP
UTL_FILE.put_line(xx_outpointer
, c.inventory_item_id
|| '-'
|| c.organization_id
|| '-'
|| c.segment1
|| '-'
|| c.description
);
END LOOP;
UTL_FILE.fclose(xx_outpointer);
EXCEPTION
WHEN OTHERS
THEN
fnd_file.put_line(fnd_file.LOG, 'error while generating flat file');
END xx_inventoryout;
Inbound interface :
it will be used to upload the data from legacy system flat file to oracle apps base table. For this we will use SQL
LOADER program and pl/sql program.
then we can import the data from flat file to staging table using sql* loader.
once data is staging table then we can validate through one package and import into interface
tables.
then after words we can submit standard concurrent program to move the data from interface
tables to base tables.
Flat file
SQL loader
staging table
Custom package
Interface tables
Base Tables
SQL * Loader: - SQL * Loader is one of the oracle tool it will be used to Transfer the data from flat files to oracle
database tables.
Main
Legacy System Frames
…etc Oracle Apps
Flat file
.CSV
SQL *Loader
.DAT
.TXT
Flat File (or) Data File: - It contains the data in specific format which has generated by the legacy program.
The extension of flat file will be either .txt or .dat or .csv (Comma repeated view)
Control File: - Control file is SQL * Loader program it will be having data file name table names, and
columns mappings and we execute this control file SQL * Loader will start the data reading from file. Insert
into oracle database tables extension of control file is .CTL
Bad file: - After execution of control file Data processing will happen from flat file to table. During this process
if any error occurs like bad format or any internal errors, these records will be inserted into bad file, extension
of bad file is ‘.BAD’
Discard File: - It contains the rejected records which are rejected by control file. Control file will rejects the
records if records is not satisfying the condition, which we have mentioned in control file the extension of
discards file is ‘.DIS’
Log File: - It contains complete log into like successfully records count bad file, discard file count and time
taken to complete the process. If any error occurs, those error messages will be displayed in the log file.
Extension of log file is ‘.LOG’
• Oracle Apps Technical By Muthu
Interfaces in Oracle Applications Count.. :
SQL Loader Paths: - (i) Direct Path – System will disable constraints
(ii) Conventional Path – Default insert statement.
Direct Path: - System will disable all contains and insert the data directly into the table, direct path will be faster than the
conventional path, if we have max records than we will use the direct method.
Conventional Path: - Default path, it will check all table and column constraints if data is satisfied constantly then only data will
insert. It is just like insert statement.
• Oracle Apps Technical By Muthu
Interfaces in Oracle Applications Count.. :