0% found this document useful (0 votes)
10 views

APPS TECHNICAL

Uploaded by

P Ganesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

APPS TECHNICAL

Uploaded by

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

ORACLE

ORACLE APPLICATIONS
APPLICATIONS TECHNICAL
TECHNICAL

•• Business
Business Overview
Overview
•• Computerization
Computerization of
of business
business systems
systems
•• ERP
ERP Overview
Overview
•• Overview
Overview of
of popular
popular ERP’s
ERP’s
Business Overview

• “Group of people working for a common Goal”

• Business Process
Generally business process includes purchasing
raw material from suppliers, Manufacturing and
selling of goods to customers.

Purchase Manufacture Sales


Business Overview

• Business Chart
• Business will be divided into departments based
on the complexity ,business process and
activities.

Suppliers
Inventory
Purchase Manufacture
Business
HR Sales
Finance
Suppliers
Business Overview

• Major departments and their activities


• Purchasing
– Raising quotations and Purchase orders
– Receiving Goods from suppliers
• Inventory
– Storing raw and finished goods
– Checking the stock positions
• Manufacture
– Planning Manufacture Process
– Maintaining the quality of goods
Business Overview

• Sales
– Getting orders from customers
– Shipping goods to customers
• Human Resources
– Recruitment of Employees
– Planning of Salaries and benefits
• Finance
– Procurement and allocation of financial
resources collection and Payment details
Computerization of business System

• This is process of implementing hardware, software


and networking technologies into business system
for better utilization of available resources.
 Approaches in computerization
 General Approach
 KIT Approach
 ERP Approach
Computerization of Business System
• General Approach
Step 1 – Business Analysis
Step 2 – Requirements gathering
Step 3 – Selection of hardware and
software
Step 1 – Building of hardware and
software
Step 1 – Testing
Advantages:
Computerization of complex business
process
Can build the packages as business
requirement
Disadvantages:
Computerization of Business System
• KIT Approach
Step 1 – Business Analysis
Step 2 – Requirements gathering
Step 3 – Selection of Package available in
Market
Step 1 – Doing the setup and
customization
Step 1 – Testing
Advantages:
Will take less time and money comparatively
Disadvantages:
This data centralization will not be there
Need people with good technical skills
Computerization of Business System
• ERP Approach
Step 1 – Business Analysis
Step 2 – Requirements gathering and GAP
analysis
Step 3 – Selection of ERP available in Market
Step 1 – Doing the setup and customization
Step 1 – Testing
Advantages:
Will take less time and money comparatively
This data centralization will be there
Disadvantages:
Need people with good technical &
Functional skills
Overview of ERP

• ERP is a complete set of business applications


that run entirely on internet , enabling you to cut
cost and increase revenues across your front and
back office functions.

• Characteristics:
– Unified information architecture
– Single complete data model
– Single instance possible
– Just one customer definition
Overview of ERP
Overview of Business Processes

Service/
Service/ Customer
Customer Sales Order
Dist.
Dist.

Sales
Sales
Quality
Quality
Forecasts
Finished Orders
Product Products

Production Finance
Finance
Production Production Schedule
Capacity Planning

Costs
Cost Analysis
Purchased
items
Purchase
Purchase Material issue Engg.
Engg.
Purchase Request

Inventory Planning
Planning Bill of
Information flow Inventory Materials
Material low MRP
Business: Process Flow- Oracle Apps Integration
Oracle
Service
Service/ Customer
Customer
Service/ Sales Order
Oracle Dist.
Dist.
Quality Oracle
Order Entry
Sales
Sales
Quality
Quality Forecasts
Orders
Finished
Oracle Products
Product
WIP
Finance
Finance
Production Schedule Oracle
Production
Production Capacity Planning Financials
Oracle Costs
Cost Mngt. Purchased Cost Analysis
items
Engg.
Engg.
Purchase
Purchase Material issue

Bill of Materials Oracle


.
Purchase Request Planning
Planning BOM/Engg.
Oracle Inventory
Inventory
Purchase
MRP
Oracle
Oracle
MRP/MPS
inventory
Capacity
Oracle eBusiness Applications

Sales
Marketing
Human Resources Service
Payroll Interaction Center Inventory
Training/Benefits E-Commerce Purchasing
Order Management
General Ledger Human CRM Configurator
Receivables Resources Advanced Planning
Payables & Scheduling
Assets Order Mgt
Cash Management Finance
Financial Analyzer
Treasury
Projects Product
Fulfillment
Information
Technology
Engineering
Projects
Project Billing Bills of Material
Projects Time & Expense Master Scheduling / MRP
Self-Service Applications
Project Connect Capacity
Business Agents (Alert)
Workflow Work in Process
EDI Gateway Cost Management
Business Intelligence Quality
Discoverer
Popular ERP’s

• ORACLE E-Business SUITE


• SAP
• PeopleSoft
• JD Edwards
Functional Architecture of oracle apps

• Overview of Modules in oracle apps


• Overview of Business Cycles
• Version of oracle Apps
• Roles of Consultants in Oracle Apps
• Types of Projects
• Project Process and Documents
Modules in Oracle Application and Access
• Modules are a collection of forms ,Reports and
programs which are related to particular business
process
• Financial Modules
– General Ledger
– Account Payables
– Account Receivables
– Fixed Assets
– Project Accounting
– Cash management
• Distribution Modules
– Inventory
– Purchasing & Order Management
Modules in Oracle Application and Access
• Manufacturing Modules
– Bills of Material
– Work in Process
– Quality
• Customer Relationship Modules
– Fields Services
• Technical Modules
– System Administrator
– Application Object Library
• Access to Application
– User
– Responsibility
– Module
Roles of Consultants

• Functional Consultant
– Requirement gathering
– Preparing the functional setup documents
– Preparing the functional design document
• Technical Consultant
– Preparing Technical design document
– Code development and Unit testing
– Internal review of documents and code
• DBA
– Installing the application
– Code Movement
– DB Cloning,Refresh and Patching
Project Types

• Implementation Projects
– We will be installing the applications newly to the
clients. And doing all the setups from scratch.
• Support Projects
– We are solving the issues raised by the user
• Migration/ Upgradation Project
– Here we will moving to other organization or newer
version or new modules.
Project Process

• Requirement Gathering
• Preparing the setup documents
• GAP Analysis
• Preparing Functional requirement documents
• Preparing Technical requirement documents
• Code development
• System integration Testing
• User acceptance Testing
• GO-LIVE
• Supporting
Document Types

 BR 80
 BR 100
 MD 50 or CF 250
 MD 70 or MD 200
 MD 120 or TE 050
Version of Oracle Apps

 10.7
 11.0.3
 11.5.4
 11.5.8
 11.5.9
 11.5.10
 11.5.10.2
 R12
Oracle Applications Product Info
Oracle Components
The Release 11i Environment
• 160 applications • 14,608 tables
• 2,322 Developer forms (US) • 12,327 views
• 2,156 Developer reports (US) • 6,221 constraints
• 480 Pro*C binaries • 29,000 normal indexes
• 1,692 Java server pages • 21 domain indexes
• 118 Java archive files (.jar) • 3 function-based indexes
• 17,566 Java classes • 59 index organized tables
• 167 XML files • 8,598 sequences
• 19,149 HTML help files (US) • 156 database types
• 1,290 GIF help files (US) • 2 database type bodies
Technical Architecture of Oracle Apps

 Software used in build of application


 Overview of three tier architecture
 Architecture of User tier
 Architecture of Application tier
 Architecture of Data base tier
 Different ways to access application
 Tools used in oracle apps
Software used in Build of Application

• SQL
• PL/SQL
• UNIX
• Forms6i
• Reports6i
• JAVA
Overview of three tier architecture

• User Tier
• Application Tier
• Database Tier
Architecture of User Tier

• User tier contains a java Applet which helps you to


connect to the application server.
• No Oracle files are stored on the desktop client
• Only software you typically have on the user’s
desktop is a Java-enabled Web Browser manages
the downloading, start-up, and storage of the
Forms Client on the end user’s desktop
Architecture of Application Tier

• This tier contains forms,reports,sql,scripts,control


file and Unix scripts
• There will be a folder for each module.
• Each folder contains subfolders to store report,
forms etc of each module.
• Eliminates the need to install and maintain
application software on each desktop client and
helps to reduce network traffic All the Oracle
Applications product files are in the file system of the
application tier servers.
• It Mediates between the Forms Client on the end
user’s desktop and the Oracle database server on the
back end.
Architecture of Application Tier

GL_TOP PO_TOP AP_TOP AR_TOP INV_TOP OM_TOP

FORMS REPORTS SQL BIN OUT IN

US US
Architecture of Application Tier

• Forms folder contains the forms of a module


• Reports folder contains the reports of a module
• Bin folder contains the UNIX or shell scripts and
Ctl files
• SQL Folder contains sql scripts
• IN and OUT contains transferring data files
Architecture of Data base Tier

• This tier contains db objects like tables, Views,


synonyms, Sequences, Indexes ,functions,
procedures,packages and triggers.
• Each module contains a schema in db. There are
called base schemas. This contains tables,
sequences and indexes,views
• Apps schema is the parent schema.It contains
functions,procedures,packages and synonyms of
base schema objects.
Architecture of Data base Tier

APPS SCHEMA

PO AP AR OM
Different ways to access application

• Connect to the database tier


– User Name, Password, Database or TNS Names
• Connect to the User tier
– User Name, Password and URL
• Connect to the Application tier
– User Name, Password, Server name and path
Tools used in Oracle Apps

• SQL PLUS
• TOAD 2.6
• SQL Loader
• Forms 6i
• Reports 6i
• Workflow Builder 2.6
• Data Loader
The release 11i Environment
• 160 applications
• 2,322 Developer forms (US)
• 2,156 Developer reports (US)
• 480 Pro*C binaries
• 1,692 Java server pages
• 118 Java archive files (.jar)
• 17,566 Java classes
• 167 XML files
• 19,149 HTML help files (US)
• 1,290 GIF help files (US)
• 14,608 tables
The release 11i Environment

• 12,327 views
• 6,221 constraints
• 29,000 normal indexes
• 21 domain indexes
• 3 function-based indexes
• 59 index organized tables
• 8,598 sequences
• 156 database types
• 2 database type bodies
Oracle Apps Concurrent Processing

• Concurrent Processing : All types of concurrent


programs are described in detail. Concurrent programs
can be scheduled to run or manually run in oracle
applications. In Oracle Applications, concurrent
processing simultaneously executes programs running
in the background with online operations to fully utilize
your hardware capacity, hence the name ‘Concurrent
Processing’. You can write a program (called a
”concurrent program”) that runs as a concurrent
process. Typically, you create concurrent programs for
long–running, data–intensive tasks, such as posting a
journal or generating a report.
Concurrent Program
• A concurrent program is an instance of an execution
file, along with parameter definitions and
incompatibilities. Concurrent programs use
concurrent program executables to locate the correct
execution file. Several concurrent programs may use
the same execution file to perform their specific tasks,
each having different parameter defaults and
incompatibilities.
Concurrent Program Executable
• A concurrent program executable links an execution
file or and the method used to execute it with a defined
concurrent program. Under Concurrent Processing, an
execution method may be a program written in a
standard language, a reporting tool, or an operating
system language.
Concurrent Program Execution File

• A concurrent program execution file is an


operating system file or database stored
procedure which contains your application logic
and can be executed by either invoking it directly
on the command line or by invoking a program
which acts upon it. For example, you run a Pro*C
program by invoking it on the command line. You
run a SQL script by running SQL*Plus and passing
the name of the SQL script without the .sql
extension.
Steps to Create a Concurrent Program

• The first step in creating a concurrent program in


oracle applications is to create the concurrent
program executable. To do this, navigate to
Application Developer responsibility after you login to
Oracle Applications.
To open the Executable form follow the below
mentioned navigation path.

Application Developer  Concurrent  Executable.


Executable
Executable Form Navigation
Executable Form

• Executable - Enter executable name here. Enter


any user friendly name.
• Short Name - Enter short name for your
executable. This is used for mapping the
executable with the concurrent program. Usually
executable name are of 8 characters.
• Application - Give the application to which the
executable belongs to. E.g. you want some
program to run from oracle payables then account
payables should be entered as application name.
• Description - Give the brief description of the
executable in this field.
Executable Form

• Execution Method - Here you need to choose the


appropriate execution method for your executable.
Following are the possible execution methods which
are commonly used in oracle applications.
• Oracle Reports – used for the RDF reports
• Host – used for shell scripts, basically the language of
the host operating system
• PL/SQL Stored procedure – used to run the stored
procedure through oracle applications
• SQL*Loader – used to run the sql loader programs
• SQL*Plus - used to run the anonymous PL/SQL blocks.
It will get executed in the same fashion as you are
running on SQL Plus.
• Java Stored Procedure – The execution file is a Java stored
procedure.
• Java Concurrent Program – Used for program written in Java.
• Spawned – used for c or pro*c Program. Mainly used by
standard oracle interfaces.
• Perl Concurrent Program – used for programs written in CGI
Perl.
• Request Set Stage Function – PL/SQL stored function that
can be used to calculate the completion statuses of request
set stages.
• Immediate – execution file is a program written to run as
subroutine of the concurrent manager. Oracle doesn’t
recommend use of this executable type.
• Multi-Language function – execution file is an MLS function
that supports running concurrent program in multiple
languages.
Executable Form

• PL/SQL Stored Procedure, Oracle Reports, Host, SQL*loader,


SQL*Plus are the most commonly used executable types.
• Executable File name – This should contain the name of the
executable file. In case of PL/SQL Stored procedure or Java
Stored Procedure it should be the fully defined name of the
stored procedure.
• Subroutine Name – This field is only used when executable
type is spawned or immediate.
• Execution File Path –
• The Stage Function Parameters button opens a window that
allows you to enter parameters for the Request Set Stage
Function. This button is only enabled when you select
Request Set Stage Function as your Execution Method.
Concurrent Program

• Once you have defined the executable, the second


step is to define the concurrent program. To define
a concurrent program, you need to open the form
using the navigation path below.
• Navigation –
– Application Developer
– Concurrent
– Program
Concurrent Program
Concurrent Program
Concurrent Program Form

• Field Description
• Program – Give user friendly name for your concurrent
program. This name will be displayed in Requests
submission screen while submitting the requests.
• Short Name – Give short name for concurrent program.
This is used within the database tables in oracle
applications. It’s a common practice to have the Short
name same for the executable and the concurrent
program.
• Application – Give the application to which the
concurrent program belongs to.
E.g you want some program to run from oracle
payables then account payables should be entered as
application name.
Concurrent Program
• Description - Give the brief description of the concurrent
program.
• Executable - Enter the short name of the executable
(Defined in Executables Screen) you want to attach to
this concurrent program.
• Method - will be defaulted once you enter executable
short name
• Options - will be defaulted once you enter executable
short name
• Normally default values are given for the other fields.
Following is the significance of these fields.
• Request Type – Concurrent program can be associated
to a predefined request type so that only few concurrent
managers can run the program.
Concurrent Program
• Incrementor – To be used by Oracle only.
• MLS Function - This feature allows the program to
be submitted once by the user but runs it in the
multiple languages.
• Use In SRS – Only when this check box is checked
the Concurrent Program would be available in
Standard Request Submission (SRS) through the
request group.
• Allow Disable Value – This will allow the disabled
values in the value sets to be used while entering
the values of the parameters in the Concurrent
Program.
Concurrent Program

• Run Alone – Indicates that program is incompatible


with all other concurrent programs and should be
run alone.
• Enable Trace – This will enable the SQL trace for the
concurrent program and will generate the trace file
when concurrent program is run. Only used in
development environments to check the
performance of the concurrent program.
• Restart on system Failure – This option is used to
indicate that concurrent program should
automatically be started when concurrent manager
is restored after the system failure.
Concurrent Program
• NLS Compliant – This box is checked if the program
allows for a user to submit request of the program that
will reflect a language and territory that are different
from the language and territory that the users are
operating in.
• Output Format – Format in which output should be
printed. Possible format values are
– HTML
– PDF
– TEXT
– PS (Post Script)
– PCL(HP’s Printer Control Language)
• SAVE – Check to indicate that output should be
automatically saved in an operating system file.
Concurrent Program
• PRINT – Whether you want the output to be sent to
printer for printing.
• Column / Rows – Column and Row length of the
concurrent program output. Oracle Applications
uses this information to decide the print style.
• Style Required – Print Style
• Printer – A particular printer on which output
should be sent.
• Save the data that you have entered using Ctrl+S
or File à Save.
Concurrent Program Parameters

• Program – will be defaulted from Concurrent Program


• Application – will be defaulted from Concurrent Program
• Conflicts Domain - Enter the parameter which will hold
the value of the conflict domain of the program.
• Security Group - This field is for HRMS security only.
• Seq – Enter sequence number for the parameter
• Parameter – name of the parameter, will be displayed in
parameter entry screen
• Description – description about the usage of the
parameter
• Enabled – check box to enable or disable the parameter.
Disable a parameter when you don’t want to use it.
Concurrent Program Parameters

• Value set – enter the name of the value set which you want
to use to validate the value enter in the parameter field.
• Description – will be defaulted from value set definition
• Default Type – choose the default type for the default value
of the parameter. Possible default types are
• Constant : The default value can be any literal value.
• Profile : The default value is the current value in the user
profile option defined in the Default Value field. Use the
profile option name, not the end–user name. You do not
need to include $PROFILE$.
• SQL Statement : The default value is determined by the SQL
statement you defined in the Default Value field.
Concurrent Program Parameters

• Segment : The default value is the value entered in


a prior segment of the same parameter window.
• Required
If the program executable file requires an argument,
you should require it for your concurrent program.
• Enable Security
If the value set for this parameter does not allow
security rules, then this field is display only. Otherwise
you can elect to apply any security rules defined for
this value set to affect your parameter list.
Concurrent Program Parameters

• Display size – Enter the field length in characters for


this parameter. The user sees and fills in the field in the
Parameters window of the Submit Requests window.
• Token - For a parameter in an Oracle Reports program,
the keyword or parameter appears here. The value is
case insensitive. For other types of programs, you can
skip this field.
Incompatible Programs Window

• To navigate to this form, click on the Incompatibilities


button on the bottom of the form shown in figure 4.
This window is used for defining the incompatibilities
of the concurrent program. Identify concurrent
programs that should not run with your concurrent
program as they might interfere with its execution.
Incompatible Programs Window
• Program – Defaulted from Concurrent Programs
Window
• Application – Defaulted from Concurrent Programs
Window
• Application – Application of the concurrent program
which is incompatible to the defined concurrent
program.
• Name – Name of the concurrent program which is
incompatible to the defined concurrent program.
• Name – Name of the concurrent program which is
incompatible to the defined concurrent program.
• Scope – Used to identify if concurrent program is
incompatible if the program or also with its child
requests.
Incompatible Programs Window

• Type - Enter Domain or Global. If you choose


Domain, the incompatibility is resolved at a
domain-specific level. If you choose Global, then
this concurrent program will be considered
globally incompatible with your concurrent
program, regardless of which domain it is running
in.
Session Control

• To navigate to this form, click on the Session Control


button on the bottom of the form shown in figure 4. This
is a new functionality given in 11.5.10 to control the
database session while executing concurrent program
using following three parameters. The form would look
like as shown in figure 7.
Session Control

• Consumer Group – resource consumer group of


the concurrent program can be specified. A
resource consumer group defines a set of users
who have similar resource usage requirements. An
overall resource plan specifies how resources are
distributed among the different resource
consumer groups. Resource consumer groups
and resource plans provide a method for
specifying how to partition processing resources
among different users.
Session Control
• Rollback Segment – Rollback segment specified here
would be used instead of the default rollback segment.
If you specify a rollback segment here, your concurrent
program must use the APIs
FND_CONCURRENT.AF_COMMIT and
FND_CONCURRENT.AF_ROLLBACK to use the
specified rollback segment.
• Optimizer mode - Optionally specify an optimizer
mode. You can choose ALL_ROWS, FIRST_ROWS,
Rules, or Choose. You would specify an optimizer
mode only for a custom program that may not perform
well with the default cost-based optimizer (CBO) and
needs tuning. You can use a different optimizer mode
until your program is tuned for CBO.
Copy to Window
Copy to Window

• Program – Enter the program name to be copied


• Short Name – Short Name of the program to be
copied
• Application – Application name of the concurrent
program to be copied
• Include Incompatible programs - Check this box if
you want incompatibilities to be copied
• Include Parameters – Check this box if you want
parameters to be copied.
VALUE SETS

• Value Sets act as validations for the values entered by


users. When the users enter the values in any of the
fields (on any form), if there is a value set attached to
this field, the values entered by user are validated
against the value set. To create a new value set:
• What is a value set and where is it used?
Value set is primarily the List of Values(LOV) to restrict
and maintain consistencies in entering or selecting the
values. It is also the place holders to allow user enter a
value. Oracle Application Object Library uses value
sets as important components of key flexfields,
descriptive flexfields, and Concurrent Request
Submission.
VALUE SETS

• What are the Format Types the value set have?


* Character
* Number
* Time
* Standard Date, Standard Date Time
* Date, Date Time
Note that Date and Date Time value set formats are
obsolete and are provided for backward
compatibility only. For new value sets, use the the
format types Standard Date and Standard Date
Time.
VALUE SETS

• In the ‘Value Sets’ window, enter the new value set


name and a description for the value set.
• In the ‘List Type’ drop down box, select the kind of
list you require based on the following criteria:
• Use ‘List of Values’ when the expected number of
values is between 10 and 200. If you choose ‘List
of Values’ then your value set will not provide the
LongList feature in Oracle Forms applications and
users will not see a poplist in Oracle Self-Service
applications.
VALUE SETS
• Use ‘Long List of Values’ when the expected number of
values is more than 200. The LongList feature requires
a user to enter a partial segment value before the list of
values retrieves all available values. If you choose
‘Long List of Values’ then your value set will provide
the LongList feature in Oracle Forms applications and
users will not see a poplist in Oracle Self-Service
applications. You may not enable LongList for a value
set that has a validation type of ‘None’.
• Use ‘Poplist’ when the expected number of values is
fewer than 10. If you choose ‘Poplist’ then your value
set will not provide the LongList feature in Oracle
Forms applications but users will see a poplist in
Oracle Self-Service applications.
Security Type
• No Security - All security is disabled for this value set.
• Hierarchical Security - Hierarchical security is enabled.
With hierarchical security, the features of value
security and value hierarchies are combined. With this
feature any security rule that applies to a parent value
also applies to its child values. Within a hierarchical
tree of values, a value is subject to a security rule if
any parent above it is subject to that security rule.
• Non-Hierarchical Security - Security is enabled, but the
rules of hierarchical security do not apply. That is, a
security rule that applies to a parent value does not
"cascade down" to its child values.
VALUE SETS

• The parent values and child values in a particular Key


flexfield are defined in the ‘Segment Values’ window,
discussed later in this document.
• Enter the ‘Format Type’, ‘Maximum Size’ and
‘Precision’ for your value set.
• You can also specify the ‘Min Value’ and the ‘Max
Value’ that this value set permits.
• The first 2 check boxes on the screen define which
values (‘Numbers only’, ‘Uppercase only’) the value
set permits. Whereas if the third check box is
checked, the values that are entered in the fields will
be Right justified and zero filled automatically.
VALUE SETS

• The ‘Validation Type’ can be any one of the following:


• None: You use a None type value set when you want
to allow users to enter any value so long as that value
meets the value set formatting rules. Because a None
value set is not validated, a segment that uses this
value set does not provide a list of values for your
users. A segment that uses this value set (that is, a
non-validated segment) cannot use flexfield value
security rules to restrict the values a user can enter.
VALUE SETS

• Independent: This value set provides a pre-defined


list for valid values. These values are entered
using the ‘Segment Values’ window (Fig 10).
• Dependent: A dependent value set is similar to an independent
value set, except that the available values in the list and the
meaning of a given value depend on which independent value
was selected in a prior segment of the flexfield structure. You
can think of a dependent value set as a collection of little value
sets, with one little set for each independent value in the
corresponding independent value set.
– You must define your independent value set before you define the
dependent value set that depends on it.
– You enter the values for dependent values in the Segment Values
window (fig 10). E.g. you have selected an independent value set
‘vs1’ for segment1 and a value set ‘vs2’ that is dependent (on
‘vs1’) for segment2. Let us assume that vs1 has two valid values:
‘Computer’ and ‘Furniture’. Then vs2 will have two sets of valid
values pertaining to each value in vs1, i.e. if ‘Computer’ is entered
for the segment1 then there may be a set of valid values for
segment2, say, ‘mouse’, ‘keyboard’ etc. If ‘Furniture’ is entered for
segment1, then there may be a set of valid values for segment2,
say, ‘table’, ‘chair’ etc.
DEPENDENT VALUE SETS

• A dependent value set is similar to an independent


value set, except that the available values in the
list and the meaning of a given value depend on
which independent value was selected in a prior
segment of the flexfield structure.
TABLE VALUE SET

• You use a table-validated set when you have a


table whose values are already maintained in an
application table
• If values are stored in the db table we will create a
table value set then the data will be retrieved from
the database table.
• You define which table you want to use, along with
a WHERE cause to limit the values you want to use
for your set.
• We can enter the column name and the alias name
to display the additional columns
TABLE VALUE SET

• ID Column:
– When creating a value set if we want to display one
column value and pass internally another column
values we will use this ID columns
– We can find out the application name from the
following navigation
– Application developer
– Application
– Database
– Table
– Provide the Table name and query it.
VALUE SETS

• In table name multiple tables could be given


separated by commas and give alias names
• Translated independent:
• Translated dependent:
– Both the above can be used for the translation
value (multi languages)
• Special and Pair:
– To display the flex field data we will use them
APPS Standards in Reports

• We have to define a mandatory parameter called


– P_CONC_REQUEST_ID
• Call the user exit from Before Report Trigger
– SRW.USER_EXIT(‘FND SRWINIT’);
• Call another user exit from after report trigger
– SRW.USER_EXIT(‘FND SRWEXIT’);
• SRW:
– Standard Report Writer
APPS Standards in Reports

• P_CONC_REQUEST_ID
– This P_CONC_REQUEST_ID used by the concurrent
manager to pass request id of concurrent program
through this parameter to the report builder.
– This is system parameter when we will submit the
concurrent program in the SRS window,
REQUEST_ID will be generated and that will be
passed to this variable. Based on the request id
system will find out the user name, responsibility
name and so on.
• For audit purposes Oracle has something called WHO-
columns that provide information about who did what
when. The standard five WHO-columns are
CREATION_DATE, CREATED_BY,
LAST_UPDATE_DATE, LAST_UPDATED_BY and
LAST_UPDATE_LOGIN.
• In some tables Oracle has provided some additional
enhanced WHO-columns:
PROGRAM_APPLICATION_ID, PROGRAM_ID,
PROGRAM_UPDATE_DATE and REQUEST_ID that are
used to log information about any concurrent program
that creates or updates the record.
• Strange as it may sound you can actually use an Oracle
Report to alter data. In these cases the report will need
to know the REQUEST_ID in order to provide the
correct information for the WHO-columns.
APPS Standards in Reports

• USER_EXIT(‘FND SRWINIT’):
– This user exit will be used to capture user profiles
based on the data can be restricted from the database.
• USER_EXIT(‘FND SRWEXIT’):
– This user exit will freeze the memory which is occupied
by the profile values.
UESR EXIT

• UESR EXITs are the APIs used to add extra functionality in


the Apps reports. There are Five types of USER EXITs
• FND SRWINIT -- Sets the profile option values and allows
oracle AOL USER EXIT to detect that they have been
called by Oracle Reports.
• FND SRWEXIT--Ensures that all the memory allocated for
Oracle AOL USER EXIT has been freed up properly.
• FND FORMAT_CURRENCY--- Used for Multiple Reporting
Currency
• FND FLEXSQL --is used to get select/where/having/order
by /group by from flexfield tables.
• FND FLEXIDVAL --this API is used to get description from
flex fields, gets input from FND FLEXSQL.
UESR EXIT

• FND FORMAT_CURRENCY
• To format the currency amount dynamically depending
upon the precision of the actual currency value,
standard precision, users profile values and location
(country) of the site.
• You obtain the currency value from the database into an
Oracle Reports column. Define another Oracle Reports
column, a formula column of type CHAR, which
executes the FORMAT_CURRENCY user exit to format
the currency value. A displayed field has this formula
column as its source so that the formatted value is
automatically copied into the field for display.
UESR EXIT

• Syntax
FND FORMAT_CURRENCY
CODE=:column containing currency code
DISPLAY_WIDTH=field width for display
AMOUNT=:source column name
DISPLAY=:display column name
[MINIMUM_PRECISION=:P_MIN_PRECISION]
[PRECISION={STANDARD|EXTENDED}]
[DISPLAY_SCALING_FACTOR=:P_SCALING_FACTOR]
FND FLEXSQL
CODE="flexfield code"
APPL_SHORT_NAME="application short name"
OUTPUT=":output lexical parameter name"
MODE="{ SELECT | WHERE | HAVING | ORDER BY}"
[DISPLAY="{ALL | flexfield qualifier | segment
number}"]
[SHOWDEPSEG="{Y | N}"]
[NUM=":structure defining lexical" |
MULTINUM="{Y | N}"]
[TABLEALIAS="code combination table alias"]
[OPERATOR="{ = | < | > | <= | >= | != | "||" |
BETWEEN | QBE}"]
[OPERAND1=":input parameter or value"]
[OPERAND2=":input parameter or value"]
FND FLEXIDVAL
• FND FLEXIDVAL
CODE="flexfield code"
APPL_SHORT_NAME="application short name"
DATA=":source column name"
[NUM=":structure defining source column/lexical"]
[DISPLAY="{ALL|flexfield qualifier|segment
number}"]
[IDISPLAY="{ALL|flexfield qualifier|segment
number}"]
[SHOWDEPSEG="{Y | N}"]
[VALUE=":output column name"]
[DESCRIPTION=":output column name"]
[APROMPT=":output column name"]
[LPROMPT=":output column name"]
[PADDED_VALUE=":output column name"]
[SECURITY=":column name"]
FND FLEXIDVAL

• his is an AOL user exit available to populate key


flex fields for display
• CODE means Key flexfield code(GL# is for
Accounting Flex field, for all other check the table
FND_ID_FLEXS)
NUM is the structure of the key flex field(Chart of
Accounts Number)
DATA is where you store the retrieved data (your
sql output).
• SRW.USER_EXIT('FND FLEXSQL CODE="GL#"
NUM=":P_STRUCT_NUM"
APPL_SHORT_NAME="SQLGL"
OUTPUT=":P_SEC_SEG"
MODE="SELECT"
DISPLAY=":P_SEC_SEG_VAL" ')
• The userexit call FND FLEXIDVAL :
• SRW.REFERENCE(:SEC_SEG);
SRW.USER_EXIT('FND FLEXIDVAL CODE="GL#"
DATA=":SEC_SEG"
APPL_SHORT_NAME="SQLGL"
VALUE=":SEC_SEG_DISP"
DISPLAY="ALL"
NUM=":P_STRUCT_NUM" ');
return(:sec_seg_disp);
USER EXITS
• As the name indicates user exits are the programs
written in any of the language like Java C++ Pro C to
perform certain action.
• User exit when called from Report triggers moves the
control from report to this outside program there it
performs the action programmed and returns back to
report environment.
• The program which makes USER to EXIT from ongoing
environment to perform certain action is USER EXIT.
Oracle Purchasing
• Items Creation  Inventory
• Supplier creation  Supplier,Site,Contacts
• Buyer Creation  Employee of the comp, authority
ITEM CREATION
• Select the responsibility called “Inventory vision
operations ”
– Items
– Master Items
– Enter the item name and item description
– Go to inventory tab and select the check check box
inventory item.
– Go to purchasing tab and check purchased.
– SELECT * from mtl_system_items_b where
segment1=your item name.
– Select msi.segment1,msi.item_description,
ood.organization_name from mtl_system_items_b msi,
org_organization_definitions ood where
msi.organization_id=ood.organization_id and
msi.segment1=‘ur item’
SUPPLIER CREATION

• SELECT * from po_vendors where segment1=‘5078’


• PK=Vendor_id
• Select * from po_vendor_sites_all where
vendor_id=989
– PK=Vendor_site_id
• Select * from po_vendor_contacts where
vendor_site_id=2194
– PK=Vendor_contact_id
SUPPLIER CREATION

• Select the responsibility called purchasing vision


operations
– Supply Base
– Suppliers
– Enter the supplier name+save no generates
– Select the sites button

• Backend:
– PO_VENDORS
– PO_VENDOR_SITES_ALL
– PO_VENDOR_CONTACTS
BUYER CREATION

• SELECT * FROM PER_ALL_PEOPLE_F WHERE


EMPLOYEE_NUMBER=‘9’
• SELECT * FROM FND_USER
• SELECT FU.USER_NAME,PAPF.FULL_NAME
FROM FND_USER FU,PER_ALL_PEOPLE_F PAPF
WHERE FU.EMPLOYEE_ID=PAPF.PERSON_ID AND
USER_NAME=‘3USER’;
• SELECT * FROM PO_AGENTS
– PK=AGENT_ID
BUYER CREATION

• Select the responsibility called HRMS management


HRMS Manager People enter and maintain 
select New Button
• Enter the employee details select as buyer save
the transactions and attach the employee name to
the user name in system administrator
• Open the users form select person field enter the
employee.Attach the emp name in the buyer list
• Purchasing vision operations USA
– Setup
– Perosnal
– Buyer
– Include the employee name into the list
ORACLE PURCHASING

– Requisition
– RFQ (Requisition For Quotation)
– Quotation
– PO (Purchase Order)
– Receipt
– AP Interface and INV Interface
REQUSITIONS
• Its one of the document that will be prepared by
the employees whenever they need the materials
• We will find 2 types of requisitions
– INTERNAL
– PURCHASE
• If materials are available in other organization we
will transfer/purchase the material from the
internal requisition.
• If material are not available then we will purchase
it from suppliers by using purchase requisition.
• Select the responsibility called “Purchasing Vision
Operations (USA)”.
• Requisitions Requisitions
REQUSITIONS

• Select * from PO_REQUISITION_HEADERS_ALL where


segment1=‘1651’
• PK Requisition_Header_id =11438
• Segment1Requisition Number
• Select * from PO_REQUISITION_LINES_ALL where
Requisition_header_id =11438
• PK Requisition_line_id =9901
• Select * from PO_REQ_DISTRIBUTIONS_ALL where
Requisition_line_id =9901
• PK Distribution_id
REQUSITIONS

• PK-->REQUISITION_HEADER_ID
• AUTHORIZATION_STATUS=INCOMPLETE
– IN PROCESS
– APPROVED
• TYPE_LOOKUP_CODE=PURCHASE/INTERNAL
REQUSITIONS
• Open the Requisition form
– Enter the header level information
– Enter line level information
– Enter the item ,qty, price, need by date
• Select the distributions button
– Enter the distribution details
– Save the transaction.
• Select the approve button for approval
• Go to requisition summary form
– Enter the requisition number
– Select find button
– We can verify the Requisition Status to find
whether approved or not approved.
REQUISITIONS
• We can also cancel the requisition after approval
– Tools
– Control options
– Select the option called cancel Requisition
– Enter the reason and press OK button
– Again query the requisition we find it as
“Cancelled”.
• We can find out the action history of the
requisition by using
– Tools
– View action history
– It will show you the details like who has
submitted ,approved and cancelled.
REQUISITIONS

• Requisition number will be generated by the


system automatically.
• If we want to enter it manually we have to set up
the following
– Setup Oraganizations purchasing Options
numbering Tab select requisition entry as manual
type(alpha numeric/Numeric)
RFQ(Request for Quotation)
• After requisition is approved as per the company
requirement we will create RFQ doc.
• Bid RFQ:
– It will be used for large/expensive,piece of equipment
that we have never ordered before .( Eg. diamond)
– We cannot specify the price breaks for Bid RFQ.
• Catalog RFQ:
– It is used for high volume items for which we will
receive information regularly where we will find the
price breaks at different quantity levels. (nuts & bolts)
• Standard RFQ:
– It is used for items which are used only once not
regularly. It also includes price breaks at the different
qty. levels. (Furniture)
QUOTATIONS

• Once we send the RFQ to the supplier either by the


mail/Fax we will receive quotations from the suppliers.
• Quotations are again of 3 types
– Bid
– Catalog
– Standard
– For Bid RFQ we will receive the Bid Quotations
– For Catalog RFQ we will receive the Catalog Quotations
– For Standard RFQ we will receive the Standard Quotations
RFQ(Request for Quotations)

• RFQ information will be entered at three levels.


– Header level
– Line level
– Shipment (Bid RFQ)/Price Breaks(Catalog/standard)
– Currency
– Terms
– Price breaks
– Suppliers
– We can generate RFQ No automatically.
TABLES RFQ/QUOTATION/PO
• Select * from po_headers_all where segment1=‘306’
• PKPo_header_id=11905
• Select * from po_lines_all where po_header_id=11905
• PKPo_line_id=12193
• Select * from po_line_locations_all where po_line_id=12913
• PKLine_location_id
• Select * from fnd_currencies
• Select * from ap_terms
• Select * from ap_term_lines
• Select * from hr_locations
• Select * from po_document_types_all
RFQ( Request for quotation)
• Open the RFQ Form
– Select RFQ type at the header level
– Ship_to and bill_to locations
– Enter the item details at line level
• Select the terms button and create terms & conditions.
• Select the price breaks button enter price break details
• Select supplier button
– Enter the supplier details who are going to receive the
RFQ documents.
• Save the transaction.
Terms & Conditions
• Payment terms – Immediate/Installments
• Freight terms – Transportation charges
• Carrier – Transport Name
• Foot on board(FOB) – Responsibility for the
material damage

• Due date -- last date for accepting the RFQ document


• Close date– RFQ Close date where company will decide
the better quotation.
• Ship to location– where supplier need to send the material.
• Bill to location -- where supplier need to send the bill.
QUOTATIONS

• Open the quotations form


– Enter the quotation details by selecting quote type,
supplier, supplier site and so on
– Type_lookup_code=‘quotation/RFQ/PO’
PURCHASE ORDERS

• PO will be created after receiving the quotation


based on the quote analysis
• Depends on the requirement management will take
the decision. We have 4 types of Pos
– Standard
– Planned
– Blanket Agrement
– Contract Agrement
TYPES OF PURCHASE ORDERS

Property Standard Planned Blanket Contract


Terms& Conditions known Y Y Y Y
Goods/Services known Y Y Y N
Pricing Known Y Y May be N
Quantity Known Y Y N N
A/C Distribution Known Y Y N N
Delivery schedule Known Y May be N N
Can be encumbered Y Y N N
Can encumber releases N/A Y Y N/A

1-117 Copyright © Seshadri_Auropro, 2009. All rights reserved.


TYPES OF PURCHASE ORDERS

• Standard Purchase Orders: You generally create


standard purchase orders for one-time purchase
of various items. You create standard purchase
orders when you know the details of the goods or
services you require, estimated costs, quantities,
delivery schedules, and accounting distributions.
• Suggested Use: Choose a standard purchase
order when you require vendor commitment to
specific items/services, quantities and delivery
schedules, but a long-term agreement is not
appropriate.
TYPES OF PURCHASE ORDERS
• Blanket Purchase Agreements: You create blanket purchase
agreements when you know the detail of the goods or
services you plan to buy from a specific supplier in a period,
but you do not yet know the detail of your delivery
schedules. You can use blanket purchase agreements to
specify negotiated prices for your items before actually
purchasing them. Blanket purchase agreements can be
created for a single organization or to be shared by different
business units of your organization (global agreements).
Much organization it is sometimes called as "standing
order" or an "open order".
• Suggested Use: Choose a blanket agreement when you've
negotiated volume discounts and want to create releases
against these negotiated volumes, or when you commit to
specific items, quantities or amounts.
TYPES OF PURCHASE ORDERS
• Blanket Releases: You can issue a blanket release
against a blanket purchase agreement to place the actual
order (as long as the release is within the blanket
agreement affectivity dates).
• Contract Purchase Agreements/Order: You create
contract purchase agreements with your suppliers to
agree on specific terms and conditions without indicating
the goods and services that you will be purchasing. You
can later issue standard purchase orders referencing
your contracts.
• Suggested Use : Negotiate pricing on your entire volume
of business. Use a contract to manage terms and
conditions for this type of negotiation; couple it with a
catalog quotation to reference pricing on a per item basis
when you create standard purchase order lines.
TYPES OF PURCHASE ORDERS

• Global Agreements: You may need to negotiate


based on an enterprises' total global purchase
volume to enable centralizing the buying activity
across a broad and sometimes diverse set of
businesses. Using global agreements (a special
type of blanket purchase agreement), buyers can
negotiate enterprise-wide pricing, business by
business, then execute and manage those
agreements in one central shared environment.
Enterprise organizations can then access the
agreement to create purchase orders that leverage
pre-negotiated prices and terms.
TYPES OF PURCHASE ORDERS
• Planned Purchase Orders: A planned purchase order is
a long-term agreement committing to buy items or
services from a single source. You must specify
tentative delivery schedules and all details for goods
or services that you want to buy, including charge
account, quantities, and estimated cost.
– Suggested Use: Choose a planned purchase order when
you want to encumber the order before creating
releases. Also use to provide vendor scheduling for
capacity management while issuing releases to confirm
order commitment.
• Apart from these there are few more types may be
defined as per there industry segment , but more or
less they can be fit into any one of the above mentions
type.
TYPES OF PURCHASE ORDERS

• Purchase Order Types


Oracle Purchasing provides the following purchase
order types: Standard Purchase Order, Planned
Purchase Order, Blanket Purchase Agreement and
Contract Purchase Agreement. You can use the
Document Name field in the Document Types window to
change the names of these documents. For example, if
you enter Regular Purchase Order in the Document
Name field for the Standard Purchase Order type, your
choices in the Type field in the Purchase Orders
window will be Regular Purchase Order, Planned
Purchase Order, Blanket Purchase Agreement and
Contract Purchase Agreement
TYPES OF PURCHASE ORDERS

• Standard Purchase Orders


You generally create standard purchase orders for
one–time purchase of various items. You create
standard purchase orders when you know the
details of the goods or services you require,
estimated costs, quantities, delivery schedules,
and accounting distributions. If you use
encumbrance accounting, the purchase order may
be encumbered since the required information is
known
TYPES OF PURCHASE ORDERS
• Blanket Purchase Agreements (BPA)
You create blanket purchase agreements when you
know the detail of the goods or services you plan to
buy from a specific supplier in a period, but you do not
yet know the detail of your delivery schedules. You can
use blanket purchase agreements to specify negotiated
prices for your items before actually purchasing them.
BPA are widely used in product manufacturing
companies.
• You can issue a blanket release against a blanket
purchase agreement to place the actual order (as long
as the release is within the blanket agreement
effectivety dates). If you use encumbrance accounting,
you can encumber each release
TYPES OF PURCHASE ORDERS

• Contract Purchase Agreements


You create contract purchase agreements with
your suppliers to agree on specific terms and
conditions without indicating the goods and
services that you will be purchasing. You can later
issue standard purchase orders referencing your
contracts, and you can encumber these purchase
orders if you use encumbrance accounting
TYPES OF PURCHASE ORDERS
• Planned Purchase Order
You create a planned purchase order when you want to
establish a long term agreement with a single source supplier
with a commitment to buy goods or services. Planned
purchase orders include tentative delivery schedules and
accounting distributions. You then create scheduled releases
against the planned purchase order to actually order the
goods or services.
• A planned purchase order is a type of purchase order you
issue before you order actual delivery of goods and services
for specific dates and locations. A scheduled release is
issued against a planned purchase order to place the actual
order. You can also change the accounting distributions on
each release and the system will reverse the encumbrance for
the planned purchase order and create a new encumbrance
for the release
TYPES OF PURCHASE ORDERS
• Standard purchase orders:
– While creating the standard purchase orders we
will specify the item,price,quantity,delivery
schedule and so on.
• Planned purchase orders:
– While creating the planned purchase orders we will
specify the item,quantity but the delivery schedule
may or may not be there.
• Blanket purchase orders:
– Company will have the agreement with the supplier
for a specific item(s) and agreed amount. Whenever
the company requires they will release the
agreement
TYPES OF PURCHASE ORDERS

• Contract Purchase Orders:


– Contract purchase order is also like the blanket
agreement but the items will not be specified.
Company could be purchased any item from the
supplier which are available with them.
BLANKET PURCHASE ORDER
• Open the PO Form
– Create PO by selecting PO type as Blanket
– Enter the agreed amount
– Enter the line level details
– Click on approve button.
– Once blanket po is approved it goes to the releases form
• Go to releases form and enter po no system
automatically gives you the supplier and release details
– Enter the information at line level
– Select the distribution button and enter the dist details
– Save the transactions and click approve for approval
• Select the agreement button to findout the agreement
totals and release total amount
MATCH APPROVAL OPTION

• While creating the PO at the shipment level in the


more tab we will specify the ‘Match approval option’.
As per the selected option receipt and invoice will be
generated.
– 2 – Way POInvoice
– 3 – Way POReceiptInvoice
– 4 – Way POReceiptInspectionInvoice
Types of Receipts

• Direct delivery  2-Way


• Standard  3-Way
• Inspection revision  4-Way
• Autocreate:
– Autocreate process will be useful in generating the
RFQ Doc/PO Doc automatically instead of the
manual option.
– Once the requisition is approved we take the
requisition number by using the ‘autocreate’ option
we will select the RFQ/PO.
Reports From Purchasing
• Po number Po type
• Supplier Bill to
• Ship to Line number
• Item Item desc
• UOM Quantity
• Price Line total
• Parameters
– From po number
– To po number
– Title of the report
Reports From Purchasing

• Requisition number requisition date


• Requisition type line number
• Item item description
• UOM Quantity
• Requestor Buyer
• Parameters
– From date
– To date
– Title
– Item
PL/SQL Procedure Registration

• ERRBUF:
– ERRBUF will be used to get the error messages
into the log file if any error occurs inside the
procedure body.
• RETCODE:
– This will give the status of the concurrent program
either 0/1/2
– 0 Normal
– 1 Warning
– 2 Error
Registration Steps

• Develop the procedure and compile at the SQL Prompt.


• Connect to the application and create executable by
selecting the execution method as PL/SQL Stored
Procedure.
• Create the concurrent program and attach the
executable,parameters,incompatabilities(if any).
• Add concurrent program to the request group.
• Add request group to the responsibility.
• Responsibility will be added to the user so that user
can submit the request from SRS window.
• SRS-Standard Request Submission
PL/SQL Procedure Registration

• Create or replace procedure test1(errbuf out


varchar2,retcode out varchar2) as
• l_no number(10) default 1341;
• l_name varchar2(100) default 'Mr.Arun';
• begin
• fnd_file.put_line(fnd_file.output,'output file:'||l_no);
• fnd_file.put_line(fnd_file.output,'output file:'||l_name);
• end test1;
• /
• Create or replace procedure vendor_org(
errbuf out varchar2,
• retcode out varchar2,
• v_id in number,
• v_name in varchar2) as
• l_no number(5);
• l_name varchar2(100);
• begin
• select vendor_id into l_no from po_vendors where
vendor_id=v_id;
• if (l_no is not null ) then
• Update po_vendors set vendor_name=v_name where
vendor_id=v_id;
• Commit;
• Else
• Fnd_file.put_line(fnd_file.output,'vendor id not found');
• end if;
• end vendor_org;
PL/SQL Procedure Registration

• End vendor_update;
• In the PL/SQL stored procedures we don’t use the
tokens.
SPECIAL AND PAIRED
• Special and pair value sets provide a mechanism to
allow a "flexfield-within-a-flexfield". These value sets
are primarily used for Standard Report Submission
parameters. You do not generally use these value sets
for normal flexfield segments.
• For example, you can define validation routines to
provide another flexfield as a value set for a single
segment
• To provide a range flexfield as a value set for a pair of
segments.
• Trial Balance - Summary 1
• GL_SRS_PAGEBREAK_RANGES
• Chart of Accounts - Detail Listing
• Gl_SRS_FROM_ACCOUNT
VALUE SETS

• Transalatable Independent & Transalatable


Dependent will be used for Multi language
Installations to convert from one language to
another language.
• The navigation for Creating Value Set is:
• Application Developer
• ->Application
• ->Validation
• ->Set
VALUE SETS APIs

• APIs to create value set


The FND_FLEX_VAL_API package can be used to
create different types of value sets.
* VALUESET_EXISTS - To check if value set exists
* DELETE_VALUESET - To delete value set. The
value set can only be deleted if it is not being
referenced by any program or entity.
* CREATE_VALUESET_NONE
* CREATE_VALUESET_INDEPENDENT
* CREATE_VALUESET_DEPENDENT
* CREATE_VALUESET_TABLE
* CREATE_VALUESET_SPECIAL
* CREATE_VALUESET_PAIR
VALUE SETS TABLES

• What are the oracle tables that store value set


information?
* FND_FLEX_VALUE_SETS
* FND_ID_FLEX_SEGMENTS
* FND_FLEX_VALUE
* FND_FLEX_VALIDATION_EVENTS
* FND_FLEX_VALUE_RULE_LINES
* FND_FLEX_VALUE_RULE
* FND_FLEX_VALUE_RULE_USAGE
* FND_FLEX_VALIDATION_TABLES
Overview of User

• Who has permission to log-in to the application.


• Default user name and the password are
– User Name: OPERATIONS
– Password : WELCOME
Overview of Responsibility
• Responsibility is a group of form, reports and
program user can access.
• One user can have many responsibilities
• Security Responsibility Define
Overview of Menu Group

• Menu: Group of forms user can access. Menu can


have forms from many applications.
• Navigation:
– Application
– Menu
Overview of Request Group

• Request Group: It talks about which programs and


reports user should access.
• You can add programs from different applications.
• Navigation: Security Responsibility Request
Overview of Basic Navigations and
Features
• Expand/Collapse Buttons:
– Double ++ To Expand all sublevels
– Single + To Expand all child sublevels
– Double -- To collapse all sublevels
– Single - To collapse all child sublevels
• Creating shortcut to frequently using forms:
– You can copy the most frequently used forms to
navigation top 10 list allocated on the right hand
side of navigation window. By typing the top ten list
number to open that form.
Overview of Basic Navigations and
Features
• Title Bar
• Menu
• Tool Bar
• Window Title
• Mandatory field
• Optional field

• Display

• Message Line
Overview of Basic Navigations and
Features
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1. Create new record 9. Cut


2. Find any record 10.Copy
3. Go to navigation screen 11.Paste
4. Save record 12.Clear record
5. To find next step 13.Delete
6. Switch responsibility 14.Edit
7. Print form 15.Attachment
8. Close form 16.Help
Overview of Basic Navigations and
Features
• You can see the history of the form from help menu.
This is called who information.Created by,creation
date,updated by,updated date and updated login.
• Help Record History
Overview of some Commands
• There are some short cut keys in the application
which are very useful working with the application
• F11 --To get the form to query mode
• Ctrl+F11 --To execute the query
• Navigation to get more keys
– Help Key board help
Concurrent program submit and monitor

• Overview of concurrent program


• Some definitions
• Request submission
• Features of SRS window
• Features of request find window
• Features of request monitor window
• Monitoring request
Overview of concurrent program

• Every request group contains reports and


programs that are related to different modules
• A report generates a summary or details
presentation of oracle application information,
where as a program can perform a funation.
• The reports and programs you have access to are
defined by responsibility you use.
• Concurrent processing and standard request
submission to help you run the reports programs
that are a part of your responsibility.
Overview of concurrent program

• Concurrent processing implies ability to run non-


interactive ,data dependent functions such as a
report or programs simultaneously with online
operations
• Standard request submission works with
concurrent processing and provides a common
interface for running oracle applications reports
and programs
• With concurrent processing you can complete
non-interactive tasks without interfering with the
interactive work you perform at your computer.
Some definitions

• Concurrent program
– A concurrent program is a program that does not
require continued interaction on your part to
perform a specific task
• Concurrent Request
– A concurrent request is a request that you can
submit to run a concurrent program as con

• Concurrent program
Default Types in Conc. Program

• Constant:
– It we want to pass constant no or string as the
default value then we will select default type as
constant and we will enter value.
• SQL Statement:
– If we want to pass the SQL statement result as the
default value then we will select this SQL statement
and we will write the select statement in the default
value field.
• Segment:
– By using this segment we can assign previous
parameter value to the next parameter.
Default Types in Conc. Program

• Profile:
– By using this default type we can pass user profiles
value as the default value like
– Userid,responsibility name,org id,user name

• Range:
– Range option will restrict the user without entering
the descending value in from and to parameters.
14
CONCURRENT PROGRAM
REGISTRATION

Copyright © Oracle Corporation, 2001. All rights


Registering concurrent program

By using the fnd_program we can register the concurrent


program from back end.
fnd_program.executable
fnd_program.register
fnd_program.add_parameter
fnd_program.delete_parameter
fnd_program.record_group
Submitting concurrent program from back end
Registering concurrent program

• procedure FND_PROGRAM.EXECUTABLE
(executable IN VARCHAR2,
application IN VARCHAR2,
description IN VARCHAR2 DEFAULT NULL,
execution_method IN VARCHAR2,
execution_file_name IN VARCHAR2 DEFAULT NULL,
subroutine_name IN VARCHAR2 DEFAULT NULL,
icon_name IN VARCHAR2 DEFAULT NULL,
language_code IN VARCHAR2 DEFAULT 'US');

SELECT * FROM FND_LOOKUPS WHERE


LOOKUP_TYPE='CP_EXECUTION_METHOD_CODE‘;
• executable Name of executable (for example,‘ASSPOVEN')
• application The short name of the executable's application,
• description Optional description of the executable.
• execution_ method The type of program the executable uses.
• execution_ file_name The operating system name of the file.
Required for all but Immediate programs. This file name
should not include spaces or periods unless the file is a
PL/SQL stored procedure. .
• subroutine_name Used only by Immediate programs. Cannot
contain spaces or periods.
• icon_name Reserved for future use by internal developers
only. Specify NULL.
• language_code Language code for the name and description,
for example, 'US'.
• BEGIN
fnd_program.executable('APLVENINF1'
, 'APL'
, 'APLVENINF1'
, 'Executable for Migrating Employee'
, 'Oracle Reports'
, 'APLVENINF'
, ''
, ''
, 'US'
, '');
END;
BEGIN
FND_PROGRAM.EXECUTABLE(
EXECUTABLE=>'APLEMPDT',
APPLICATION=>'APL',
SHORT_NAME=>'APLEMPDT',
DESCRIPTION=>'APL EMPLOYEE INFORMATION REPORT',
EXECUTION_METHOD=>'Oracle Reports',
EXECUTION_FILE_NAME=>'APLEMPDTL',
SUBROUTINE_NAME=>NULL,
ICON_NAME=>NULL,
LANGUAGE_CODE=>'US',
EXECUTION_FILE_PATH=>NULL);
END;
FND_PROGRAM.DELETE_EXECUTABLE

• Procedure FND_PROGRAM.DELETE_EXECUTABLE
(executable IN varchar2,application IN varchar2);
• Arguments (input)
• executable The short name of the executable to
delete.
• application The short name of the executable's
application, for example 'FND'.
• BEGIN
FND_PROGRAM.DELETE_EXECUTABLE
('APLVENINF' ,'APL');
END;
Registering the Concurrent program
• procedure FND_PROGRAM.REGISTER
(program IN VARCHAR2,
application IN VARCHAR2,
enabled IN VARCHAR2,
short_name IN VARCHAR2,
description IN VARCHAR2 DEFAULT NULL,
executable_name IN VARCHAR2,
executable_application IN VARCHAR2,
execution_options IN VARCHAR2 DEFAULT NULL,
priority IN NUMBER DEFAULT NULL,
save_output IN VARCHAR2 DEFAULT 'Y',
print IN VARCHAR2 DEFAULT 'Y',
cols IN NUMBER DEFAULT NULL,
rows IN NUMBER DEFAULT NULL,
style IN VARCHAR2 DEFAULT NULL,
style_required IN VARCHAR2 DEFAULT 'N',
printer IN VARCHAR2 DEFAULT NULL,
request_type IN VARCHAR2 DEFAULT NULL,
request_type_application IN VARCHAR2 DEFAULT
NULL,
use_in_srs IN VARCHAR2 DEFAULT 'N',
allow_disabled_values IN VARCHAR2 DEFAULT
'N',
run_alone IN VARCHAR2 DEFAULT 'N',
output_type IN VARCHAR2 DEFAULT 'TEXT',
enable_trace IN VARCHAR2 DEFAULT 'N',
restart IN VARCHAR2 DEFAULT 'Y',
nls_compliant IN VARCHAR2 DEFAULT 'N',
icon_name IN VARCHAR2 DEFAULT NULL,
language_code IN VARCHAR2 DEFAULT 'US'
mls_function_short_name IN VARCHAR2,
mls_function_application IN VARCHAR2,
incrementor IN VARCHAR2);
• BEGIN
FND_PROGRAM.register (‘APLVENINF’ -- program
, 'APL' -- application
, 'Y' -- enabled
, 'APLVENIN' -- short_name
, ‘APL Vendor information' -- description
, 'APLVENINF' -- executable_short_name
, 'APL' -- executable_application
, '' -- execution_options
, '' -- priority
, 'Y' -- save_output
, 'Y' – print
, '' – cols
, '' -- rows
, '' -- style
, 'N' -- style_required
, '' -- printer
, '' -- request_type
, '' -- request_type_application
, 'Y' -- use_in_srs
, 'N' -- allow_disabled_values
, 'N' -- run_alone
, 'TEXT' -- output_type
, 'N' -- enable_trace
, 'Y' -- restart
, 'Y' -- nls_compliant
, '' -- icon_name
, 'US'); -- language_code
END;
• BEGIN
fnd_program.REGISTER (program => 'APL VENDOR’,
application => 'PO',
enabled => 'Y',
short_name => 'APLVENIN',
description => NULL,
executable_short_name=> 'APLVENINF',
executable_application => 'APL',
execution_options => NULL,
priority => NULL,
save_output => 'Y',
PRINT => 'Y',
cols => NULL,
ROWS => NULL,
style => 'Portrait',
style_required => 'N',
printer => NULL,
request_type =>
NULL,
request_type_application => NULL,
use_in_srs => 'Y',
allow_disabled_values => 'N',
run_alone => 'N',
output_type => 'TEXT',
enable_trace => 'N',
restart => 'Y',
nls_compliant => 'Y',
icon_name => NULL,
language_code => 'US',
mls_function_short_name => NULL,
mls_function_application => NULL,
incrementor => NULL,
refresh_portlet => NULL);
END;
Attaching the concurrent program to the request
group

• BEGIN
fnd_program.add_to_group
(program_short_name => 'APLVENIN',
program_application => 'PO',
request_group =>'APL_CWH_REPORTS',
group_application => 'APL');
END;
Submit the Concurrent Program from Backend

• Submit Program is the Function. where. we need


to pass the Application name, Program, stage etc.
• function FND_SUBMIT.SUBMIT_PROGRAM
(application IN varchar2,
program IN varchar2,
stage IN varchar2,
argument1,...argument100)
return boolean;
declare
x_request_id number(10);
begin
x_request_id:=fnd_request.submit_request('PO',
'APLVENINF', '', '', FALSE, 'APLVENINF', '', chr(0),
'','','','','','','','','','','',
'','','','','','','','','','','',
'','','','','','','','','','','',
'','','','','','','','','','','',
'','','','','','','','','','','',
'','','','','','','','','','','',
'','','','','','','','','','','',
'','','','','','','','','','','',
'','','','','','','','','');
COMMIT;
IF X_REQUEST_ID = 0 THEN
FND_FILE.PUT_LINE(FND_FILE.LOG,'PROGRAM
NOT SUCCESSFULLY SUBMTEED');
ELSE
FND_FILE.PUT_LINE(FND_FILE.LOG,'PROGRAM
SUCCESSFULLY SUBMTEED');
END IF;
EXCEPTION
WHEN OTHERS THEN
FND_FILE.PUT_LINE(FND_FILE.LOG,'PROGRAM
SUCCESSFULLY SUBMTEED');
END;
Scheduling the concurrent program

• We can schedule the concurrent program for the


future dates at SRS window by selecting the
schedule button.
• We will find four options
– As Soon as Possible
– Once
– Periodically
– On Specific Days
• Once:
– We can submit the concurrent program only once
for the future data
Scheduling the concurrent program

• Periodically:
– we can submit the concurrent program multiple
times for the specified no.of hours ,mins and so on
• On specific days:
– We can submit the concurrent program on the
specific days by selecting the days in the month
• We can save this schedule by checking the check
box called ‘save this schedule’
• Later we can apply same schedule for the other
concurrent programs by selecting the button
called ‘apply a saved schedule’.
PROFILES
• A profile is a set of changeable options that affects the
way you application run.AOL establishes a value for
each option in user's profile when the user log on or
change responsibility. user can change the value of
profile options at any time
• We have 4 levels of Profiles
– Site
– Application
– Responsibility
– User
• Site:
– Site is the lowest user profile. It will affect for all
application users. And when we install the application
profile will be set at site level automatically.
PROFILES
• Application Level:
– This option level values will affect for the particular
application who are going to select the application
– If user is having both access to site and application
level .application will overwrite site level
• Responsibility Level:
– If we set the profile value as responsiblity that will
applicable to the users who r having access to the specific
responsiblity. If user having access to site application
responsibility then responsiblity will overwrite the site
application
• User Level:
– User is top most level. If we set profile value as user. If
user having access to site,application,responsibility,user
then user will overwirte site applcation responsibility
PROFILES

• Note: Site is the lowest level.This will be overwritten


by the application values,responsibility values and all
of them can be overwritten by user level values.
• You can find all the profile values in the application
developer responsibilty
• You can set the profile values in the system
administrator responsibility.
• Mo:Operating Unit (Or) ORG_ID
• GL:Set of Books
• HR:business Group
• USER_NAME
PROFILES

• USER_ID
• RESP_ID
• For every responsibility we will assign the profile
value of MO:Operating Unit.Based on this profile
the application will findout the user operating unit
value(Branch).
• If we are not assign the profile value it will take it
from the site level.
PROFILES

• Fnd_profile.value(‘profilename’)
• Fnd_profile.get(‘profile name’,local variable);
• Fnd_profile.put(‘profile name’,profile value)
PROFILES
• A profile is a set of changeable options that affects the
way you application run.AOL establishes a value for each
option in user's profile when the user log on or change
responsibility. user can change the value of profile
options at any time.
we different types of profile levels they are
• 1) site
• 2) application
• 3) responsibility
• 4) user levels
• Here user is the highest level of the hierarchy followed by
responsibility ,application and at lowest level site. Higher
level option values override lower level option values.
PROFILES
PROFILES
• Site : if we set the profile at site level that will
applicable all the users.
• Application : If we set the profile value as
application it will applicable to the user who r
having access to that specific application. if user
is having both access to site and application level.
application will overwrite site level.
• Responsibility : If we set the profile value as
responsibility that will applicable to the users who
r having access to the specific responsibility.
if user having access to site application
responsibility. then responsibility will overwrite the
site application.
PROFILES
• User : User is top most level.
If we set profile value as user. If user having
access to site application responsibility user. then
user will overwrite site application responsibility.
• There are profile options which can turn the debugging
on, to generate debug messages. Say one of 1000 users
reports a problem, and hence you wish to enable
debugging against just that specific user. In this case you
can “Turn On” the debugging profile option "again that
specific user".
• There are profile options that control which user can give
discount to their customers at the time of data entry. You
can set profile option "Discount Allowed" to a value of
either Yes or No against each Order Entry user.
• Lets assume an Organization has department D1 and D2.
Managers of both the Departments have "HRMS
Employee View" responsibility. But you do not want
Manager of D2 to be able to see the list of Employees in
Organization D1. Hence you can set a profile option
against the username of each of these users. The value
assigned to such profile option will be "Name of the
Organization" for which they can see the employees.
NON EDITABLE PROFILE OPTIONS
NON EDITABLE PROFILE OPTIONS
NON EDITABLE PROFILE OPTIONS
PROFILE OPTIONS
PROFILE OPTIONS
PROFILE OPTIONS
14
FLEX FIELDS

Copyright © Oracle Corporation, 2001. All rights


FLEX FIELDS
• They are more flexible than the normal fields. It will be
used to capture the extra information and the key
information.
• We have two types flex fields.
– Descriptive Flexfields
– Key Flexfields
• DFF: DFF will be used to capture extra information from
the user without customizing the (.fmb) and altering the
database tables.
• While working with DFF we will use the columns called
attribute1,attribute2…. Attribute15
• We can define maximum DFFs across the application.
FLEX FIELDS
• KFF:KFF will be used to capture the key information
which will be in code language. For every code there will
be a specific meaning.
• We will use the segment columns to capture the KFF
information. We can only customize the existing KFF and
we are not suppose to create a new KFF.
DFF CUSTOMIZATION
• Find out the DFF by using database table name.
From Help Record History or
HelpDiagnosticsExamineEnter Password
Block$DESCRIPTIVE_FLEXFIELD$
Field <DFF Name>
ValueThe value field displays the DFF Name.
Copy the Title go to application developer Resp.
• Open the DFF Form
– Flex FieldDescriptiveRegisterQuery the DFF
based on the title
• Go to the ‘Columns’ form query the records based
on the title. Uncheck the checkbox called ‘Freeze
Flexfield Definition’.
DFF CUSTOMIZATION
• Select the segments button enter the field details, enter
the attribute name and save the transactions and check
the check box called ‘Freeze Flexfield Definition’.
• Select the compile button system will submit the
concurrent program to generate flexfield view.
• Go to forms and verify the DFF.
Attaching the values to the DFF
• We create the value set in the system administrator
and attach the value set to the DFF at the time of
segment creation.
• We can also pass the default values to the DFF Fields
by selecting “open Button’ in the ‘segments’ form.
• Select the default type either constant,profile,segment
and pass the default value.
• We can also use range option to accept ascending
order values.
• We can delete the DFF fields instead of deletion we can
disable the fields by un checking the enabled check
boxes. Whenever we require we check the check that.
• We can hide/display the DFF field by using Displayed
check box, if we are hiding we need to pass defaults.
Context Field
• In DFF if we want to maintain multiple structures
we use the context field by specifying context
values and as well as structures.
DIFFERENCE B/N DFF AND KFF
KEY FLEX FIELD DESCRIPTIVE FLEX FIELD
used to store the key information used to store any additional related
about an organization information.
values are stored in Segment descriptive flexfield values are
columns stored in the Attribute columns
non-updatable and mostly have Descriptive Flexfield are updatable
only restricted values as input
do not have any context sensitive Descriptive flexfields can be made
segments into context sensitive fields
Key Flexfields are the mandatory descriptive flexfields are not
fields mandatory by default but can be
made mandatory

1-202 Copyright © Seshadri_Auropro, 2009. All rights reserved.


KEY FLEX FIELDS
FLEX FIELDS
• Oracle flex fields is one of the most important parts of
Oracle Applications. It is because of the flex fields that
the Oracle Applications is so generic in nature and can
be used to suit any industry or organization. A flexfield,
as the name suggests, is a flexible data field that your
organization can customize to your business needs
without programming. A flexfield is a field made up of
sub–fields, or segments. While flexfields do not require
programming, they do allow you to perform significant
customizations to the Oracle Applications, so they do
require enough explanation for you to get the most out of
the features they provide.
KFF PROCESS
• Call the user exit from before report trigger
– SRW.USER_EXIT(‘FND SRWINIT’);
• Call another user exit from after report trigger
– SRW.USER_EXIT(‘FND SRWEXIT’);
• Define the following parameters
– P_CONC_REQUEST_ID
– P_STRUCT_NUM
– P_FLEXDATA
– Segment1||’\n’|| Segment2’||’\n’|| Segment3…. Segment30
• Call another user exit from before report trigger
– SRW.USER_EXIT(‘FND FLEXSQL’) as follows
SRW.REFERENCE(:P_STRUCT_NUM);
SRW.USER_EXIT('FND FLEXSQL
CODE="GL#"
NUM=":P_STRUCT_NUM"
APPL_SHORT_NAME="SQLGL"
OUTPUT=":P_FLEXDATA"
MODE="SELECT"
DISPLAY="ALL"');
Define the query as follows
SELECT &P_FLEX_DATA
FROM KFF_TABLE
WHERE KFF_STRUCTURE_COLUMN=:P_STRUCT_NUM
• Define the formula column and call another user exit from that.
:CP_FLEXFIELD :=null;
:CP_FLEXFIELD_PAD := null;
srw.reference (:C_FLEXDATA);
srw.reference (:P_STRUCT_NUM);
srw.user_exit ('FND FLEXIDVAL CODE="GL#"
NUM=":P_STRUCT_NUM"
APPL_SHORT_NAME="SQLGL"
DATA=":C_FLEXDATA"
VALUE=":CP_FLEXFIELD“

PADDED_VALUE=":CP_FLEXFIELD_PAD"
DESCRIPTION=":CP_FLEXDESC"
DISPLAY="ALL“
IDISPLAY="ALL"');
RETURN(:CP_FLEXFIELD);
14
MULTI ORG

Copyright © Oracle Corporation, 2001. All rights


MULTIORG
• Multi org is nothing but under single implementation
maintaining multiple organizations like business
group ,set of books, legal entities, operating units and
inventory organizations.
• MultiOrg means different operating Units .
MultiOrg or Multiple Organizations Architecture allows
multiple operating units and their relationships to be
defined within a single installation of Oracle
Applications. This keeps each operating unit's
transaction data separate and secure.
• Use a single installation of any Oracle Applications
product to support any number of organizations, even
if those organizations use different sets of books.
Is an important feature --several reasons
• Allows multiple sets of books and multiple legal entities
to be configured and to operate in the same instance.
• Provides support for data security between business
units within a single applications installation.
• Permits users to sell and ship products from different
legal entities (in different sets of books) with automatic
intercompany accounting.
• Supports internal requisitions and purchasing/receiving
products from different inventory organizations (within
the same set of books).
• Enables an enterprise to be housed in one database
instance of Oracle, spanning multiple countries,
currencies, and legal entities without a reduction in
response times (architecture-related).
Is an important feature --several reasons
• Multiple Organizations Reporting enhances the reporting
capabilities of Oracle Applications products by allowing
you to report at the: Set of Books level, Legal entity level
or Operating unit level.
• Multiple Organization in Oracle Applications depends
primarily on defining your organizational structure in the
multi-level hierarchy used by Oracle Applications. The
levels are:
• Business groups
• Sets of books
• Legal entities
• Operating units
• Inventory organizations
Multi Org Structure
Multi Org Structure
• 1.Business Group (Which dealt with HRMS Module) It is
the Highest level in the ORG structure.
• Multiple sets of books can share the same business
group if they share the same business group attributes,
including HR flex-field structures (Grade, positions flex-
fields etc).
• 2.Set of Books: A set of books (SOB) is a financial
reporting entity that shares the three Cs: Currency,
Calendar, chart of accounts (accounting flex field
structure),
• 3.Legal entities: A legal entity represents a legal company
for which you prepare fiscal or tax reports.You assign tax
identifiers and other legal entity information to these
types of organizations. Separate Legal Entities may share
same set of Books.
Multi Org Structure
• 4.Operating units: An operating unit represents an
organization that uses any Oracle subledger application,
for example, Order Management, Payables. It may be a
sales office, a division, or a department. An operating
unit is associated with a legal entity. Information is
secured by operating unit for these applications. Each
user sees information only for their operating unit.
Responsibilities are linked to a specific operating unit by
the MO: Operating Unit profile option.
• 5.Inventory organizations: An inventory organization
represents an organization for which you track inventory
transactions and balances, and manufactures or
distributes products. Examples include manufacturing
plants, warehouses, distribution centers and sales
offices.
Multi Org Structure

• 6.Sub inventories are logical separations of material


inventory such as raw material, finished goods and
defective material. Material in an organization is held in
Sub inventory, so we need to define sub inventories for
an organization.
• 7.Stock Locators: It represents the smallest physical
location in the oracle applications that allows you to
stock and track your materials.
Multi Org Structure
• Multi org Tables:
– PO_HEADERS_ALL
– PO_LINES_ALL
– AP_INVOICES_ALL ORG_ID/_ALL
– AP_CHECKS_ALL
• Multi org Views:
– You can find some tables without “_ALL”
– For each multi org table there will be multi org
views.
– Through view u can see only one org_id’s data.
Multi Org Structure
• Multi org tables: In oracle applications if the table
name ends with “_ALL” then it’s a multi org table.
It consists of multi organizations data separated
by the column called “ORG_ID”. The ORG_ID will
be populated internally based on the user profile
called “MO:Opearating Unit”.
• Whenever user gets login into the system the
system will verify and capture the profile value
called MO:Opearating Unit (ORG_ID).
• CLIENT_INFO:
– This is one of the RDBMS variable captures user
org_id value.
Multi Org Structure

• Multi Org Views: Multi org view is created based on the


multi org tables including the where clause (where
org_id=client_info).
• When we are going to develop any RICE components in
oracle apps we will use multi org views instead of multi
org tables.
• If we are using multi org table we will get all the
organizations data where as with multi org views we can
get only the data relating to one organization.
• Multi org view is like a multi org table name without
having ‘_ALL’. For every multi table there will be a multi
org view.
Setting the Org Context
SELECT MULTI_ORG_FLAG FROM ND_PRODUCT_GROUPS

SELECT * FROM PO_HEADERS


BEGIN
DBMS_APPLICATION_INFO.SET_CLIENT_INFO(83 );
END;

BEGIN
FND_CLIENT_INFO.SET_ORG_CONTEXT(82 );
END;
Multi Org Structure
• HelpDiagnosticsExamine
• Enter the apps password(APPS)
• Select the block as ‘$PROFILES$’
• Field as ‘org_id’
• we will get the value of the org_id in value field
• Organization is defined in HRMS
– HRMS
– Work Structures
– Organization
– description

• Set of Books will be defined in GL


– SetupFinancialsBooksDefine
14
INTERFACES

Copyright © Oracle Corporation, 2001. All rights


INTERFACE
• Interface is a PL/SQL program used to transfer the
data from one location to another location.
– Table to File
– File to Table
• We have 2 types of interfaces
– Inbound Interface
– Open interface
– Custom interface
– Outbound Interface
• Examples:
– ICICI BANK
– FOXPRO  Oracle apps
– Vodafone
– SAP Oracle Apps
INTERFACES
• Interface is one of the program it will be used to transfer
the data from the legacy system into the oracle apps or
oracle apps to the legacy system
• Legacy system is the another application which is using by
the client.
– Eg: FoxPro, Main Frames, SAP…..
• Outbound Interface:
– Develop a program to extract the data from base
tables and transfer it into another legacy system.
– UTL_Package:Transfer the data from file to table as
well as table to file.
OUTBOUND INTERFACE
• Select * from v$parameter where name like’ utl_file_dir’
• UTL_FILE.Fopen:
– To open an existing file
– To create a new file
• UTL_FILE.Put_line:
– Transfer the data into a file
• UTL_FILE.Fclose:
– To close the file
Create or replace procedure APL_SUPP_OUTBOUND
(Errbuf out varchar2, retcode out varchar2) as
Cursor C1 is
select segment1,vendor_name,creation_date
From po_vendors;
L_id utl_file.file_type;
Begin
L_id:=Utl_File.fopen ('/usr/tmp' ,'supp_out.txt' ,'A');
For c2 in c1 Loop
Utl_file.put_line(L_id,c2.segment1||''||
c2.vendor_name||''||
c2.creation_date);
End Loop;
Utl_File.Fclose(L_id);
End APL_SUPP_OUTBOUND;
Exception Name Description
INVALID_PATH File location is invalid.
INVALID_MODE The open_mode parameter in FOPEN is invalid.
INVALID_FILEHANDLE File handle is invalid
INVALID_OPERATION File couldn’t be opened or operated on as requested
READ_ERROR Operating system error occurred during the read operation
WRITE_ERROR Operating system error occurred during the write
operation
INTERNAL_ERROR Unspecified PL/SQL error
CHARSETMISMATCH A file is opened using FOPEN_NCHAR, but later I/O
operations use nonchar functions such
as PUTF or GET_LINE
FILE_OPEN The requested operation failed because the file is open
INVALID_MAXLINESIZE The MAX_LINESIZE value for FOPEN() is invalid; it
should be within the range 1 to 32767
INVALID_FILENAME The filename parameter is invalid.
ACCESS_DENIED Permission to access to the file location is denied

1-230 Copyright © Seshadri_Auropro, 2009. All rights reserved.


INVALID_OFFSET The ABSOLUTE_OFFSET parameter for FSEEK() is
invalid; it should be greater than 0 and less than the
total number of bytes in the file.
DELETE_FAILED The requested file delete operation failed.
RENAME_FAILED The requested file rename operation failed.

Procedures in UTL_FILE can also raise predefined PL/SQL exceptions


such as NO_DATA_FOUND or VALUE_ERROR.

1-231 Copyright © Seshadri_Auropro, 2009. All rights reserved.

You might also like