Sunteți pe pagina 1din 336

ORACLE APPLICATIONS TECHNICAL

It is one of the ERPs


ERP = Enterprise Resource Planning
Enterprise = Business. It involves following transactions
1)
2)
3)
4)
5)
6)

Buying
Manufacturing
Selling
Payments
Receiving
Balancing

Life Cycle of Business

Stores

Raw Material

Manufacturing

Finished Goods &


Semi Finished Goods

Purchase

Payments

Shipping

Production

Quality Control

Assembling

Receiving

Costing

Customers

Marketing & Sales

Accounts

Human Resources
Employees Payroll
Bank Transactions

Recruiting Employees

Assets

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

1) Development of New ERP :


It may be developed by using software such as C, C++, Java, .Net, Oracle and etc.
Development of new ERP involves high risk i.e complete SDLC is to be followed.
It Involves Complete SDLC such as 1)Gathering Specs, 2) System Analysis 3) Designing
4) Architecture 5) Development 6) Testing 7) Sign Off
Disadvantage in Development of New ERP
1) Time taken ( long time )
2) Project Cost is an expensive
3) Vendor Dependent ( Supplier )
4) Weather it may be succeeded or failed
5) Lot of Resources are required
6) Enhancement of the project
7) Chance of raising lot of Bugs.
8) Not is to maintain the project.
2) Existing ERP
Eg : Oracle Apps and SAP
Oracle Apps from the Oracle Corp.
SAP form SAP Labs
Development is not necessary.
Simply purchasing, Simple modifications ( Customization ), Enhancement and Implementation
Advantages
1) Time will be reduced
2) Minimization of Cost.
3) Vendor independent.
4) Already Successfully implemented.
5) Much enhancements and modifications not necessary
6) Enhancement and Maintenance will be look after by the Supplier ( vendor)
7) Minimization of Resources.
With an existing ERPs 60 to 70 % of time will be reduced.
Only 30 to 40 % modifications are required to implement the existing ERP.
Generally any industry will spend only 10% of their turnover on the software.
Hence clients will prefer the exiting ERPs.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Existing ERPs in the Market

1) SAP 2) Oracle Apps, 3) Seibel 4) People Soft 5) JD Edwards 6) Baan


SAP Best suitable for Manufacturing
Oracle Apps Best suitable for Financials
SEIBEL Best suitable for CRM ( Customer Relationship Management )
People Soft Best suitable for HRMS ( Human Resources Management System )
JD Edwards Best suitable for Manufacturing, Operations and Sales.
Baan Best suitable for Manufacturing
Recently the ERPs such as SEIBEL, People Soft, and JD Edwards were adapted by the ORACLE Corp and
Developed as Oracle Fusion.
Hence with oracle apps we can handle the Financials, CRM, HRMS and Manufacturing
Comparison between SAP and Oracle Apps
SAP

ORACLE APPS

1) SAP is suitable for Manufacturing Modules

1) ORACLE APPS suitable for Financials, CRM,


HRMS

2) SAP uses the Oracle database and uses the


Sun Soft servers.

2) Its Own Data base. Since Sun micro system has


been taken over by Oracle Corp, Sun servers
can be used directly.

3) Client has to depend on the No.of Vendors.

3) Oracle Corp is responsible for all and need not


to depend on No.of vendors.

4) Implementation cost is more

4) Implementation cost is less

5) Resources expensive

5) Resources are economic

6) Only Large Scale industries can afford

6) Small Scale Industries can also afford

7) Not Easy to develop and maintain the


applications

7)Easy to develop and maintain the applications

8) It is an old ERP and having no. of customers

8) New ERP having less No.of customers.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Life Cycle of Business

Stores

Raw Material

Manufacturing

Finished Goods &


Semi Finished Goods

Purchase
Shipping

Payments

Production

Quality Control

Assembling
Costing

Customers

Receiving

Marketing & Sales

Accounts

Human Resources
Employees Payroll

Recruiting Employees

Bank Transactions
Assets

The above transactions will be maintained by the ORACLE Apps ERP, with Integration between the Modules.
Integration of Oracle Apps Modules

INV

P.O

WIP
Q.A

A.P
BOM
CM

A.R

OM

FPT
G.L

FA
PAY

HRMS

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

1) PO ( Purchase Order )

Purchasing

2) INV (Inventory )

Stores , Raw Material , Finished & Semi Finished ,

3) WIP ( Work In Process )

Manufacturing, Production, Assembling

4) QA ( Quality Assurance )

Quality Control

5) BOM ( Bills Of Material )

Costing & Pricing

6) OM ( Order Management )

Marketing & Sales , Customers, Shipping

7) AR ( Account Receivable )

Receivings

8) CE ( Cash Entry )

Accounts

9) AP ( Account Payable)

Payments

10) GL ( General Ledger )

Balancing

11) FA ( Fixed Assets )

Assets

12) FPT ( Financial Point of Transaction )

Bank Transaction

13) HRMS ( Human Resources Management System )

Recruitments

14) PAY ( Payrolls )

Payrolls

Product : it is for the public usage eg: O/S, ERPs, and packages.
Project : it is for the specific client
Types of Project :
1) Implementation Project :
Data migration from Legacy system to Oracle Application
Legacy it is other than Oracle Apps such as BANN, Main Frame, Java and etc
Newly development projects are also called as Implementation Project
2) Support Project :
Providing support to already implementing project
Resolving Functional issues and Technical issues
3) Migration Project :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

It is a moving data from Older version Oracle Apps to New Version of Oracle Apps
4) Up Gradation Project :
Adding new modules to existing Oracle application to obtain new features
Project Process:
1) Requirement Gathering Sr. F.C
2) Preparing the Setup documents How the client is going to use different modules such PO, AP, AR, GL
and etc Sr. F.C
3) GAP Analysis Analyzing gap between existing Oracle ERP and Client requirement, Use of RICE Object
By the Solution Architect
4) Preparing Functional Requirement Documents ( MD050) by Jr. F.C
This will be sent to client for approval
5) Preparing Technical Requirement Document ( MD070) by the T.C and it will be sent Technical Lead
( T.L ) for review After review by the T.L it will be sent client.
6) Creating Development Instance and Providing Access to Developers by the DBA
7) Code development by the Jr. and Cr. T.C s
8) Creating Test Instance and Providing Access to Testers by the DBA
9) Testing testing the functionality of the application. By the F.C and T.C
10) Creating Production Instance and Providing Access to Testers by the DBA
11) System Integration Test Integration of different Modules by the both F.C and T.C
12) Creating Quality Instance and Providing Access to Testers by the DBA
13) Performance Testing
14) User Acceptance at On site
15) GO LIVE
16) Supporting / Maintenance
Documents used in the development of Oracle Application
AIM ( Application Implementation Methodology ) Documentation
1) MD020 ( Methodology document ) HLD ( High Level Document )
It will be prepared by Solution Architect
2) BR030 or BR100 Setup document ( Business Requirement )
It will be prepared by Sr. F.C

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

3) MD050 Functional Design Document


It will be prepared by the Jr. F.C
4) MD070 Technical Design Document
It will be prepared by T.C
5) MD120 Migration Document ( instance moving from phase to another phase )
It will be prepared by DBA
6) UTD Unit Test Document or TE040
7) CV040 Conversion Functional Design Document
It will be prepared by Functional Consultant
8) CV060 Conversion Technical Design Document
It will be prepared by Technical Consultant
9) CR Document ( support ), Change Request
It will be prepared by the Technical Consultant
Migration Documents are of two types

1) Installation Process : Installation stages are four 1) development 2) testing 3) production and 4) Quality.
When A form or a report is moving form one instance to other instance, after it has been developed, its all
associated components are also to be moved. It will be done by the DBA.

2) Execution Process: It will be developed by the Technical Consultant. It has to be developed by specifying
the logic implemented and functionality of an application.
CR Document :
It tells about the request made by the client, It could be minor changes such as some fields are to be added /
deleted to the existing form or may be deletion of procedure.
To implement any Oracle ERP the following Human Resources are required.
1)

DBA ( Database Administrator )

2)

Functional Consultant

3)

Technical Consultant

The ratio between Functional Consultant and Technical Consultant is 1 : 4


The No.of DBAs depends the servers using in the Application development.
Role of Data Base Administrator
1) Installing the oracle Application
2) Define the securities
3) Provide the user access to the front end and back end of the application
4) Database Support/ cleaning / back ups
5) Applying patches ( Scripts )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Scripts are provided by the Oracle Corporation


Eg: bug fixing, additional support. ( www.metalinks.oracle.com is a contact site to fix the bugs )
6) Define multiple instances ( Development, Testing, Quality, Production ( client test ) )
Role of Functional consultant
1) Interaction with the client
2) Gathering specs from the client for development / customization
3) Should explain about the product to the client
Ex: Financial, Manufacturing, CRM, HRMS.
As is document present feature of the product
To be document the features, which will be implemented in the future
4) Testing of the product
Functional consultant is the real tester for the ERP applications
Should not be tested by using automation tools. It is a purely manual testing.
5) Define the setups
Ex: report generation ( inr India, Dollar US )
6) Preparation of Functional Design Document
While interacting with the client,
if task is concerned to DBA, then he should introduce the DBA to the client,
if task is concerned to Technical Consultant, then he should introduce the Technical Consultant to the client,
Function consultant must have following skills
a) Expertise in Domino knowledge ( field working )
b) High communication skills
c) Presentation skills
d) Documentation skills
e) Leader ship quality
f) Interaction with new people
Role of Technical Consultant
1) Receives the document ( FDD ) form the Functional consultant
2) Should go through the document thoroughly
3) Analyze the FDD
4) Prepare the Technical Design Document ( TDD )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Ex : Tables, procedures, Forms, Reports, SQL Queries, PL/SQL Coding, Logic and functionality of
particular module
These document are :Procedure / Function level, 2) From Level, 3) Report Level, 4) Unit Level 5)
Module Level 5) Project level.
5) Development of Components / Objects
6) Testing the Components / Objects
7) Deliver the object to Testing Department
8) Support the testers
9) Interaction with DBA, Functional Consultant and some times with client.
Types of Objects used in the Oracle Apps
The objects/components, which are involved in Oracle apps are
1) RICE Components and 2) Functional Components
RICE Components are

R Reports
I

=== Reports 6i

Interfaces === SQL, PL/SQL and other Programs

C Conversions

= SQL, PL/SQL and other Programs

E Extensions

= Forms 6i

During an Implementation development of RICE components involves:


1. Creation of Reports that are not available as standard reports in the oracle apps modules.
2. Creation of the Interfaces to external systems.
3. Creation of Conversion programs to transfer data from a legacy system to the new system.
4. Enhancements (or extensions) to the existing system to add additional functionality to existing system without
disturbing the core software functionality of the system.
Functional Components are

1) P 2 P Cycle
2) O 2 C Cycle
P 2 P Cycle == PO AP CM GL

INV
INV
O 2 C Cycle == OM AR CM GL
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

Software used in development of Oracle Application


1) SQL

2) PL/SQL

3) FORMS6i

5) XML Publisher with MS Word

6) UNIX

4) REPORTS6i
7) JAVA

Versions of Oracle Application


10.7

Standalone
11.0.3,

11i

11.5.3, 4, 5, 6, 7, 8, 9,
11.5.10, 11.5.10.2
12.0.0

Release 12
( R -12 )

Fusion

12.1.1
12.1.2
12.1.3
12.1.4
Future release

Standard Version is 11.5.10


Modules provided by the Oracle Apps
Application is combination of Front and Back
Front end is Forms, Reports, Programs
Back end is tables, views
Oracle Apps has been developed with around 260 modules.
Dept of the Company is called as Module in Oracle Applications

Oracle Applications

Finance

SCM

CRM

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

HRMS

10

Oracle Financial Module


It provides the following
1) Oracle Payable (or) Account Payable ( A.P ) Forms, Reports, Programs
Ex: payment for today/next day/ next week/ next month/nest quarter and etc
2) Oracle Receivables (or) Account Receivables ( A.R )
3) Oracle Cash Management ( CE = Cash Entry ) Cheques and Cash ( Bank Statement of the company )
4) Oracle Assets (or) Fixed Assets ( FA)
Registration
where abouts of the assets
responsible person
Insurance
Tax payments
5) General Ledger ( GL) : it is a main module of Oracle Apps
It is a balance sheet of the company
6) Financial Statement Generated Report ( FSG )
7) Oracle financial Service ( OFS )
8) Project Account ( P.A )
9) . Around 25 modules provided by the oracle financials
2) SCM ( Supply Chain Management ):
Also called as Distributions
Distribution:
1) Purchasing

2) Stores

3) Sales

Manufacturing:

1)
2)
3)
4)
5)

Bill Of Material What is the raw Material is required


Production
Quality
Planning
Costing
6) Pricing

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

11

3) CRM :
1)
2)
3)
4)
5)

Service Request Dept


Service Receiving
Field Service
Service Updates
Install base ( updating service request )

All the above are under the customer care


HRMS ( Human Resources Management System )
1) Recruiting
2) Core H.R ( Structure of the organization )
3) Payroll Module ( Employees Salaries ) UK Payrolls, US Payrolls, Indian Payrolls
4) Self Service H.R ( SSHR)
Employee information such as change of address, loans, leaves and etc
5)

Oracle Advanced Benefits ( OAB )

6) Oracle Time and Labor ( OTL ) -- ( over time by the employees )


7) Oracle Training Module

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

12

Application Architectures
Single Tier Architecture :
Data and Application will be running in the same memory. Application and Data both are on the same system.
Eg:

C / Java / .Net Applications working files

Two Tier Architecture :


Data is in one memory and Application is in another memory. Application and Data both can be on the same system
or different systems in a network.
Eg:
D2k Form / Reports/ Java Console Application / VB Forms ( Any Desktop Application )

Client / User Tier ( Desktop App )


D2k Form/
Report/ Java
Console
Application/
C-Program/
VB Form

Database Tier

Request

Response

Database

Three Tier Architecture :


It is a Web Application. Web Application can be Java / .Net / Oracle Applications or any other application working
with Application Servers.

Client Tier
HTTP Request

WEB
CLIENT

Application - Tier
Application
Components

Database - Tier

Request

Servlet / JSP/
Oracle
Application
Response
Forms, JSP
Pages
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

Data Base

13

HTTP Response

Four Tier / Multi-Tier Architecture :


It is an Enterprise Application.

Client Tier

Application - Tier

Middle - Tier

Database Tier

HTTP Request
Application
Components
WEB
CLIENT
HTTP Response

Servlet / JSP/
Oracle
Application
Forms, JSP
Pages

Request
Request
Middleware

Response

Data Base

Response

Middleware :
Java EJB Components are used as Middleware Components.
Some Middleware Components can be Distributed.
If Application Tier and Middle-Tier are on the Same system, then it is called as Enterprise Application.
If multiple Middleware components are running on different systems in a network, then it is called as distributed
application.

Oracle Applications architecture


Oracle Applications architecture is a framework for multi-tiered, distributed computing, that supports Oracle
Applications products. In this model, various services are distributed among multiple levels, or tiers.
User Tier

Application Tier
Request

Browsers
based
Web Client

Response

AP | AR | GL | INV
Front End Object
Forms and Reports
JSP Pages

Database Tier
Request

Response

Tables Views
Packages
Procedures
Functions

SERVICE
A Service is a process or group of processes running on a single machine that provides a particular
functionality. The HTTP service, for example, is a process that listens for and processes HTTP requests, and the
Forms service is a process that listens for and processes requests for Oracle Forms.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

14

TIER
A tier is a grouping of services, potentially across physical machines.
desktop tier, which provides the user interface display. Only the presentation layer of Oracle Applications is on the
desktop tier in the form of a plug-in to a standard Internet browser.
The application tier, which manages Oracle Applications and other tools;
The tiers that, manages the Oracle database is a Database-Tier;

Clients are generally windows


Application and Data base on Linux/Sun Solaris

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

15

The Desktop Tier


The client interface is provided through HTML for the Self-Service interface, and a Java applet for the
professional, forms-based interface using a Java-enabled Web browser. The desktop client with Oracle JInitiator
downloads the applet on demand and the applet is cached locally for future use.

Forms Client Applet


The forms client applet is a general-purpose presentation applet that supports all Oracle Applications
forms-based products, including those with customizations and extensions. The Forms client applet is packaged as
Java archive (JAR) files. The JAR files contain all Java classes required to run the presentation layer of Oracle
Applications forms. The Forms client applet and commonly used JAR files are downloaded from the Web server at
the beginning of the clients first session. Other less commonly used JAR files are downloaded as needed. The JAR
files remain in the disk cache on the desktop, ready for future sessions, minimizing network traffic. All updates are
installed on the application tier and downloaded to the client automatically through the use of the JInitiator-enabled
Web browser.

Oracle JInitiator
The forms client applet must run within a Java Virtual Machine (JVM) on the desktop. For Oracle
Applications, the JVM is supplied by Oracle JInitiator. Oracle JInitiator works in conjunction with the Web browser.
It is implemented on the desktop client as a plug-in (Netscape Communicator/ Mozilla Browser) or ActiveX
component (Microsoft Internet Explorer). When a user enters the desired Oracle Applications signon URL within

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

16

the Web browser, Oracle JInitiator is executed. If Oracle JInitiator has not been installed, the Web browser prompts
the user to download the necessary installation executable to the desktop client. Once installed, Oracle JInitiator
runs the Forms client applet and starts an Oracle Applications session.

The Application Tier


The application tier hosts the servers that process the business logic and provides the communication
between the desktop tier and the database tier. This tier is also referred to as the middle tier. Oracle 9 i Application
Server (9iAS) provides the technology stack used on the application tier. Six servers comprise the application tier
for Oracle Applications:
Web server
Forms server
Concurrent Processing server
Reports server
Discoverer server
Admin server

Load Balancing
The application tier supports load balancing among many of its servers to provide higher availability, fault
tolerance, reliability, and optimal scalability. Load balancing occurs when there are multiple installations of the
following:
Web server
Forms server
Reports server
Concurrent Processing server
Discoverer server

The Database Tier


The database tier contains the database server, which stores all the data maintained by Oracle Applications.
It also contains some processing code that is stored in the database to optimize performance. In Release 11 i, the
database includes the Oracle Applications online help information as well. More specifically, the database tier
contains the Oracle data server files and Oracle Applications database executables that physically store the tables,
indexes, and other database objects for your system. In general, the database server does not communicate directly

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

17

with the desktop clients, but rather with the servers on the application tier, which mediate the communications
between the database server and the client.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

18

Oracle Apps file Architecture


APPL_TOP

CUS_TOP

PO_TOP

11.5.0

11.5.0

forms

reports

US

US

sql

INV_TOP

WIP_TOP

11.5.0

11.5.0

plsql

admin

include

bin

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

lib

GL_TOP

AR_TOP

11.5.0

11.5.0

java

Log

out

driver

19

Applications Directory and File Types


Subdirectory
Name
Forms

Reports

Description
Contains Oracle Forms generated runtime (.fmx) files (Oracle Forms form files).
Contains Oracle Reports .rdf files for each product, which are platform-specific binary report files.
Reports for each language are stored in subdirectories of the reports directory.

Sql

Contains SQL*Plus scripts used to upgrade data, and .pkh, .pkb, and .pls scripts to create PL/SQL
stored procedures.

Plsql

Location where .pll files (PL/SQL library files for Oracle Reports) are unloaded, later in the
installation they are moved to the plsql subdirectory in the AU_TOP directory.
Contains output files for concurrent programs:
.mgr (master log file for concurrent manager)

log and out

.req (log file for a concurrent process)


Note: Log and out subdirectories under a product directory are
not used if you set up a common directory for log and output
files (except in FND_TOP).

Forms display messages at the bottom of the screen and in popup boxes. Concurrent programs also
Mesg

print messages in the log and output files. These messages are translated and stored in message files
separate from the forms and concurrent programs. This directory contains the .msb files (binary
message files used at runtime), and language-specific message files (such as a US.msb file for
American English and a D.msb file for German.)
PROD_TOP/admin contains files used by Auto Upgrade to upgrade each product. Note that this

Admin

directory is not the APPL_TOP/admin directory. The APPL_TOP/admin directory contains upgraderelated files for all products. This PROD_TOP/admin directory contains product-specific upgrade
files.

Bin
Driver

Contains concurrent program


Contains .drv files (driver files). Auto Upgrade processes in several phases, and each phase is
controlled by a driver file.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

20

Import

Contains DataMerge files used to upgrade seed data.

Odf

Contains object description files (.odf files) used to create tables


and other database objects.

Help

Contains the online help source files. Within this directory are subdirectories for each language you
choose to install.

Html

HTML, Javascript, and Java Serve Page files, primarily for Self-Service Applications products.

Include

Contains C language header (.h) files that my be linked with files in the lib directory. Not all
products require this directory.
Contains files used to relink concurrent programs with the Oracle server libraries.
These files include:
object files (.o) with compiled code specific to one of the products programs;

Lib

a library file (.a) with compiled code common to the products programs;
a makefile (.mk) that specifies how to link executables.
Contains JAR files (Java Archive files) and Java dependency files. Copies of JAR files are also

Java

located in JAVA_TOP.

Media

The desktop client displays text and graphics from the .gif files
in this directory.

Patch

Updates to the data or data model use this directory to store the patch files.

resource

Contains .pll files (PL/SQL library files for Oracle Forms),


which, like the plsql directory files, are later copied to AU_TOP.

Custom Top :
This module is to support customer new requirements other than provided by oracle Corp. Custom Top is used
to create the customer ( client ) own forms / reports / or other data base objects as per the requirement of the customer. It
will be created by the customer. DBA is the responsible to create this module. At least on custom top is required for
every client. Multiple custom tops can also be created as per the demand.
Client need not to develop the modules such AP, PO, INV, AR, GL and etc. These will be provide by the oracle
corp. If any customer developed the database objects like forms/reports/ or any other objects inside the modules
provided by the Oracle Corp., these will be over written when the patches are applied to the oracle application.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

21

Custom Top module can be uploaded and down loaded from the server where as other modules can only be
down loaded from the server but can not be uploaded to the server.
US folder :
This folder is a language specific. Default language is American English. Regional languages such as Japanese,
German, Hindi, Chinese and etc can be used for better under standing of the end users. This folder is applicable only for
Forms and Reports as they contain G.U.I components.
To display the available languages use the following query.
Select * from FND_LANGUAGES
Select * from FND_LANGUAGES where installed_flag in (B, D);
B Base languages, D Disabled languages, I Installed languages.
11.5.0 folder : It depends version of Oracle Application.
Functional consultant must have the clear idea about the version of the Oracle Application and its features
Most of the applications are being developed with 11.5.0 and R-12.
Oracle Database Architecture
The compatibility of version :
Apps 9i / 11i Database 9i
Apps R-12 Database 10 G ( minimum )

The basic things which are required in development of Oracle apps


1) Schema

2) Synonym

Schema

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

22

Schema is an area in the oracle database, where we can create database objects. One schema or more than one
schema can be created in one database as per the client requirement.
Schema contains database objects such as Tables, procedures, functions, triggers, views, indexes, synonyms, packages.
One schema is required for every module.
Synonym is an alternative name for any database object.
If any user logged into any schema he can access concerned objects only. He can not have the access to other schema
objects. To other schemas user must have privileges.
Eg:
There are two schemas called X and Y . if user logged into schema X then he can access the objects of
schema X only . He can not have the access to Schema Y. If user wants access the Schema Y, then user must be granted
permissions by the Schema Y.
There is no integration between schemas. To integrate the all schemas in a database oracle provides Apps
Schema.
APPS schema:
Oracle provides Apps Schema, which enable the user to access all schemas in a database. Apps schema integrate
all the schemas in a database.
The APPS schema has access to the complete Oracle E-Business Suite datamodel. It is analogous to the
SYSTEM schema, which has access to the entire database. Oracle Applications responsibilities connect to an APPS
schema and the environment variable FNDNAM is set to the name of the APPS schema.
APPS schema contains only synonyms to the database objects in other schemas. Every object in the base
product schema will have a synonym in the APPS schema.

APPS and Base Product Schemas


There is one schema for each producta base product schemathat owns the data objects for that product.
There is one schemaAPPSthat owns all the code objects for the E-Business Suite and has access to all data objects.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

23

There is one APPS schema for every product installation group. The following code objects are installed in the APPS
schema:
Views
Packages
Procedures
Functions
Triggers
The following objects are installed in the base product schemas:
Tables
Sequences
Indexes
Constraints
In addition, there are grants from the tables and sequences to the APPS schema, as well as synonyms from the APPS
schema to those objects.
Integration of base product schema by using APPS schema

PO
Schem
a
AP
Schem
a
Apps
Schem
a

INV
Schem
a

AR
Schem
a

HRMS
Schem
a

Ex: Item information Report


Item Details

Supplier Details

Name of the Employee


who received the item

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Issued Cheque No

24

Item

details

obtained

will

form

be Supplier

details

the obtained

form the supplier

inventory table

table

( Inventory Schema )

( P.O Shcema )

will

be

Employee details will be Cheque

details

will

be

obtained from emp table

obtained form cheque table

( HRMS schema )

( A.P Schema )

We have to select the data from four tables. Apps Schema provides corresponding synonym for every table in
other Schemas, so as to enable the user to access the data from tables of different schemas.
Eg:
A.P Schema is having 50 objects
P.O Schema is having 100 objects
INV schema is having 100 objects
A.R Schema is having 50 objects
HRMS Schema is having 100 objects
Then apps Schema will maintain 350 ( A.P + P.O + INV + A.R + HRMS ) synonyms.
For convenient name of the synonym and database object will be the same.
Select * form emp, item, supplier where
emp, item, supplier are synonyms available in the Apps Schema
Emp HRMS.emp,

item INV.item,

supplierPO.supplier ,

Difference between Apps Schema and base product schemas


Apps Schema
1) It will not maintain any data

Base Product Schemas


1) It will maintain data in the form of tables

2) only synonyms and few of Multi Org views

2) all Database Objects

3) User will always be connected to Apps schema

3) User will never be connected. Some times may be


connected to particular schema only.

4) Apps is having grants to other schemas

4) Do not have the grants.

In development of oracle applications, we use 95 % DML and TCL commands and 5 % DDL commands.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

25

If customer want to add own custom schema, then we have create the custom schema and grant the privileges to Apps
schema. It is a job of DBA. The Technical consultant must have idea of all important tables, which are used in the
application.
Connection to Apps Schema
User id : apps
Password : apps
SID

: vis

Sql > conn apps/apps@vis


Sql > select count (*) from tab;
62561
Sql > conn po/po@vis;
Sql > select count (*) from tab;
124
Sql > conn ap/ap@vis;
Sql > select count (*) from tab;
213
Sql> desc AP_CHECKS_ALL;
Sql> conn apps/apps@vis
Sql> desc AP_CHECKS_ALL;
Utilities used in the development of Oracle Application are 1) TOAD 2) FTP 3) Win SCP

Application Object Library ( AOL )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

26

Application : It is a combination of development and customization


Object : These are developed and customized objects
Library : It is a registry
AOL is a key where we are going to complete Technical and Functional aspects.
It involves two aspects
1) System Administrator
2) Application Developer
System Administrator :
Creation of users
Security Groups
Responsibility
Profiles
Programs
Application Developer :
Forms
Reports
Menus
Form function
Messages
Application
Tables
These are object registry by the application developer
Creation of a user

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

27

1) Start Browser for login : http://apps.ora.com:8000


User Name : operations
Password : welcome

2) System Administrator ( single click ) ( left side pane )

3) Go to right side pane


Security : User
Define ( click )
4) Users form

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

28

User Name : mnaro10


Password : xxxxxx ( at least 5 chars )
( re-enter password ) ( it shows on the status bar of the form )
Description : any one ( purpose of user ) ( is an optional )
Responsibility

Application

Application developer
System Administrator

Description Security Group

Application object library


Application object library

From

To

Sysdate Auto

Place the cursor in the responsibility cell and click ( right side )
Find : appl%

enter key and select application developer , then OK

Place the cursor in the responsibility next row and click ( right side )
Find : system administrator %

enter key and select application developer, then OK

Save the form ( save button )


Status bar shows that : Transaction complete : 3 records applied and saved.
Close the form
5) Checking for User

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

29

1st way
Go to Oracle Application Home for checking weather the user created or not
Security : user
Define
Users form : press f11 to query
When pressed F11, users forms enters into the query mode
User Name : mnrao% and Ctrl + F11 , it shows user details
2nd way
Using query
Select * from FND_USER ;
Using Toad Utility :
User name : apps
Password : apps
Database : vis
Click on Connect
Go to editor then execute following query ( Ctrl + Enter to execute query )
Select * from FND_USER where trunc(creation_date)=trunk(sysdate)
Creation of one more user
Users form:
New button ( + ) ( 1st one on the tool bar with green color )
Repeat the above procedure and save it.
For checking users form : F11 to get into query mode,
User Name : mnrao% : Ctrl + F11 it queries for the users starting with user
Down arrow key display the users one by one .
Find button : ( 2nd one in the tool bar )
To display users
Click and find : user % ( enter key )
Close Form : to close the form
Clear form : to clear the current form
Delete : this will be in the disabled position, to disable the user set effective dates
From :
To :
Set the To date same as the form date.
Significance of colors in the form

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

30

1) Yellow color mandatory field


2) White Optional
3) Gray read only ( it is not a navigable item )
Finding Table Name
Go to users form F11 query the user ( user name : ctrl + F11 )
After getting user details go to Help menu Record History
It shows as below
Created By: OPERATIONS
Creation Date: 04-MAR-2011 17:24:42
Table Name: FND_USER
Updated By: OPERATIONS
Update Date: 04-MAR-2011 17:24:42
The above details will be obtained from the Table called FND_USER
Column names
Help diagnostics examine
Block : USER
Filed : USER_NAME, to see the more fields click at right side, it shows all the columns in the table
(or)
using toad utility we can query the fields
Select * from FND_USER
Value : mnrao10
To find the current login user
Help about application
Oracle Applications
Copyright (c) 2004 Oracle Corporation,
Redwood Shores, California.
All Rights Reserved.
Site : UNKNOWN

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

31

Application : System Administration


Responsibility : System Administrator
Security Group : Standard
User Name : OPERATIONS
User Login:
1) Logout form the administrator
Go to home page and logout
2) User Name : mnrao10
Password : xxxx
For the fist login, it will be prompted for
Current Password :
New password : we should change password for security purpose
Re-Enter new password:
Types of executables :
These are programs
Oracle Application supports 12 types of languages
Older version supports only 11 languages
Apps 11i version supports 12 languages.
1) Oracle Reports

.rdf

2) Sql * Plus

.sql

3) PL/SQL Procedures

.proc

4) Sql * Loader

.ctl

5) Unix shell script

.sh

6) C Language

.C

7) Pro - C

.prc

8) Java Programs

.java

9) Java Serve Pages (OAF) .jsp


10) PERL scripting

.perl

11) Java Server Faces(ADF) .JSF

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

32

Once the above programs have been transferred to oracle application, then these are called as concurrent programs.
concurrent program : Instance of executable file along with input parameters and incompatible programs.
Development of sample report and Move to oracle apps and execution
Report Registration Steps:
1) Develop the report (.rdf) as per client requirement by using Reports 6i Builder
2) Move the report from the local machine in to the server
a. CUS_TOP\11.5.0\reports\US .rdf (or)
b. PO_TOP\11.5.0\reports\US .rdf
3) Select System Administrator
a. Create Executable
b. Executable name
c. Application Name
d. Execution Method
e. Report (.rdf) file name
4) Create Concurrent Program and attach
a. Executable
b. Parameters
c. Incompatibilities
5) Create Request group and attach Concurrent Programe
6) Create Responsibility
a. Request Group Collection of Concurrent Programs
b. Data Group Collection of User IDs
c. Menu Collection of forms
7) Create user attach Responsibility to the user
8) Switch responsibility and go to SRS (Standard Request Submission)
window submit the request
Executable => Concurrent Program => Request Group => User=> SRS

Development and execution of Sample Report


Requirement :
First Page :
Users Information Report
Second Page :
UserId

UserName

CreationDate

Last Page :
Total No.of Users : 2836

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

33

Step 1 : Develop the report using report builder


1) Data Model :
Query : SELECT
USER_ID,
USER_NAME,
CREATION_DATE
FROM FND_USER
Summary Column for total no of users
2 ) Layout Model
Header Section
Main Section
Trailer Section
3) Save and test it ( eg : saved as C:\MyApps\user.rdf )

STEP 2 : Move the report from Local machine into Server

D:\oracle \VIS \apps \apps_st \appl \po \12.0.0 \reports \US


STEP 3: Select System Administrator and create EXECUTABLE
Select System Administrator
Concurrent : Program
Executable

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

34

Executable
Short Name

: user_reports ( name can be any one )


: user_reports ( important it is to be attach with concurrent program in the next step,
executable name )
Application
: purchasing ( click right side and find : pur% )
Description
: purpose of the report as desired by the client
Execution Method : Oracle Report
Execution File Name : user ( name of the file which was developed in the oracle reports )
SAVE THE RECORD ( click on save button )
STEP 4 : Create Concurrent Program and attach EXECUTABLE
Concurrent : Program Define

Program : user_prog ( any name ) ( copy this next step, it will be supplied in the next step for REQUEST
NAME), THE SEME NAME WILL BE ADDED IN THE SUBMITTION REQUEST )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

35

Short Name : It can be any one


Application : purchasing
Description : as desired by the client
Executable :
Name : user_reports ( the short name in the 3rd is to be supplied here ) or click right side will be populated
Method : Oracle report ( automatically )
Output :
Format : PDF ( choose from the list provided )
Save : enable to save the report for the future
Disable if not required for the future
Print : disable as the printing is not required
Style : A4 ( choose from the list provided )
SAVE THE RECORD ( click on save button )
STEP 5: Create Request Group and attach Concurrent Program

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

36

Security : Responsibility
Request
Group : user_group1 ( any name )
Application : purchasing
Code : any one
Description : any one
Request
Type

Name

Applicatio

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

37

Program

user_reports_prog

purchasing ( automatically )

(program name supplied in the 4th step )


SAVE THE RECORD ( click on save button )
Request group is a collection of Concurrent Programs and Reports we can group All concurrent Programs.
STEP 6: Create Responsibility

1)Request Group, 2)Data Group, 3)Menu

Go to application home page.


Security : Responsibility
Define

Responsibility Name

: user_resp ( any name )

Application

: purchasing

Responsibility Key

:any one

Description

: any one

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

38

Data Group
Name

: standard

Application

: purchasing

Request group
Name

: user_group1 ( supplied Group value in the 5th step )

Application

: purchasing

Menu

: Position Control, Vision University ( supply some, which is already existing one )

SAVE THE RECORD ( click on save button )


Responsibility is a Level of Authority which Combines Forms, Report and Application
User ID's.
Eg: ( LG company : clerk, senior clerk, manager, General Manager, Managing Director, CEO )
Data Group is a Collection of Oracle Application UserID's. it will be for Security purpose.(STANDARD will
be used)
Request group is a collection of Concurrent Program add the request group whatever we have created.
it will automatically retrieves the Application Name.
Menu : Menu is a collection of Forms and Sub Menus select any one of Existing Menu.
Note : Once we create the Responsibility we can not delete instead of that we can disable by using Effective
start Date and End date.

STEP7 : attach Responsibility to the user.


Go to application home page
Security : user

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

39

Define
add the responsibility to user
Query for the user ( F11 )
Name : MNRAO

( CTRL + F11)

Responsibility : user_reports_resp ( it is created in the 6th step )


STEP 8 : Select the Responsibility
Click on this and select responsibility

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

40

Click on OK
view menu Request

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

41

Submit New Request ( single request ) OK


Name : user_reports_resp( automatically/select from the list )
Click on submit ( at the bottom )
Submit another request Yes/No No
Click on Find
Click View output : to see the out put
View Log : to see the log details
View details : to see the of the request details such as name the request, date submitted, requestor, date started,
date completed
Diagnostics : it shows as below
This request completed successfully. The request started at 05-MAR-2011 19:47:06 and ended on 05-MAR2011 19:47:23.
Executable:
After moving .rdf in to the server, we will crate executable by specifying execution
name execution method and application name.
Request Set:
Request set is a collection of report / Programs that you group together and can be submitted to run is a
single interaction.
Request Id:
When submit a request oracle application assigns a request id to the request. We can use this request id
to search for request.
Concurrent Manager:
A concurrent manager is a component of concurrent processing that monitors and runs tasks without
typing up your computer.
Refresh Data:
This button will show you the latest status of the concurrent program

Find Request:
This button will take you to request find window
Submit New Request:
This button will take you to SRS window
Diagnostics:
This button will show the completion details of the concurrent program

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

42

Hold Request:
This button will help to hold the running request for same time and period
Cancel Request:
This button will help to stop the running request.
View LOG:
Using this we can see the technical details of the concurrent programs.
View Output:
Using this we can see the actual result data.
Concurrent Program:
After creation of executable we will create concurrent Program by attaching
Executable, if parameters are there we will attach parameter if incompatibility
Programs are there we will add those programs , for single executable we create
Multiple concurrent programs with different parameters.
Request Group:
After creation of concurrent program we must add the program to the request
Group. Request Group is nothing but collection of Concurrent Programs and
Reports.
Responsibility:
It is level of authority where we will combine Data Group, Request Group and
Menu. Request Group is optional, where as menu and data group is mandatory.
Data Group:
Data Group is nothing but collection of applications names and Oracle User
Names based on this Username data will be retrieved from database.
Menu:
Menu is nothing but collection of functions (forms) and submenus.
Value Set:
values set is nothing but list values. It will be used to validate values
while entering the parameters.
Token:
Token is one the field will be used to map concurrent Program
parameters with report builder find variable. We will enter the find variable name
in the toke field so that parameters will be passed to the find variable.
Required check box:
By using this check box we cant make the parameters
mandatory or optional
Enabled Check Box:
By using this we can enable or disable the parameter.
Display Check Box:
By using this we can hide or display the parameters in SRS
Window.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

43

Range Option:
While defining the form and to parameters if we wanted to accept
Values in accession order menus from values is low and to value is high we will
Select the options called low and high.
Default Types:
If we are hiding the parameters user cant enter the values that
Time we can pass default values by using default type and default value filed.
SRS Window Copy Button:
This will be used to find out recent Concurrent
Program list with parameters in SRS Window.
Scheduling:
Using this we can schedule the program to run periodically or on specific time also we coy a schedule for
future.
Scheduling the Concurrent program
We can submit the Concurrent program future date or date by using the schedule button
in SRS window
1. As soon as possible: This is default option whenever we submit the request it
will submit the as soon as possible
2. Once: It will submit the rest only once for future date.
3. Periodically: WE can specify the from_date and to_date to submit program
periodically no of. Days months, hours, minutes and so on.
4. Specific Days: If we want submit concurrent program in the specific days we
write select this option
5. Save this Schedule: This check box will be used to save the schedule and
apply same schedule to other concurrent programs by selecting the button called
Apply save schedule
Print & Notify:
Using this we can notify the concurrent program run details and also control the print option.

*****************************
Application
Responsibility1, Responsibility2, Responsibility3
Responsibility Sharing by users
Responsibility
Combination of 1) Menu Group 2) Request Group

3) Data Group

Menu Group Function1, Function2, Function3


Request Group C.P1, C.P2, C.P3,.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

44

Data Group
Each functions is a form
Form Block1, Block2, Block3,.
Block Filed1, Fileds2, Filed3, Fields Maps to table Columns
Top Ten list navigations as below

Step1: login
Step2: system administrator
Step3: select concurrent : program
Define and close the form
Step4: select the required form the left pane and to top ten list
Eg:
1)

Concurrent : Program
Executable
Click on add

2)

Concurrent : Program
Define
Click on add

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

45

3)

Security : responsibility
Request
Click on add

4)

Security : responsibility
Define
Click on add

5)

Security : user
Define
Click on add

Note : click on one of the option from the LIST for auto navigation

Different Types of Tables in Oracle Apps


1) Interface Tables
2) Base Tables
1) Global Tables
2) Org Specific Tables
3) Language Specific Tables
Interface Tables :
These are intermediate tables between apps base tables and external tables. Oracle Program is used to transfer data
from other tables to Apps Interface tables. Apps interface program is used to transfer data from Interface tables to
Base tables.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

46

Eg:
AP_INVOICE_HEADER_INTERFACE
AP_INVOICE_LINES_INTERFACE
Base Tables :
These are actual tables where the data will be stored. These tables will not be updated from the back end .
A from is dependent on one or more tables.
Eg:
AP_INVOICE_ALL
Based on storage of data, base tables are divided into following
1) Global Tables
2) Org Specific Tables
3) Language Specific Tables
Global Tables :
The data in this tables is not specific to any organization of a business. This data can be shared across all the
organizations of business group.
Eg:

Employs data, Suppliers data, Accounting data, Bank Transactions data

Org specific Tables :


The data stored in this tables are specific to particular organization.
Eg: Invoice Details
Org Specific tables will have ALL as their suffix
AP_INVOICE_ALL
Language Tables :
Apps supports the multiple languages. These tables will maintain the language specific data.
These table will have TL as its suffix
Different Types Columns in a table :
Eg :

MTL_SYSTEM_ITEMS_B

1) Data Columns :
These columns contains base transactional data, which is entered from the apps form.
USER_NAME, DESCRIPTION, EMPLOYEE_ID, EMAIL_ADDRESS
2) Derived Columns :
These are primary key columns. This data will be generated from oracle database sequence.
USER_ID

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

47

3) Who Columns :
These are called as history columns. This data will be gerated automatically by the oracle application form.
These columns are
1) CREATED_BY
2) CREATION_DATE
3) LAST_UPDATED_BY
4) LAST_UPDATE_DATE
5) LAST_UPDATE_LOGIN
Every apps table has the above columns
4) Global Attribute Columns :
These columns will maintain the functionality information, which is provided by the ORACLE Corp.
GLOBAL_ATTRIBUTE1
GLOBAL_ATTRIBUTE2, . 10.
5) Additional Cols :
These columns are used to store the data, which is from additional fields added to the existing form during the
customization of a form.
ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3.. 15
6) Key Columns : These are called as segment columns. Used to maintain the key flex field data.
A field will have subfields
Eg:
Account Num :
COMPANY-COUNTRY-DEPARTMENT-ACCOUNT
LG-IND-SALES-4523
SEGMENT1, SEGMENT2, . SEGMENT20.
Developing one more report and to application and execute
Eg:
Employees information report
EmpId

EmpName

Startdate

1) develop the report


2) transfer form client machine to server machine
3) create executable
4) create concurrent program and attach executable
5) Create Request Group and attach Concurrent Program
6) create responsibility and attach 1)Request Group
2)Data Group
3)Menu
7) add the responsibility to user
8) go to srs execute

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

48

Report with input Parameters


STEP 1: Develop the report with parameters
Requirement:
First Page :
Title from the user input
Second Page :
UserId

UserName

CreationDate

Last Page :
Total Users :
Input parameters are
Enter From Id :
Enter To Id :
Enter Title
1) Create three parameter
P_From : number type (10)
P_To

: number type (10)

P_Title : char (100)


2) Data Model
Query :
SELECT USER_ID,
USER_NAME,
CREATION_DATE
FROM FND_USER
WHERE USER_ID BETWEEN :P_FROM AND :P_TO

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

49

Create Summary column for total count : USER_COUNT


3) Layout model
Header Section : text filed map with P_TITLE
Main Section

: required layout and map the text fields with required fields

Trailer Section : Text Field map with USER_COUNT


4) compile and test the report
5) save in the local machine : file name : user-param.rdf
STEP 2: transfer the file user-param.rdf from local machine to the server
STEP 3 : LOGIN INTO APPLICATION
Create executable file
STEP 4: Create concurrent program and attach the executable
Map the parameters
Click on parameters button ( at the bottom )
Seq

: it is serial number ( unique value )

Parameter

: Enter From Id ( its prompt value )

Description

: as desired (optional)

Value Set

: data type ( 10/number or FND_NUMBER pre-defined )

Token

: P_From ( it is a name of the input parameter in the report for mapping )

Required

: enable mandatory field


Disable optional filed

Range

: low for validation ( lower than other filed value )

STEP 5 : create request group and attach the concurrent program


STEP 6 : create responsibility and attach
Request Group
Data Group

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

50

Menu
STEP 7 : add responsibility to user
STEP 8 : go to srs window
Go to application home
Select the any on the left side pane it shows current responsibility
View request
Submit request

Change in the above report


Lay out Model :
Header Section :
Default Title : if user input is null it should be displayed
Select the label and place on the canvas ( user information report )
Write the trigger ( right click )
PL/SQL Editor :
function B_5FormatTrigger return boolean is
begin
if( :P_TITLE is null )then
return (TRUE);
else
return
false;
end if;
end;
Trailer Section :
Default label : No data found ( it total no.of records are zero )
Select the label and place on the canvas (No data found )
Write the trigger ( right click )
PL/SQL Editor :
function B_6FormatTrigger return boolean is
begin
if ( :USER_COUNT <=0 )THEN
return (TRUE);
else
return false ;
end if ;

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

51

end;
Text field its lable : disable if no records
PL/SQL Editor : ( for both same code )
if ( :USER_COUNT <=0 )THEN
return false;
else
return true ;
end if ;

Again Change in the above report


Using lexical parameters dynamically
If input for both From Id and To Id is null where clause should be obtained dynamically
1) Create lexical parameter : P_WHERE
2)

Query :
SELECT USER_ID,
USER_NAME,
CREATION_DATE
FROM FND_USER
&P_WHERE

Here lexical parameter is not reading form the user. Its value populated dynamically. Hence it is not required to
map with the application parameters
To populate dynamical write PL/CODE in the after parameter form trigger
function AfterPForm return boolean is
begin
if ( :P_FROM is null and :P_TO is null ) then
:P_WHERE:='';
else
:P_WHERE:='where USER_ID between :P_FROM and P_TO';
end if ;
return (TRUE);
end;
CHECKING THE REQUIRED OPTION : enable ( mandatory field )
Go to Create concurrent program parameters enable the fields

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

52

Working with date :


Requirement
Input :
From Date :
To Date :
UserId

UserName

CreationDate

Total Users :
Step1: Develop the report
1) Create Parameters
P_FROM :

Date type : date, input mask : YYYY/MM/DD HH24:MI:SS

P_TO

Date type : date, input mask : YYYY/MM/DD HH24:MI:SS

2) Data Model
Query
SELECT USER_ID,
USER_NAME,
CREATION_DATE
FROM FND_USER
WHERE CREATION_DATE BETWEEN :P_FROM AND :P_TO
create a summary column : TOTAL_COUNT
3) Layout Model
Header Section :
Prepare the required title
Main Section:
UserId

UserName

CreationDate

Trailer Section :
Total Users :
Repeat the other steps such registry and running as explained in the previous examples
Step 5 : while creation of concurrent program :
Parameters :
Pre defined Date value set : FND_STANDARD_DATE
In all the above example we have followed following steps
1) Executable
2) Concurrent Program
3) Request Group
4) Responsibility
5) Users

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

53

6) SRS
Here the question is why not use executable directly with users ?
What is the advantage in using Concurrent program ?
Purpose : single exe can be created with multiple Concurrent Programs
with different input parameters
with different output forms
with different applications
different input parameters
eg:
Client1 requires : only one parameter ( From Date)
Client2 requires : two parameters ( From Date )
( To Date )
different output forms:
eg:
Client1 requires in PDF format
Client2 requires in XML format
Other client requires in excel sheet format
What is the advantage in using Request group ?
To group the multiple programs
What is the advantage in using Responsibility group ?
Menu we can add different menus with different Concurrent Program and Form can also be attached
Request Group : Nothing
Data Group : Nothing
Default Types
1) Constant
2) SQL Statement
3) Segment
4) Current Date
5) Current Time
6) Profile

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

54

Constant
To pass the constant values such as numbers, chars, String , Date.
Enter From Id
Enter To Id
Enter Tile :
Eg:
Enter Tile :
Default Type : constant

Default Value : Users Information Report

SQL Statement
Enter From Id
Enter To Id
Enter Tile :
Enter From Id :
Default Type : sql statement

Default Value : select min(user_id) from fnd_user

The above select query returns user_id : -1, -ve value will not be considered for 10/number, we have to
change data type as 15 char
Enter To Id :
Default Type : sql statement

Default Value : select max(user_id) from fnd_user

Segment :
This is to get previous parameter value to the next parameter
Enter From Id:
Enter To Id :
Default Type: segment
Value Sets :

Default Value : Enter From Id

System provides built-in ( pre-defined ) value sets


Value set is a list of values with validations which will be used to restrict the user without entering the
invalid data in the Parameters
value sets are used in two scenarios.
1)Concurrent Program parameters
2)Flex fields
These are of 8 types of Validation types
1) NONE
2) Dependent
3) Independent
4) Table

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

55

5) Translate dependent
6) Translate Independent
7) Special
8) Pair
Note : the 1st four are mostly used.
All pre-defined are NONE type.
Creation of user defined value sets
These will be created based on some conditions.
1)

NONE type
Eg 1: conditions
1) only digits ( 0-9)
2) Max 4 digits
3) Min Value : 150
4) Max Value : 5600

Steps to create value sets


System Administrator Application validation set

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

56

Value St Nme : CUST_4DIG_NUM


Description : Customized value set for 4 digits number ( as desired )
List of Values : list of values ( we can others such as poplist, long list of values )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

57

pplist if values are <10


list of values 10 to 200
long list of values > 200
Format Type : Number

Maximum Size : 4 ( digits )

Precession : 4

( format Types are


1) Char 2) Date 3) Date Time 4) Number 5) Standard Date 6) Standard Date Time 7) Number )
Numbers only : enable ( 0-9)
Min Value

: 150

( as desired )

Max Value : 5600 ( as desired )

Validation type : None


Note : After define use in the concurrent program, while defining parameters
Eg 2: conditions
5) Max 15 chars
6) Upper
7) If user input is number, it should precede with zeros

Value set name : CUST_15CHARS

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

58

Description : 15 chars text ( as desired )


List of Values : list of values
Format Type : Char

Max Size : 15

( max no.of chars)

Upper Case only : enable ( A-Z)


Validation type : None
Note : After define use with parameters of concurrent program

2)

INDEPENDENT
Independent provides the list of values, user has to select the value from the list
Value set Name : CUST_DEPT_LIST
List Type : List of Values
Format Type : Number

Max Size : 5

Validation Type : Independent


Find By Value : select Value Set
Click on

Name : us_dept_list

find

Entering values
System Administrator Application validation set Values

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

59

Find Value By

Name : CUST_DEPT_LIST

Check Value Set


Select Find

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

60

Enter the values


Supply the desired values in the value column
Value:

Translated Value

Description

10
200
500
Note : The above use with parameters of concurrent program

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

61

3)

DEPENDENT
Provides list of values but depending on another Independent values
Eg:
Country : India City : Hyderabad
Banglore
Chennai
Delhi
Mumbai
Country : USA

City : Dellos
California
Detroit

Country : UK

City : London
Anderson

Report output
First Page:
Employees information
India : Hyderabad
Second Page :
EmpNo EmpName

Salary

Comm

Last Page:
Total Employees : 50
Step1 : create the independent values set ( list = India, US, UK )
System Administrator Application Validation Set
Value Set ( form )
Value Set Name : CUST_COUNTRY
Description : List of Countries ( as desired )
List of values : List of values
Format type : Char

Max Value : 50 ( as desired )

Validation Type : Independent


SAVE THE FORM

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

62

Providing the values :


System Administrator Application Validation Values
Find By Value : Check Value Set
Click on

Name : CUST_COUNTRY

find

Value

Translated Value

INDIA

INDIA

UK

UK

US

US

Description

Enabled

Save the above


Step2 :
Create the dependent values set
Country : India City : Hyderabad
Banglore
Chennai
Delhi
Mumbai
Value Set ( form )
Value Set Name : CUST_CITY
Description : List of cities in a country
List of values : List of values
Format type : Char

Max Value : 50 ( as desired )

Validation Type : dependent

Select Edit Information

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

63

Dependent value set information


Independent value set : CUST_COUNTRY
Dependent Default value : INDIA ( as desired )
Description

: Default value

Providing Values :
Values
Check Value Set
Name : CUST_CITY ( auto )
1) Independent

Value : INDIA ( default,

use down arrow key to list )

Select Find

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

64

Value
Hyderabad, Chennai, Banglore, Delhi, Mubai
SAVE THE FORM

2)

Independent Value :

US

Select Find
Values ( California, Chicago, Detroit )
SAVE THE FORM
3) Independent Value : UK ( London, Anderson )
Use the above dependent and independent value sets in the application.
Note : use the above in Concurrent Program Parameters
4)

Tables : Values will be provided from the database table

5)

Translated Independent and 6) Translated Dependent are to display translation values

7)

Speed and 8) Pairs are to display flex fields data values

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

65

TABLE value set


Defining table type value set
Here values will be obtained from the table ( query )
Eg:

User Name should be obtained from the list

The following should be identified


1) Table Name FND_USER
2) Column Name USER_NAME
3) Data Type

VARCHAR2

4) Size

100

5) Application Name Application Object Library


1) Table Name
System Administrator User Define

After getting above form Query for all users ( Ctrl + F11 ) ) user down arrow key to move to next user.
Place the cursor in the User Name filed go to Help Record History get the Table Name : FND_USER
2) Column Name

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

66

Go to Help Diagnostics Examine Password : apps


Get the Column Name : USER_NAME
3) Data Type
Application Developer Application Database Table
Table Name : FND_USER ( Query for it )

Get the Column Type : VARCHAR2


Width : 100
Application Name : Application Object Library
Creation of Table Value Set
System Administrator Application Validation Set
Value Set Name : CUST_USER_NAMES_TAB
List Type : List of Values
Format Type : Char

Max Size : 100 ( must be less then or equal to size of the column )

Validation Type : Table

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

67

Select

Edit Information

Table Application : Application Object Library

Table Name : FND_USER

Table Columns
Name
Value : USER_NAME
Where/Order by
Select

: USER_NAME LIKE '%USER%'

Test

Save the above and close the form


Working with Stored Procedures and Packages
Stored Procedure :
1) It is sub a program, which contains set of statements.
2) It is a pre-compiled program at server side.
3) It carries three type of parameters, In, Out , InOut
In Parameter to pass the value
Out Parameter to return the value
InOut Prameter to pass as well as to return the value.
4) It can not return the values directly from the stored procedure. It returns the values
through the out parameter or InOut Parameter.

Advantages:
1) We can obtain more performance as it is a precompiled program at server side.
2) Since It will be stored at the server side , it can be shared by multiple clients at time.

Developing and Registering with Oracle Application


1 ) Develop the stored procedure
Syntax :
Create Or Replace Procedure <ProcedureName> (ErrBuff OUT varchar2,
RetCode OUT varchar2,
P1 IN NUMBER,
P2 IN VARCHAR2,
P3 IN DATE) AS
Local variables, Cursor, Collections Declare;
Begin
If statement
For Loop
Procedure Calling

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

68

Fnd_File API will be used instead of DBMS_OUTPUT.Put_Line


FND_FILE.PUT_LINE(Fnd_File.Log ,'Message'||Variable Name);
FND_FILE.PUT_LINE(Fnd_File.Output, 'Message'||Variable Name);
Exception
When Other then
-Exception Statements;
End [ <Procedure Name> ];
ErrBuff : to get the runtime error messages into the log file
RetCode: To get status of the concurrent program
0 Normal termination
1 Warning
2 Error
Eg:
Create or replace procedure test_proc(
ErrBuff out varchar,
RetCode out number) as
l_name varchar2(100):='MNRAO';
begin
FND_FILE.PUT_LINE(Fnd_File.Log , 'Employye name into the log file'|| l_name );
FND_FILE.PUT_LINE(Fnd_File.Output, 'Employye name into the log file '|| l_name );
end;
1) create executable method as PL/SQL Stored Procedure
2) Create concurrent program as PL/SQL Stored Procedure
3) Out put format must be in text format only for PL/SQL Stored Procedure
Repeat the remaining as explained in the previous examples.

Stored Procedure with parameters


Create or replace procedure test_param_proc(
ErrBuff out varchar,
RetCode out number,
V_Id IN number,
V_Name IN varchar ) as
l_id number(2);
begin

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

69

select Vendor_Id into l_id from PO_VENDORS where Vendor_ID=V_ID;


update PO_VENDORS set Vendor_Name = V_name where Vendor_Id=V_Id;
commit;
FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor name has been updated successfully '|| V_Name );
exception
when NO_DATA_FOUND then
FND_FILE.PUT_LINE(Fnd_File. Log, 'Vendor ID does not exits '|| V_Id );
when TOO_MANY_ROWS then
FND_FILE.PUT_LINE(Fnd_File. Log, 'Duplicate Vendor Found '|| V_Id );
when OTHERS then
FND_FILE.PUT_LINE(Fnd_File. Log, 'Other Errors ');
end;
1) create executable method as PL/SQL Stored Procedure
2) Create concurrent program as PL/SQL Stored Procedure
Out put format must be in text format only for PL/SQL Stored Procedure
Parameters
While supplying parameters Token is not necessary, as the parameters will be maintained in sequential
order by the stored procedures.
Repeat the remaining as explained in the previous examples.
Key Flex Fields :
KFF: it will be used to Capture the Key information from the User in code language for every code there will be a
specific meaning. SEGMENT Columns will be used Capture the KFF Data
We can find all the flex field details in Application Developer Responsibility
General Ledger Vision Operations ( USA ) Setup Financials Flexfields Key Segments
CTRL+F11 for all KFF
Down arrow key and select Application : General Ledger

Flexfiled Tiltle : Accounting Flexfield

Create New Flex Filed ( + )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

70

Un Check Freeze Flexfiled Definition


Select Period ( - ) Select Segments

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

71

Save the above


Place the cursor in the first line COMPANIES
Select Flexfiled Qualifier

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

72

COMPANIES : Intercompany Segment ( Check )


BRANCHES : Balancing Segment ( Check )
ACCOUNTS : Natural Account Segment
Save the above and close form
Check Freeze Flexfield Definition OK Compile OK OK

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

73

Creating Values for the above flex fields


General Ledger Vision Operations ( USA ) Setup Financials Flexfields Key Values

Enter the Structure : LGS_INDIA_KFF


Select Find as shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

74

FUNCTIONAL MODULES
Multi Orgs ( Multiple Organizations ) :It is a process of storing multiple organizations information in a single server with single
Installation . It is like a MNC.

Multiple Organizations in Oracle Applications


The Oracle Applications organization models define organizations and the relationships among them in
arbitrarily complex enterprises. This organization model serves as the cornerstone for all of the Oracle Applications
products. It dictates how transactions flow through different organizations and how those organizations interact with
each other.
Generally, a complex enterprise has several organization structures, such as Internal, Accounting, and Human
Resources. You are able to define different structures to customize Oracle Applications according to your business
needs.
Organization can be a Company / Branch / Dept / Area / Unit
Basic Business Needs
Oracle Applications provides you with the features you need to satisfy the following basic business needs:
Use a single installation of any Oracle Applications product to support any number of organizations, even if
those organizations use different sets of books.
Define different organization models
Support any number of legal entities within a single installation of Oracle Applications.
Secure access to data so that users can access only the information that is relevant to them.
Sell products from a legal entity that uses one set of books and ship them from another legal entity using a
different set of books, and automatically record the appropriate intercompany sales by posting intercompany
accounts payable and accounts receivable invoices.
Purchase products through one legal entity and receive them in another legal entity.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

75

Major Features
Multiple Organizations in a Single Installation
You can define multiple organizations and the relationships among them in a single installation of Oracle
Applications. These organizations can be sets of books, business groups, legal entities, operating units, or inventory
organizations.
Secure Access
You can assign users to particular organizations. This ensures accurate transactions in the correct operating unit.
Sell And Ship Products From Different Legal Entities
You can sell from one legal entity and ship from another, posting to each organizations set of books.
Receive Goods Into Any Inventory Organization
You can enter purchase orders and assign for receipt any inventory organization that uses the same set of books. Your
purchase order operating unit and receiving inventory organization must share the same set of books to receive against a
purchase order.
Automatic Accounting for Internal Requisitions
You can create an internal requisition (sales order) in one organization, then ship from another organization, with correct
intercompany invoicing.
Multiple Organizations Reporting
You can set up your Oracle Applications implementation to allow reporting across operating units by setting up the top
reporting level. You can run your reports at the set of books level, legal entity level, or operating unit level
Multiple Organizations in a Single Installation:
You can support multiple organizations running any Oracle Applications product with a single installation.
When you run any Oracle Applications product, you first choose an organizationeither implicitly by choosing a
responsibility, or explicitly in a Choose Organization window. Each window and report then displays information for
your organization only.
Organizations that share the same functional currency, Accounting Flexfield structure, and calendar can post to
the same set of books.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

76

It is in seven levels.
1) Business Group
2) Set Of Books
3) Legal Entity
4) Operating Unit
5) Inventory Organization
6) Sub Inventory
7) Stock Location

Head Office

Business Group

CCC

CCC

CCC

Set Of Books

Tax1

Tax2

Tax3

Legal Entity

INDIA

HYD

SR Nagar

Rack/bin

BANG

KP

Rack/bin

USA

UK

DELHI

DSNR

Rack/bin

Operating Unit

Inventory Org

Sub Inventory

Stock Location

Business Group
The business group represents the highest level in the organization structure, such as the consolidated
enterprise, a major division, or an operation company. The business group secures human resources information. For
example, when you request a list of employees, you see all employees assigned to the business group of which your
organization is a part. Employment will also be created.
Eg : Head Office , Regional Level Head Quarter
Note: This is true in all applications except the HR applications, which support more granular security by a
lowerlevel organization unit, the security profile. Multiple sets of books can share the same business group if
they share the same business group attributes, including HR flexfield structures.

Set of Books

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

77

It is a logical entity. A financial reporting entity that uses a particular chart of accounts, functional currency, and
accounting calendar. Oracle General Ledger secures transaction information (such as journal entries and balances) by set
of books. When you use Oracle General Ledger, you choose a responsibility that specifies a set of books. You then see
information for that set of books only.
Legal Entity
A legal company for which you prepare fiscal or tax reports and submitted to the government. You assign tax
identifiers and other legal entity information to this type of organization.
Operating Unit
An organization that uses Oracle Cash Management, Order Management and Shipping Execution, Oracle
Payables, Oracle Purchasing, and Oracle Receivables. 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. To run any of these applications, you choose a responsibility associated with
an organization classified as an operating unit.
Inventory Organization
An organization for which you track inventory transactions and balances, and/or an organization that
manufactures or distributes products. Examples include (but are not limited to) manufacturing plants, warehouses,
distribution centers, and sales offices.
The following applications secure information by inventory organization:
Oracle Inventory, Bills of Material, Engineering, Work in Process, Master Scheduling/MRP, Capacity, and
Purchasing receiving functions. To run any of these applications, you must choose an organization that has been
classified as an inventory organization.
Business group at the top of each hierarchy. When you define new organizations, they are automatically
assigned to the business group associated with your current session. Each organization is part of a business group. The
business group is usually the top box on an enterprise organization chart.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

78

The business group is the largest organization unit you set up in Human Resources to represent your enterprises
as an employer. After defining one or more business groups for your enterprise, you set up one or more government
reporting entities (GREs) within each business group. The GRE is the organization that federal, state, and local
governments recognize as the employer .
Below this level, you represent the groupings in which employees work, such as branches, departments, or
sections, by means of internal organizations. To enable the assignment of employees to an internal organization, you
classify the internal organization as an HR organization.
You can define external organizations in the same way as internal organizations, so that you can represent
organizations that are not part of your enterprise (such as training vendors or tax offices). The major difference between
internal and external organizations is that you cannot assign people to an external organization.

Accounting / Distribution / Materials Management Organization Model


Using the accounting, distribution, and materials management functions in Oracle Applications, you define the
relationships among inventory organizations, operating units, legal entities, and sets of books to create a multilevel
company structure, as shown in Figure

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

79

Multilevel Company Structure Example

Legal Entities Post to a Set of Books


Each organization classified as a legal entity identifies a set of books to post accounting transactions.
Operating Units Are Part of a Legal Entity
Each organization classified as an operating unit is associated with a legal entity.
Inventory Organizations are Part of an Operating Unit
Each organization classified as an inventory organization references an operating unit.
Inventory Organization Determines Items Available to Order Management
The Item Validation Organization parameter specifies which Oracle Manufacturing organization is used to
validate inventory items. You must define all transactable items in this organization. Some inventory item attributes for
Receivables and Order Management, including Tax Code and Sales Account, are specific to an operating unit or an
accounting flexfield structure. Therefore, you should define an item validation organization for each operating unit.
Inventory Organization Determines Items Available to Purchasing
The inventory organization you specify in the financial options for each operating unit determines the items
available in Purchasing. You can only choose an inventory organization that uses the same set of books as your
operating unit.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

80

C C C : Currency, Calendar, Char Of Accounts ( Set Of Books )


Currency INR, USD, EUR, POUND, RNG
Calendar Yearly, Quarterly, Monthly, Weekly
Chart Of Accounts Bank account details
Calendar Yearly, Quarterly, Monthly, Weekly
Eg: Quarterly = 13 weeks ( 91 Days )
Month1
Month2
4 weeks
4
5
4

Month3
5 ( 91 days )
4 ( 91 days )

Checking for weather the System supports Multi Orgs Concept :


SELECT MULTI_ORG_FLAG FROM FND_PRODUCT_GROUPS
If MULTI_ORG_FLAG value is Y, then the System supports the Mutli Orgs concept
Creation of a Business Group
It involves two steps 1) create the location ( address ) 2) create the business group
1) Creation of a Location :
Login : Operations
Navigation steps :
Inventory Vision Operations ( USA ) Setup Organizations Location

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

81

Scope : Global It can be accessed by all levels of organization


Name : VIS_CORPORATE ( registration / location name )
Desc : Location of the the company ( as desired )
Inactive date : it is required when the location is not in use
Name, Desc and Inactive Date, Address Style, Address, Time Zone will be stored into the table called :
HR_LOCATIONS
LOCATION_ID is a Key filed
select * from HR_LOCATIONS where trunc ( creation_date)= trunc(sysdate)
select * from HR_LOCATIONS where LOCATION_CODE=' VIS_CORPORATE '
Address Details ( tab ) :
Fill the address as desired
Save the Above
The above address information will be stored into the table called
Shipping Location: location of Raw Material Storage.
2) Creation of a Business Group :
Navigation steps :
Inventory Vision Operations ( USA ) Setup Organizations Organizations New

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

82

Save the above details and enter the Organization Classification Name as Business Group
Select enabled
Save the above and select Others for Additional Organization Information.
Business Group Info OK
Additional Organization Information
Pres Tab [ - ] shows the following

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

83

Click on OK OK
Do you want to save the changes yes
The Business Group information will be stored into the table called : HR_ORGANIZATION_UNITS
select * from HR_ORGANIZATION_UNITS where trunc ( creation_date)= trunc(sysdate)
select * from HR_ORGANIZATION_UNITS where NAME =VIS_BG'
Here key field is ORGANIZATION_ID
Business Group Classification, Others information will be stored into the table called :
HR_ORGANIZATION_INFORMATION
select * from HR_ORGANIZATION_UNITS where NAME ='VIS_BG'
obtain the ORGANIZATION_ID
and check the following
select * from HR_ORGANIZATION_INFORMATION where ORGANIZATION_ID = 5128
Set Of Books : It is a combination of Currency, Calendar and Chart Of Accounts

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

84

Currency :
Depending on the territory it will be changed .
Eg :
India
:
INR
:
United States
United States
United States

: Indian Rupee

:
:
:

USD
USN
USS

:
:
:

United Kingdom:

GBP

: Pound Sterling

Australia

AUD

: Australian Dollar

$
$
$

: US dollar
: US dollar (next day )
: US dollar (same day )

Navigation
General Ledger Vision Operations ( USA ) Setup Currencies Define
Enter the Issuing Territory and Query for currency details

Currency Information will be stored into the table called : FND_CURRENCIES


select * from FND_CURRENCIES where trunc(creation_date) = trunc(sysdate)
it shows todays data
The above one is a predefined currency. We can define our own currency.
Eg:
Code : XX_CUR

name : Test_Currency

Desc : Test Currency Territory : India

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Symbol : #

85

Calendar :

It defines the financial year calendar

Navigation :
General Ledger Vision Operations ( USA ) Setup Financial Accounting Calendar Types
Shows the types of Calendars

Calendar Type Information will be stored into the table called :


GL_PERIOD_TYPES
Standard Calendar :
Navigation :
General Ledger Vision Operations ( USA ) Setup Financial Calendar Accounting
Query it ( Ctrl + F11 ) use arrow key

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

86

Indian Calendar information will be stored into the table called : GL_PERIODS
Calendar is different type :
Yearly :
Month1

Month2

Month3

Quarterly :
Qrt1
Qrt2
Mon1 Month2 Month3
W1 W2 W3
M1

M2

M3

4
5
4

5
4
4

4
4
5

..Month12

Qrt3

Qrt4

( 13 weeks ) = 91 days / 7

Chart of Accounts It is a bank account details


Eg :
LG Company has following Structure
LG
AP

INV

PO

GL

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

87

INDap USap UKap

INDinv USinv

INDpo USpo UKpo

1001 1004 1008


1002
1005
1003 1006
Complete Code Is : Company_Country_Dept_Account
Eg:
LG_IND_AP_1001

1007

LG_US_INV_1005
LG_IND_PO_1003
LG_UK_AP_1008
The information is to stored in the Key cols of the table
Navigation steps to create the key flex fields for the above data.
System Administrator Application Flex Fields Key Flex Segments
Application : General Ledger

( query with this ) ( as it is a creation of Chart Of Accounts )

Flex Field Title : Accounting Flexfield


( Note : for Currency, Calendar and Chart Of Accounts , the application name is : General Ledger )
Go to Code column place the cursor any where and select New(

+)

for the New filed

Eg:
Code : TEST_27_APR_ACFF
Title : TEST_27_APR_ACFF ( auto )
Desc : TEST_27_APR_ACFF ( as desired )
Segment Separator : Period ( . )

( as desired )

Select Segments

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

88

After entering the above information save it


The above flex fields information will be stored into the table called : FND_ID_FLEX_SEGMENTS_VL
Deselect Freeze Flexfield Definition OK Save ( compiling ) OK OK
Select Company Felxfiled Qualifier Intercompany Segment ( enable ) save it
Country Felxfiled Qualifier Cost Center Segment ( enable )
Dept Felxfiled Qualifier Balancing Segment ( enable )
Account Felxfiled Qualifier Natural Account Segment ( enable )

Freeze Flexfield Definition OK


compile OK OK
Select

on compilation it will be submitted for flex filed generation ( Name of the Request : Flexfield View Generator )
Creation of Set Of Books :
Navigation :
General Ledger, Vision Operations ( USA ) Setup financials Books Define
Query for the existing one ( Ctrl + F11 and down arrow key )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

89

Set of Books : Vision Operations (USA)


Copy the following into some notepad )
Chart of Accounts : Operations Accounting Flex
Retained Earnings : 01-000-3310-0000-000
Translation Adjustment : 01-000-3500-0000-000

Create new set books from the above

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

90

Set of Books : Test_29_Apr_SOB


Short Name : Test_29_Apr_SOB ( same or any one )
Desc : as desired
Chart of Accounts : Operations Accounting Flex ( from the above copied one ) Functional Currency : USD
Calendar
Name : Accounting
future period : 1 ( auto )
Period Type : Month ( auto )
Retained Earnings : 01-000-3310-0000-000 ( copy the previously taken into notepad )
Translation Adjustment : 01-000-3500-0000-000 ( copy the previously taken into notepad )
Company
Department
Account
Sub Account
Product

: 01
: 000
: 3310
: 0000
: 000

Paste the above one by one from the above


Retained Earnings :

0100033100000000
Company- Department- Account- Sub Account- Product

Select OK

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

91

Similarly Translation Adjustment


Translation Adjustment : 01-000-3500-0000-000 Paste into respective fields as above
Select OK
Note : The above set of books information will be stored into the table called
GL_SETS_OF_BOOKS_
select * from GL_SETS_OF_BOOKS where trunc(creation_date)=trunc(sysdate)
Legal Entity :
create the organization
Navigation :
Inventory Vision Operations ( USA ) Setup Organizations Organizations New
Name : Test_29_APR_LE
Location : REG10_SRNAGAR ( select from existing Ctrl + F11 )
Save the above
Organization Classification :
Name : GRE / Legal Entity

select Enabled

Save the above


Select Others ( link between Set Of Books and Legal Entity )
Select : Legal entity accounting
Press Tab
Set of Books : Test_29_Apr_SOB ( supply the above created set of books ) OK OK Yes or save
Note : The above information will be stored into the table called :
HR_ORGANIZATION_UNITS
select * from HR_ORGANIZATION_UNITS where trunc(creation_date)=trunc(sysdate)
Operating Unit :
Creating Operating Unit
Create the organization of Organization Classification as Operating Unit
Navigation
Inventory Vision Operations ( USA ) Setup Organizations Organizations New
Name : Test_29_APR_OU
Location : VIS_CORPORATE ( select from existing Ctrl + F11 )
Save the above
Organization Classification :
Name : Operating Unit
Save the above
Select Others

select Enabled

( link between Set Of Books, Legal Entity

and operating unit )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

92

Select : Operating Unit Information


Press Tab
Set of Books : Test_29_Apr_SOB ( supply the above created set of books ) OK and save
Legal Entity : Test_29_APR_LE
Set Of Books : Test_29_Apr_SOB ( auto )
Click on OK and Save it ( Yes )
Inventory Organization :
It is a place where actual business transactions takes place ( called as transaction point )
Inventories can be classified into two
1) Master Inventory
2) Child Inventory
Master Inventory : It defines the total products. It is a logical one
Child Inventory : It defines the particular products ( quantity and type ). It is a physical one
Eg :
SONY
HYD

IND
MUMB

PUNE

USA
NY WSH

UK
LOND

In the above suppose Sony is manufacturing computers and may 100 models
At different locations doing business for particular models.
Eg : at HYD may be 50 models
at MUMB may be 70 models
at NY may be
100 models
at WSH may be 90 models
at X may be 20 models
here total 100 Models is a Master Inventory and
50, 70, 100, 90, 20 are Child Inventory
First step We have to identify the Master and Child based on Company Name.
( SONY, LOGTECH, LG, SAMSUNG )
How to Identify the Master and Child based on Company Name.
ORG_ORGANIZATION_DEFINITIONS
and
MTL_PARAMETERS
The tables provides, Multi Organizations information.
ORG_ORGANIZATION_DEFINITIONS table provides All High Level information such as Business Group, Set Of
Books, Legal Entity, Operating Unit
MTL_PARAMETERS table provides actual inventory information such as INV OrG

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

93

For example
Name of the business group : Vision Corporation
Back End Process
Step1 :
select * from HRFV_BUSINESS_GROUPS where BUSINESS_GROUP_NAME = 'Vision Corporation'
Get the BUSINESS_GROUP_ID
( or )
BUSINESS_GROUP_ID = 202
Step2 :
select * from ORG_ORGANIZATION_DEFINITIONS where BUSINESS_GROUP_ID =202
Get the ORGANIZATION_CODE form the above ( select any one as desired eg; M1 )
ORGANIZATION_CODE = M1
Step 3:
select * from MTL_PARAMETERS where ORGANIZATION_CODE = 'M1'
get the MASTER_ORGANIZATION_ID from the above result
MASTER_ORGANIZATION_ID = 204
Step4 :
select * from ORG_ORGANIZATION_DEFINITIONS where ORGANIZATION_ID = 204

Sub Inventory :
INV

Raw Material

Row-Rack-Bin

Finished Goods

Semi Finished Goods

Damaged Goods

Sub-INV

Stock Location

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

94

Creation of Sub Inventory :


Navigation
Inventory Vision Operations ( USA ) Setup Organizations Sub Inventories M1 ( Inv Org Name )

Name : VIS_SINV ( allows only 9 chars ) ( Name as desired ) ( Copy this name into note pad )
Desc : as desired
Status : Active
Locator Control : Dynamic Entity
Type : Storage
The above sub inventory information is available in table called : MTL_SECONDARY_INVENTORIES
select * from MTL_SECONDARY_INVENTORIES where trunc(creation_date) = trunc(sysdate)
Create the Storage Location :
Eg :
Row Rack Bin
1 - A - 2
2 - A - 1
1 - B - 4
2 - A - 3
1) Create the Flex fields for the above
2) Create the Stock Location

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

95

1) Create the Flex fields for the above requirement


Navigation
System Administrator Application Flex Fields Key Segments

Application : Inventory
Un Freeze FlexField Definition

FlexField Title : Stock Locators ( use down arrow key to get )


OK

Period ( . )

Select Segments

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

96

In the Required only Row, Rack and Bin. Hence disable the ( Displayed and Enabled for remaining )
Make Value set as empty for Row, Rack, Bin
To set the fields as mandatory select the field and open
Eg :
Row and Rack as Mandatory
Select Row and Open , check the Required
Save the above and freez the FlexField Definition, OK compile OK OK
Copy the Flex Field Title (Stock Locators ) into note pad (Stock Locators) : it is a mapping to Stock locator

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

97

2) Create the Stock Location


Select locator Row :
Inventory Vision Operations ( USA ) Setup Organizations Stock Locators M1 ( Inv Org Name )

Select New
Locator ( Click here ) : Row :1

Rack : A

Bin: 1

Locator : 1.A.1
Status : Active
Save and Close
Status : Active
Subinventory : VIS_SIN

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

98

Again go to Sub inventory ( query for VIS_SINV )

Select locators ( 1.A.1 )


Locator Information will be stored into the table called : MTL_ITEM_LOCATIONS

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

99

Inventory :
Dell Computers
1) Inventory Module : INV Purchase AP CM GL called as P-2-P cycle
2) Manufacturing : BOM WIP Quality
3) Sales : Customer AR OM Shipping Receiving CM GL called as O-2-C
O-2-C : Order TO Cash
Inventory Module :
Product is called as ITEM in Oracle Applications
ITEMS

DIRECT ITEMS

INDIRECT ITEMS

Direct Items : It is main product . It will impact on the business


Eg : Computer
Indirect Items : Stationary Items. It is a secondary. It will not impact on the business.
It is called as Expensive Item ( Technical Term )
Eg: White Papers, Pens and etc
Direct Items are :
1) Purchased Items 2) Sub Assembly Items 3) Manufacturing Items 4) finished Goods
5) Sales Items 6) Service Items

Master

Manufacturing Center

Raw Material

Distribution Center

Finished Goods

Finished Goods

All the tables of inventory starts with MTL ( Materials )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

100

Creating of an Item
Navigation
Inventory Vision Operations ( USA ) Item Master Items V1 ( Vision Operations )
The following form contains 16 tabs such as Main, Inventory and etc.
If it is manually user have to fill the all 16 tabs.

To enter all the above fields tame taken. Templates are provided to reduce the time of work.

Pre requisite to create an Item :


1) INV Organization setup
2) UOM ( Unit Of Measure ) setup
3) Templates setup
In the above 1st and 2nd are mandatory where as 3rd one is an optional
1) Creation of INV Organization setup has already been discussed. It is a Multi Orgs concept.
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

101

Creation of UOM ( Unit Of Measure ):


Navigation :
Inventory Vision Operations ( USA ) Setup Unit Of Measure Unit Of Measure

Click in name column and select new for new unit of measure. And enter as shown above (Yellow Colour)
Save and go to conversions
Unit : VIS_DOZ

Class : Quantity ( auto )

Conversion : 14 ( as desired ) Basic unit : Each ( auto )

All Unit Of Measure information will be stored into the table called : MTL_UNITS_OF_MEASURE
select * from MTL_UNITS_OF_MEASURE where trunc(creation_date) = trunc(sysdate)
Template :
It is a group of attributes. Used to create template.
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

102

Setup of the template :


Navigation :
Setup Items Templates
Template : click to check existing
New to create New Template
Template :
Desc :
Show : All groups / Main / Inventory / Bill of Materials and etc
We can use the already existing :
eg : Purchased Item.
Creating an Item :
It involves two steps :
1) Create the Master 2) Assign to Child
Step1 : Creation of Master :
It can be created in two ways 1) template basis 2) Items basis
Navigation : Inventory Vision Operations ( USA ) Items Master Item M1
Template basis

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

103

In the above Master Item form enter only Item and description
Tools Copy From :
Template : Purchased Item ( template basis )
Apply and Done
Unit of Measure :
Primary : Each
Display Attributes :
Master

Org

All

Select the master and observe, some fields will be disabled colour, those fields can not be entered in the
master level
Similarly select Org, some fields will be disabled colour, those fields can not be entered in the Org level
All all fields are allowed to enter data
Save the above
The above all items information will stored in the table called :
MTL_SYSTEM_ITEMS_B
Step2 :
Assign the item Child
After save the Master go to Tools Organization Assignment

In the above go to Assigned select V1 ( auto ), M1, M2


Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

104

Here Assign All is not recommended in the real time.


Child items information will be stored into the table called : MTL_SYSTEM_ITEMS_B
select * from MTL_SYSTEM_ITEMS_B where trunc(creation_date) = trunc(sysdate)
Item names will be stored into the Segment1. Reason is that, Item name is a Key information.
Creation of 2nd Item ( Printer )
Item Basis :
Repeat the above and select item basis
Enter item : VIS_Printer, Desc : Printer
Tools Copy From Select Item as shown below ( take the already entered item : previous VIS_Monitor )

Apply Done
All the properties of REG10_ Monitor Item will be inherited to REG10_Printer ( such as V1. M1, M2 .. )
Save the above
Assign to Child
Compiled and Developed by
105
M.Nageswar Rao, B.Tech, MBA

Tools Organization Assignment ( if not saved it will be disabled )


Select V1, M1, M2 and save it .
Create item for Mother Board
Create master VIS_MotherBoard ( Template Basis or Item basis ) and save it
Assign to Child and save it
------------------Create Item for HDD :
Create master VIS_HDD ( Template Basis or Item basis ) and save it
Assign to Child and save it
------------------Create Item for CD Drive :
Create master VIS_CDDrive ( Template Basis or Item basis ) and save it
Assign to Child and save it
-------------------Create Item for CPU : ( Mother Board, HDD. CDDrive are part of CPU )
Mother Board, HDD. CDDrive are part of CPU are purchasing from the outside and assembling CPU in the
organization. Hence CPU is a manufacturing Item. It comes under sub assembly.
Select template as subassembly save it and
Assign to Child ( V1, M1. M2 ) and save it.
----------Create Item for Dell Computer
Dell Computer is a Finished Goods. It comes under Finished Goods.
Select template as Finished Good save it and
Assign to Child ( V1, M1. M2 ) and save it.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

106

Categorizing the items :


Eg : CROMA is a distribution Center for different products such as Computer, Mobiles, HDD, IPOD
Distribution Center

Distribution Stores

Computer

Mobiles

HDD

IPOD

-->Category Set

--------------------------------------------------------------------------------------------------------------------------- Category Code


HCL
IBM
LEN
SONY
DELL

NOKIA

LG

SAM

S.D

SONY

S.G

KS

-----------------------------------------------------------------------------------------------------------------------------

Desktop

Laptop

---------------------------------------------------------------------Model1

M2

M3

Items

---------------------------------------------------------------------In real applications 1st create Category Code , 2nd create Category set and then assign to Item.
Creation of Category Code :
It is Key flex filed. Storing in two fields called : COUNTRY - COMPANY
IND HCL
IND DELL
Category Set
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

107

IND LENOVE
Eg : VIS_CAT_CODE
Navigation :
System Administrator Application Flex Fileds Key Segments
Application : Inventory ( Query )
FlexFileds Title : Item Categories ( Down Arrow Key )

Go to Code Column and create New


Code : VIS_CAT_CODE
Title : VIS_CAT_CODE
Segment Separator : Pipe (| )
Select Segments
Num
Name
1
COUNTRY
2
COMPANY

Desc :

Column
SEGMENT1
SEGMENT2

Save and select Freeze FelxField Definition OK Compile OK OK

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

108

Entering values into flex fields :


Navigation : Inventory Vision Operations ( USA ) Setup Items Categories Category Codes
New

The above information will be stored into the tables called :


MTL_CATEGORIES and MTL_CATEGORIES_KFV
Creation of Category Sets and Mapping with Category Code:
Navigation : Inventory Vision Operations ( USA ) Setup Items Categories Category Sets M1

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

109

Assigning item to Category


Navigation : Inventory Vision Operations ( USA ) Items Master Item
Item : Query for ( VIS_Monitor : which was created earlier )
Tools Categories

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

110

Category Set : VIS_CAT_SET


Control Level : master ( auto ) Category : IND|HCL
Save it . all the above information will stored into the table called : MTL_ITEM_CATEGORIES
Item Cost :
In Oracle the cost is called Material Cost
Transportation Cost Material Over Head Cost
Labor Cost is called as Resource Cost
Item Cost = (Material Cost + Material Over Head Cost + Resource Cost )
Inventory Vision Operations ( USA ) Items Master Items
(or )
Inventory Vision Operations ( USA ) Items Organization Items
Master Item form contains 16 Tabs : one of the tab is Costing tab
Under the Costing tab the following details
Costing Enabled
Inventory Asset Value
Include In Rollup
If the all the above are checked, then it will be available for costing

Costing is at the organization level


Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

111

Item Cost is only for Purchased Item not for Manufacturing and Sales Items
Login to the organization level for Costing an Item
Inventory Vision Operations ( USA ) Costs Item Costs
Item : Click here and Query for the Item, It shows all Costing items.
If the following are disabled at time of Items creation, then it will not shows in the list
Costing Enabled
Inventory Asset Value
Include In Rollup
For checking go to Inventory Vision Operations ( USA ) Items Organization Items
Item : VIS_FDD
And go to Costing Tab, uncheck the above three and save, then check for the Cost using
Inventory Vision Operations ( USA ) Costs Item Costs M1
Costing an item :
1) Eg : VIS_CDDrive
Item : VIS_CDDrive
Cost Type : Frozen ( 4 Types of costing 1) Frozen 2) LIFO 3) FIFO 4) AVG
Select Find
Select Open
Make/Buy : Buy ( Buy : purchased Items, Make : Manufactured Item )
Select Cost
Cost Element
Sub Element Basis Amount
Material
Material
Item 250
Material Over Head
2) VIS_HDD
Repeat the above steps
Costing Types information is available in the table called : CST_COST_TYPES
Unit Costing information is available in the table called : CST_ITEM_COSTS

Material Transaction Cost :


Items :
1) Receivings
When received from the Suppliers, the Godown on hand stock will be increased
2) Issues
When Issued to the Customers, the Godown on hand stock will be decreased

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

112

Transactions are of three types


1) Buying
2) Selling
3) Manufacturing
Buying is a Receiving transaction. In oracle terminology it is called as MISC Receipt
Selling is Issue transaction. In oracle terminology it is called as MISC ISSUES

Pre-requisite to create a transaction


1) Inventory Vision Operations ( USA ) Items Master Items Inventory ( tab )
If Transactable flag is enabled then item comes under transactable and it can received / issued .
2) Period of transaction should be open

Checking for transactable flag


Inventory Vision Operations ( USA ) Items Master Items Inventory ( tab ) as shown below

2) Set Of Books Period of transaction should be open


SELECT * FROM ORG_ORGANIZATION_DEFINITIONS WHERE ORGANIZATION_CODE='M1'

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

113

Take the SET_OF_BOOKS_ID value = 1


select * from GL_SETS_OF_BOOKS where SET_OF_BOOKS_ID=1
take either of the follwing
SHORT_NAME :Vision Operations
NAME : Vision Operations (USA)

Go to Inventory Vision Operations ( USA ) Setup Financials Books


Query for the any one of the following
SHORT_NAME :Vision Operations
NAME : Vision Operations (USA)

Get the
Calendar Name = Accounting ( copy into note pad )
Get the period
Go to Inventory Vision Operations ( USA ) Setup Financials Accounting Calendar Accounting

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

114

Get the name :


Eg : Jan-09, feb-09, mar-09
Check Period Status is Open or Not
Inventory Vision Operations ( USA ) Accounting Close Cycle Inventory Accounting Period

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

115

Creation of a Transaction :
Inventory Vision Operations ( USA ) Transactions Miscellaneous Transactions ( M1 )

Select Transaction Lines


Item Name : VIS_Monitor
Sub Inventory : Stores
Account : 01-580-7740-0000-000 (Miscellaenous )

UOM : Ea

Quantity : 10

All the transaction type information is available in the table : MTL_TRANSACTION_TYPES


select * from MTL_TRANSACTION_TYPES
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

116

WHERE TRUNC(CREATION_DATE)=TRUNC(SYSDATE)
Transaction information is available in the table : MTL_MATERIAL_TRANSACTIONS
select * from MTL_MATERIAL_TRANSACTIONS
WHERE TRUNC(CREATION_DATE)=TRUNC(SYSDATE)
Checking for on hand quantity
Inventory Vision Operations ( USA ) On-hand, Availability On-hand Quantity
On hand Quantity = ( Total Quantity Reservable Quantity )

Organization : M1
Sub inventory : Stores
Item : VIS_Monitor
Select Find

Checking for Material transaction :


Inventory Vision Operations ( USA ) Transactions Material Transactions it check between date as shown below

Select Find

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

117

Steps in the purchasing of Goods (Purchase Order )


1) Requisition 2) RFQ 3) Quotations 4) PO 5) Receipts Updating Banks
The documents, which are related to above will be prepared by the clients.
1) Requisition
a) Internal Requisition It will be placed between branches ( transfer of Goods from Inventory to another
Inventory of the Company (or) on Godown to another Godown )
b) Purchase It process of purchasing from the out side. It can be from approved supplier or from the local
suppliers .
If goods are not available at approved supplier, then it will be purchased from local suppliers .
if purchase form the local suppliers, then buyer should purchase the goods with in the cost of certain limit. If
cost is more than the certain limit , the it should be approved by the Top Management .

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

118

Purchase form Approved Suppliers


If the purchase from Approved Supplier then, then it involves the following steps.
2) RFQ 3) Quotations 4) PO 5) Receipts

1) AP Interface
2) Inventory Interface

RFQ ( Request for quotation )


Quotations call for to different suppliers in market. It is through the advertisement.
Quotation :
Quotations will be received from suppliers such IBM, TVS, WIPRO, ACEL
Quotations from the suppliers will be received through E-Mail, FAX, Courier, of by Hand
On receiving quotations. These will be analyzed by the purchasing committee. ( quotation analysis ).
The purchasing committee will decide the supplier. Once quotation has been approved, the supplier will be an approved
supplier of that company.
The approved supplied has to supply the goods through out the year as per the requirement.
Once quotation has been Approved, the confirmation document will be sent supplier.
Confirmation document consists of terms and conditions such Price, quality of the goods, payment terms,

Purchase Order : The Order requisition will be placed by the concerned person ( Stores Manager )
Quotation is only once and it is valid for one year. Order can be placed at any time in the year with out
any prior intimation to the supplier .
Supplying the Material : Supplier supplies the material as per the quality sample mentioned in the quotation. If not
meet the quality, then goods will be treated as inferior quality and it will be rejected.
Once goods have been received, the stores manger will issue the receipt of the goods.
Requisition Types
1) Benefits of Online Requisitions :
You can save time, money, and paper by processing requisitions online. With a paper system, you must provide forms
to the requestor, the requestor must send the form to someone else to be approved, and the buyer must manually
consolidate requisitions to place on a purchase order. Throughout all of these transactions, you Requisitions 3 7 may

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

119

generate a number of errors, waste time, and lose money. Some of the many problems you may incur with paper
requisitions include:
The requestor may not fill in the requisition completely or accurately.
The requestors handwriting may be illegible.
Someone without proper authority can potentially approve a requisition.
The requestor might have to mail the requisition to an approver at a different location and wait a number of days to get
it back.
The approver or buyer may lose or damage the requisition
.
The buyer may translate the information from the requisition to the purchase order incorrectly.
You may lose significant quantity discounts if the buyer cannot locate all the requisitions that reference a particular
item.

Implementing Online Requisitions


Many companies want to provide online requisitions to everyone in the company. Others want to limit
the number of users who have access to the system. Purchasing is flexible enough to meet the needs of your company.
To give everyone access to the system, simply create a user name for each employee in the company and assign the
employee the appropriate responsibilities. You can easily designate a smaller group of individuals as requisition
preparers if you want to limit the number of requestors on the system. These people can create requisitions for anyone in
the company by identifying the appropriate requestor directly on the requisition line. You might also want to limit some
preparers to internal requisitions and others to purchase requisitions. You can also print requisitions to obtain signature
approvals if some of the approvers do not have access to the system. You can then assign an individual to update the
authorization status for these requisitions.

Purchase Requisitions
Use the Requisitions window to create requisitions. You must choose the requisition type (internal or
purchase). You can also provide a description, unlimited notes, and defaults for requisition lines. For each requisition
line, you choose the item you want to order along with the quantity and delivery location. You can get sourced pricing
from catalog quotations or open blanket purchase agreements. You can also choose a price from a list of historical
purchase order prices. In the Distributions window, you can charge the item to the appropriate 3 8 Oracle Purchasing
Users Guide accounts, or you can let the Account Generator create the accounts for you. Once you complete the
requisition, you send it through the approval process.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

120

Internal Requisitions
Unlike purchase requisitions, which are supplied from purchase orders, internal requisitions are
supplied from internal sales orders. Internal requisitions are not picked up when you AutoCreate RFQs or purchase
orders, nor can they be assigned to a buyer in the Assign Requisitions window.
Requisition Templates
Use the Requisition Templates window to define requisition templates for items you purchase
frequently. For example, if you frequently buy certain office supplies, you can set up an office supplies template for
your requestors. This template consists of a list of all items, prices, and sourcing information you want available to the
requestor. When you want to order items from this template, use the Supplier Item Catalog, choose the office supplies
template, and indicate the quantity you want to order. Purchasing supplies default sourcing and delivery information.
Imported Requisitions
Purchasing lets you import or reschedule requisitions from other Oracle or nonOracle systems. For
example, Work in Process uses Requisition Import to create requisitions for outside processing. Similarly, Master
Scheduling/MRP automatically creates requisitions using Requisition Import when you mass load purchase requisitions.
Master Scheduling/MRP also automatically reschedules existing requisitions by updating the needby date during this
process. If you are using Inventory, you can send a requisition requirement to Purchasing and then run Requisition
Import in Purchasing to create the requisition.
Paper Requisitions
You do not need to create a requisition online to purchase an item. Instead, you can reference a paper
requisition number directly on the Requisitions 3 9 purchase order Distribution Details.

Prerequisite for Requsition :


1) Items Purchasing Purchased and purchasable flag must be enabled
2) Supplier Should in Active State
3) User Must be Employee of the company and Must be a buyer
Types of Purchase
1) Standard Purchase One time purchase
2) Blanket Purchase Deal with Amount
3) Contract Purchase Purchase for some period ( contract may be for one year or five years etc..)
4) Planned Purchase Purchase plan is base past history
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

121

Checking for Purchased and purchasable flag must be enabled


1) Items Purchasing Purchased and purchasable flag must be enabled
Inventory Vision Operations ( USA ) Items Master Items Purchasing ( Tab )

Purchased and Purchasable flags must be enabled as shown below.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

122

User Must be Employee of the company and Must be a buyer


System Administrator Security User Define

Person : Stock, Ms.Pat ( employee )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

123

Creation of Employee :
Human Resources, Vision Enterprises People Enter and Maintain
Select New

Gender : Male
Action : Create Employement
Last : MNRAO
Person Type for Action : Buyer
Save the above information and select Address
Address Style : India
Address Details : as desired
Type :
Date From

Primary ( enable )

Save the above


Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

124

Select Picture for Photo of the Employee


Save the above
Select Assignments :
Organization : Vision Corporation
Job : MM100_Manager
Grade : 500.2.west
Location : HR Newark
Status : Active Assignment
Assignment Number : 1315 ( will be generated automatically )
Save the above
Employee Master information will be stored into the table :
PER_ALL_PEOPLE_F
Job information will be stored into the table:
PER_JOBS
Address information will be stored into the table :
PER_ADDRESSES
Assignments information will be stored into the table :
PER_ASSIGNMENTS
Note : Employee will be assign to user with the help of fullname
Suppliers :
Supplier Master Information :
Supplier

Address1

Contact Person1

Address2

Contact Person2

Supplier

Address3

Sites

Contact Points

1) Supplier Global information


2) Sites Specific to Operating Unit
3) Contact Points Specific to site
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

125

Creation of a Supplier :
Navigation
Purchasing Vision Operations (USA ) Supplier Base Supplier

Supplier Name : VIS_SUPP


Headers / Master infromation
Alt Name : VIS_SUPP ( as desired )
General ( Tab )
Classification ( tab )
Type : Government
Control ( tab )
Invoice Match Options : Purchase Order
Payment ( tab )
Terms : 45 Net
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

126

Purchasing ( tab )
Ship To Location: M1- Seattle
Bill To Location: V1- New York City
Save the above
Select Sites ( to enter address )

Site Name : VIS_PURCHASE


Country : India
Address : as desired
------------------City : Hyderabad
General ( tab)
Pay ( Disable/Un Checked)

Alternate Name :
Inactive unchek

State : A.P

Postal Code : 500072

Purchasing ( Checked/enable )

Communication
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

127

Code
Number
Voice : 040
6656321
Fax : 040
6656321
Contacts ( tab )
Last Name: MNRAO
Save the above
For the Address2 ( OFFICE ) place the cursor at Site Name and select New and repeat the above steps
Address2 ( OFFICE )
Site Name : VIS_OFFICE
Country : India
Address : as desired
------------------City : Hyderabad

Alternate Name :
Inactive unchek

State : A.P

Postal Code : 500072

General ( tab)
Pay (Checked/enable)
Purchasing (Disable/Un Checked )
On creation of supplier, Supplier Number will generated automatically
Supplier Master information will be stored in a table called : PO_VENDORS ( Master table )
Primary Key VENDOR_ID
select * from PO_VENDORS where trunc(creation_date)=trunc(sysdate)
Sites information will be Stored in table called : PO_VENDOR_SITES_ALL
VENDOR_ID is the foreign key between PO_VENDORS and PO_VENDOR_SITES_ALL
select * from PO_VENDOR_SITES_ALL where trunc(creation_date)=trunc(sysdate)
Contacts information will be stored in a table called : PO_VENDOR_CONTACTS
select * from PO_VENDOR_CONTACTS where trunc(creation_date)=trunc(sysdate)
Purchasing :
For the purchase Demand Sheet (or) REQ Sheet will be prepared by sales dept / Manufacturing Dept /
Inventory Dept / Planning Dept / etc..
It Involves Following Personnel
1) Requestor Employee, who is requesting the goods ( stores manger )
2) Preparer who is preparing the purchase document ( clerk )
3) Buyer who is going to buy a product ( Asst. Manager, Stores )

Demand Sheet contains :


Name of the Item:
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

128

Quantity :
Need By :
The employee, who need the item called as Requestor.
The above demand sheet will be forwarded to Requisition Dept, where demand sheet will be converted into
Requisition .Requisition is of two types
1) Internal called Internal Requisition ( IR )
2) Suppliers called Purchase Requisition ( PR )
Requisition :
Purchasing Vision Operations (USA ) Requisitions Requisitions

Number :
Desc :

Type : Purchase Requisition


Status : Incomplete

Preparer : Stock, Ms. Pat

Lines ( tab )
Sno Type
1 Goods

Item
Category
Description
Hyd CD Drive MISC.MISC

Destination Type : Inventory


Requester : Stock, Ms. Pat
Organization : Seattle Manufacturing
Location : M1- Seattle
Subinventory : Stores

UOM
Each

Quantity
10

Price Need By
2100 30-MAY-2011
00:00:00

Source : Supplier
Supplier : HYD_SUPP
Site : HYD_PUR
Contact : MNRAO

Note :
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

129

If Source is Supplier , then Type is : Purchase Requisition


If Source is Inventory, then Type is : Internal Requisition
Save the above : Once saved the Requisition Number will be generated Automatically (5632, 5633 ) these
copy into notepad for the following transaction
Select Distributions for Account,
Total No.of items will be distributed to multiple accounts or some times Single account.

Headers information will be stored into the table : PO_REQUISITION_HEADERS_ALL


select *from PO_REQUISITION_HEADERS_ALL where trunc ( creation_date) = trunc(sysdate)
Lines information will be stored into the table called : PO_REQUISITION_LINES_ALL
select *from PO_REQUISITION_LINES_ALL where trunc ( creation_date) = trunc(sysdate)
Distributions (Accounting)information will be stored into the table : PO_REQ_DISTRIBUTIONS_ALL
select *from PO_REQ_DISTRIBUTIONS_ALL where trunc ( creation_date) = trunc(sysdate)
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

130

Copy the Requisition Number ( 5634 ) into note pad


the tables ends with ALL means Multi Arg tables provides business group information.
With out ALL means Multi Arg views, provides only specific Organization information ( O.U )
Setting Organization Id to View
First get Organization from the Requisition form
Help Diagnostics Examine

Block : $PROFILES$
Field : ORG_ID
Value : 204 ( this value will be populated automatically )
Go to TOAD and execute the following package
BEGIN
FND_CLIENT_INFO.SET_ORG_CONTEXT ( '204');
END;
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

131

Procedure success fully completed


FND_CLIENT_INFO Is a name of the package
SET_CURRENCY_CONTEXT name of the procedure
Approval of the Requisition
Purchasing Vision Operations (USA ) Requisitions Requisitions
Query Number : 5634
Select Approve to get approval of the request
Check the Submit for Approval OK
Once approved data will not be available for Requisition form.
It will be converted into Purchase Order.
To check the requisition :
Purchasing Vision Operations (USA ) Requisitions Requisition Summary

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

132

In the above enter the Requisition Number : 5632 ( which was generated earlier )
And Select Find(B)

The above Total purchase value in a particular request ( eg Number : 5634 )


Select lines and distributions to see the more details
To find the Request Approver and Request Submitter
In the above after Find(B)
Go to Tools View Action History

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

133

The above RFQ will be sent to Suppliers.


Supplier will prepare the Quotation and will send the same to the purchase Dept.
Purchase dept analyze quotations and convert the RFQ into the Purchase Order.
There are 4 types of purchase orders
1) Standard Purchase One time purchase
2) Blanket Purchase Deal with Amount
3) Contract Purchase Purchase for some period ( contract may be for one year or five years etc..)
4) Planned Purchase Purchase plan is base past history
Conversion from Requisition to Purchase Order
Purchasing Vision Operations (USA ) Auto Create

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

134

Select Clear in the above form and clear the form


Enter the Requisition : 5632
Select Find

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

135

Check as shown above ( Check box at Requisition ( beginning ) )


Select Manual / Automatic
If it is manual we have to create the purchase document
If it is automatic System will generate the do purchase document automatically
For Manual
Select Manual
Supplier : VIS_SUPP
Supplier Site : VIS_PURCHASE
Select Create ( Place the cursor at Requisition ) Add To Document Create

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

136

Close the above


It generates the Purchase Order as Shown below.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

137

Fro multiple shipments select Shipments

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

138

For Multiple Distributions select Distributions


Finally Approve for the approval
Submit for Approval OK

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

139

It shows status as Approved


IMP Note :
Requisition Details
1) Headers
2) Line
3) Distributions
Here a header can have multiple lines
A line can have multiple distributions
RFQ Details will be stored into the following tables
Headers PO_REQUISITION_HEADERS_ALL
Lines PO_REQUISITION_LINES_ALL
Distributions PO_REQ_DISTRIBUTIONS_ALL
Purchase Order Details :
1) Headers
2) Lines
3) Shipments
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

140

4) Distribution
A header can have multiple lines
A line can have multiple Shipments
A shipment can have Multiple Distribution
Purchase order Details will be stored into the following table
Headers PO_HEADERS_ALL
select *from PO_HEADERS_ALL where trunc ( creation_date) = trunc(sysdate)
Lines PO_LINES_ALL
select *from PO_LINES_ALL where trunc ( creation_date) = trunc(sysdate)
Shipments PO_LINE_LOCATIONS_ALL
select *from PO_LINE_LOCATIONS_ALL where trunc ( creation_date) = trunc(sysdate)
Distributions ( A/C ) PO_DISTRIBUTIONS_ALL
select *from PO_DISTRIBUTIONS_ALL where trunc ( creation_date) = trunc(sysdate)
Click on lines Shipments Distributions and go to More tab it shows the requisition number ( way to
identify the requisition number from purchase order)
Requisition
Line1 Purchase Order1
Line2 Purchase Order2
Line3 Purchase Prder3
Purchase Order can also be created with out RFQ. Demand sheet can directly be converted into Purchase
order.
Purchase Order Types Summary
Standard
Purchase
Order

Planned
Purchase
Order

Blanket
Purchase
Agreement

Contract
Purchase
Agreement

One Time

Multiple Times

Multiple Times

Multiple Times

Terms and Conditions Known

Yes

Yes

Yes

Yes

Goods or Services Known

Yes

Yes

Yes

No

Pricing Known

Yes

Yes

May be

No

Quantity Known

Yes

Yes

No

No

Account Distributions Known

Yes

Yes

No

No

Delivery Schedule Known

Yes

May be

No

No

Can Be Encumbered

Yes

Yes

No

No

Can Encumber Releases

N/A

Yes

Yes

N/A

No.of Times Purchase

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

141

Creation of Standard purchase order.


Navigation :
Purchasing Vision Operations ( USA ) Purchase Orders Purchase Orders
Type : Standard Purchase Order
Supplier : VIS_SUPP Site : VIS_PURCHASE Contact : MNRAO ( auto )
Ship to : M1- Seattle ( auto ) Bill To : Seattle Maintenance
Buyer : Stock, Ms. Pat
Lines :
Num
1

Types
Goods

Item
Hyd CD Drive

Category
Desc
MISC.MISC as desired

UOM Quantity
Each
20

Price
1275

Promised
Need By
05-JUN-2011 00:00:00 06-JUL-2011 00:00:00
Note : Need By Date must be greater than the Promised Date.
Enter the above details as shown in the below form.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

142

Select Shipments
It can be single shipments or Multiple Shipments
Select Distributions
It can be single Distribution or Multiple Distribution
Save the above ( take Purchase order No (4422 ) into note pad before approval )
Select Approve and check the Submission for Approval OK
Creating Blanket Purchase Order :
Type : Blanket Purchase Agreement
Supplier : REG10_SUPP
Site : PUR_SRNAGAR Contact : EMP_NAME ( auto )
Ship to : M1- Seattle ( auto ) Bill To : Seattle Maintenance
Buyer : Stock, Ms. Pat
Amount Agreed : 10,000.00 ( it is not known in standard
purchase )
Lines :
Num
1

Types
Goods

Item
Hyd Printer

Category
Desc
UOM Quantity
MISC.MISC as desired
Each ( Disabled )
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

Price
250
143

Blanket will not have these Two dates Promised and Need By Date
Enter the above details as shown in the below form.

Blanket Purchase will not have the Shipments and Distributions


Standard Purchase will not have Price Breaks ( Discounts )
Select Price Breaks for Discounts enter details as shown below ( as desired )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

144

Save the above ( take Purchase order No (4423 ) into note pad before approval )
Select Approve and Check the Submit for Approval OK
Status Converts into Approved
Note : In the case of conversion form RFQ to Purchase order, once converted from RFQ to
Purchase, then RFQ details will not be available
Conversion of Blanket Purchase to Release Order:
Only blanket purchase convert into the release order
Navigation :
Purchasing Vision Operations ( USA ) Purchase Orders Releases
PO, Rev : 4423 ( Purchase Order Number : enter this only remaining automatically populated )
Shipments ( tab )
Num
Line
1
1

Org
M1

Ship To
M1- Seattle

Quantity
5

Promised
31-MAY-2011 00:00:00

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Need By
30-MAY-2011
00:00:00

145

Select Agreement for terms and Conditions


Select Approved to Approve the release
The following are the steps before converting Purchase to Release
REQ

( Demand Sheet)

RFQ

( Requisition )

Quotations ( from Supplier )


Purchase Order ( to suppliers )
After finishing above steps Receiving the Goods ( Items )
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

146

Creation of Receiving :
Pre-requisite for receiving :
1) Purchase Status should be Open ( Approved )
2) Calendar Period Should Open for ( INV, GL and PO )
Checking for Purchase Status :
Purchasing Vision Operations ( USA ) Purchase Orders
Enter the Purchase Order No : 4422 ( was created in the previous step : Standard purchase )
Shipments Status Tab Received : should be less than the ordered

2) Checking for Calendar period open for ( INV, GL, PO )


From the following get the get Ship-to : (M1- Seattle)

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

147

Go to Back end
select * from HR_LOCATIONS where LOCATION_CODE = 'M1- Seattle'

get the INVENTORY_ORGANIZATION_ID value : 207


Both are same.
select * from ORG_ORGANIZATION_DEFINITIONS WHERE ORGANIZATION_ID=207
get ORGANIZATION_CODE = M1 and ORGANIZATION_NAME = Seattle Manufacturing
get the SET_OF_BOOKS_ID = 1
select * from GL_SETS_OF_BOOKS where SET_OF_BOOKS_ID=1;
get Name : Vision Operations (USA)
SHORT_NAME : Vision Operations
go to Books and get the type of calendar
Navigation :
Inventory Vision Operations (USA) Setup Financial Books Define
Query for the Short Name : Vision Operations

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

148

Get the Calendar


Name : Accounting as shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

149

Go to Calendar and check for status of period open or not


Inventory Vision Operations (USA) Setup Financial Calendar Accounting
Query for the Calendar : Accounting as shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

150

Shows the following

In the above if period is not available then create new period by using new ( green Colour )
Prefix
May

Type
Month

Year
2011

Quarter Num ( Month ) From


To
Name
2
5
01-MAY-2011 31-MAY-2011 May-11
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

151

Name will be generated automatically


Name : Prefix ( May) last two Digits of the Year (11)
Save the above Accounting Calendar
Now Check for period is open or not
Checking for INV
Login into inventory
Inventory Vision Operations ( USA ) Accounting Close Cycle Inventory Accounting Periods M1

Go to Change Status to Open

( May -11

2100

Checking for ( PO and GL )


Login into Purchase
Purchase Vision Operations ( USA ) ( Ctrl + L ) it will open all the forms
Find : %period%
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

152

Select Find

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

153

In the above : Control Purchasing Periods is for PO


Open and Close Periods is for GL
Select Control Purchasing Periods for PO
Make the Status as Open for the period May 11 as shown below and save it

Again ( Ctrl + L )
Find : %period%
Select Open and Close Periods for GL

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

154

Select Open Next Period Yes your request Id is 2718521 OK


Go to SRS window and check for Request status
View Request
Back End Process to Open GL Periods :
SELECT * FROM all_tables
WHERE table_name like '%PERIOD%STAT%';
SELECT * FROM GL_PERIOD_STATUSES;
UPDATE gl_period_statuses
SET
closing_status ='O'
WHERE Period_Name ='Jun-11';
Receiving Goods ( Items ) :Items can be received in the following Methods
1) 2-Way

2) 3-Way

3) 4-Way

1) 2 Way method : Purchase Order for the Items


Receiving the Items
All the items will be received and Invoice will also be prepared all Ordered Items
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

155

2) 3-Way Method :

Purchase Order for the Items


Receiving the Items.
Counting the Items.
Invoice will be prepared for only received items ( Count ).

3) 4 Way Method :

Purchase Order for the Items


Receiving the Items.
Counting the Items.
Inspecting Items
Invoice will be prepared for only items with out damage.
Inferior Quality Items will be rejected and Invoice will be prepared after quality inspection.

Creation of a Receipt :Purchasing Vision Operations ( USA ) Receiving Receipts

Enter the Purchase Order No : 4422 and Select Find


Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

156

In the above we can select New Receipt / Add to receipt


Receipt Date : 30-dec-2010 ( it should be open )
Comments : Receipt for the Purchase Order No.4422
Close the form
Lines ( Tab )
Check

Quantity
75

Select Headers
Save it
It generates the receipt Number : 9609
Receipt Master Information will be stored in a table :

RCV_SHIPMENT_HEADERS

Lines information will be stored in a table : RCV_SHIPMENT_LINES


Shipment Information will be stored in a table : RCV_TRANSACTIONS_INTERFACE
select * from RCV_TRANSACTIONS_INTERFACE where trunc(creation_date) = trunc(sysdate)
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

157

Counting Items:
Purchasing Vision Operations ( USA ) Receiving Receiving Transactions

Enter the Purchase Order : 4422 and Select Find


Lines ( tab )
Quantity
Check
75
Check
25
As shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

158

Save the above


The above counting information will be stored into the table called : RCV_TRANSACTIONS
View Request to see the receiving transactions (Receiving Transaction Processor )
It moves the data from RCV_TRANSACTIONS_INTERFACE table RCV_TRANSACTIONS
select * from RCV_TRANSACTIONS where trunc(creation_date) = trunc(sysdate)
Once data has been moved it will impact on the following table
1) MTL_MATERIAL_TRANSACTIONS
select * from MTL_MATERIAL_TRANSACTIONS where trunc(creation_date) = trunc(sysdate)
2) MTL_TRANSACTION_ACCOUNTS
select * from MTL_TRANSACTION_ACCOUNTS where trunc(creation_date) = trunc(sysdate)
3) MTL_ONHAND_QUANTITIES_DETAIL
select * from MTL_ONHAND_QUANTITIES_DETAIL where trunc(creation_date) = trunc(sysdate)
Check Purchase Order
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

159

Purchase Orders Purchase Orders


Query for the purchase order : 4422
Select Shipments Status ( tab )
Check the ordered and received Number
Checking For Transactions ;
Inventory Vision Operations ( USA) Transactions Material Transactions M1
From Date :

To Date :

Select Find

Payments:
REQ RFQ QUATATION PO RECV PAY
Payable Vision Operations ( USA )
Ctrl + L : %period%
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

160

Ap Accounting ( period should be open )


Creating Invoice :
Pre-Req : Calendar Period Should be Open
Payable Vision Operations ( USA ) ( Ctrl + L )
Find : %period%
Ap Accounting Period

Creating Invoice :
Payable Vision Operations ( USA ) Invoices Entry Invoices

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

161

Type

Supplier
REG10_SUPP
Invoice Number
HYD_INV_JUN_10

Supplier Num
Site
Invoice date
5037
REG10_SRNAGAR 21-MAY-2011
Invoice Amount
15000 ( 3 items X 5000 )

Standard

Save the above


Note : the above information will be stored into the table : AP_INVOICES_ALL
Select Match
Purchase Order
Num : 4422
Select Find
Check for the Match as shown below

Select Distribution
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

162

Check Match and Enter the following


Quantity Invoiced : 3 Match Amount : 15,000 ( auto )
See the Control Amount and Actual Amount ( ensure that, both are same amount)
Save the above
Note : Distributions Information will be stored into the table : AP_INVOICE_DISTRIBUTIONS_ALL

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

163

Checking for status :


Initially Status : Never Validate
Select Actions
Check Validations as shown below and OK

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

164

Status : Validated ( shows after Validate Checked )


Checking for Accounting :
Tools View Accounts ( enabled / disabled ) ( initially it will be disabled )
Go to Actions and Check the Create Accounting OK
Now see the
Status : Validated
Accounted : Yes.
Tools View Accounts ( it will be enabled )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

165

Accounting Entries in a tables


AP_ACCOUNTING_EVENTS_ALL
AP_AE_HEADERS_ALL
AP_AE_LINES_ALL

Once accounting completed the above tables will be impacted.


Paying Amount :
Go to Actions
Check Pay in full OK
Type
Quick

Bank Account
BofA

Document
CHECK

Doc Num
2472

Save the above


Checking Status of Purchase Order ( Checking for Billing )
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

166

Purchasing Vision Operations ( USA ) Purchase Orders Purchase Orders


Query with P.O Num : 4422 ( F11 and Ctrl + F11 )
Status : Approved, Closed
Go to Shipments and Status ( tab ) it shows Billed ( No.Of Items )

Ordered
3

Received
3

Billed
3

Update Banks (Accounting):


Payable Vision Operations ( USA ) Payments Entry Payments
Query for the Check Num as shown below :
Document Num : 2472

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

167

It shows following

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

168

Go to Tools View Accounting ( it will be disable mode )


Select Actions
Check Create Accounting OK
Go to Tools View Accounting ( it will be enable mode )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

169

Close the above


Go to Actions and Select Format ( check format ) OK
Bank information will be available in the following tables :
Bank Branches : AP_BANK_BRANCHES
Bank Accounts : AP_BANK_ACCOUNTS_ALL
Checks
: AP_CHECKS_ALL
Check Formats : AP_CHECK_FORMATS

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

170

Updating the Bank Account :


Cash Management Vision Operations ( USA ) Bank Statements Bank Statements and Reconciliation

Select New

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

171

Enter Account name : Bofa ( Remaining Details will be populated automatically )


Date : 11-JUN-2011
Statement Number : 11-JUN-2011 ( auto )
GL Date : 11-JUN-2011 ( auto )
Save the above
Select Lines

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

172

Type
Payment

Number ( Check Num )Transaction Date ( auto )


2472
12-JUN-2011

Amount
15000

Save the above


Bank Statements Master ( Header ) information Table : CE_STATEMENT_HEADERS_ALL
Bank Statements lines information Table : CE_STATEMENT_LINES
Clearing the Transactions :
Bank Statements Manual Clearing Clear Transaction

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

173

In the above Enter


Account Name : BofA
Select Find

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

174

In the Query for the Check Number

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

175

Check Type ( payment


Select Clear Transaction it clears the transaction
Checking for Cleared or not
Enter the Check Number and Query for it ( It will not show any details i.e it was cleared )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

176

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

177

Bill Of Material ( BOM )


Manufacturing Cost = Material Cost + Resources Cost + Dept Maintenance Cost
Refer the Business process flow document page No.09.
Material Cost :
The Purchase cost of a CPU Sub Assembly Item is as follows
CPU (Sub Assembly)
Mother Board
1000 USD +
CD Drive
750 USD +
Floppy Drive
250 USD
-------------Purchase Item Cost
2000 USD
=========
Manufacturing Cost of CPU Sub assembly is as follows
Purchase Item Cost is
2000 USD
Operations Cost
Soldering Dept Cost
100 USD
Fixing Dept Cost
500 USD
600 USD
Departmental Overheads
650 USD
-------------Manufacturing Cost of CPU
3250 USD
========
The Purchase cost of a CPU Sub Assembly Item is as follows
CPU (Sub Assembly)
2000 USD
Mouse
100 USD
Printer
900 USD
Monitor
500 USD
-------------Purchase Item Cost
3500 USD
=========
Manufacturing Cost of CPU Sub assembly is as follows
Purchase Item Cost is
3500 USD
Operations Cost
Soldering Dept Cost
100 USD
Fixing Dept Cost
500 USD
Variable cost of an Item
Assembly Dept Cost
400 USD
1000 USD
Departmental Overheads
1000 USD
Fixed Cost Apportionment
-------------Manufacturing Cost of Dell Computer
========
Selling Price of Dell Computer is

5500 USD
6000 USD

Resources :
1) Man Power 2) Machine Power
Total Cost
Material Cost + Fixing Resources Cost + Soldering Resources Cost + Assembling Resources Cost +
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

178

Fixing Dept Maintenance Cost + Soldering Maintenance Dept Cost + Assembly Dept Cost
BOM Module consists of the Following
1) Items
2) Resources
3) Routing
4) BOM ( child components )
Creation of Resources :
This involves following steps :
1) Create the resources
2) Create the Dept
3) Create the Association between Resources and Dept.
Navigations :
We can either of the following responsibilities
1) Bill OF Material
2) Manufacturing and Distribution Manager.
If not available add the above to OPERATIONS user.
Bill OF Material Routing Resources M1
(or )
Manufacturing and Distribution Manager Bill Of Material Routing Resources M1

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

179

Resource : FIX_RSRC1
Desc : Fixing Resources One ( as desired )
Type : person
UOM : HR
Charge Type : WIP Move
Check the Costed
Absorption Account : 01-000-5810-0000-000 ( Ctrl + L ) Misc
Variance Account :
01-000-5380-0000-000 ( Ctrl + L ) Misc
Company : 01
Department : 000
Account : 5380
Sub-Account : 000
Product : 000
Absorption Account means actual Salary Account ( fixed one )
Variance Account Allowances + Over Time + others benefits ( variable )
Select

Rates

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

180

Cost Type : Pending

Desc : Pending Standard Cost Type

Unit Cost : 125.00 ( Rate per hr)

Save the above


Over head it is for Company Officials ( Conveyance and other allowances )
And for Machinery ( extra expenses such oil, grease etc )
Resources Master information is available in the table called : BOM_RESOURCES
select * from BOM_RESOURCES where trunc(creation_date)=trunc(sysdate)
Resource Cost information is available in the table called : CST_RESOURCE_COSTS
select * from CST_RESOURCE_COSTS where trunc(creation_date)=trunc(sysdate)
Similarly crate for Fixing alternative resource ( second )
Similarly create for Soldering Resource ( first and second )
Similarly create for Assembling ( first and second )
Creation of Dept :
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

181

Bill OF Material Routing Department M1


(or )
Manufacturing and Distribution Manager Bill Of Material Routing Department M1( if not
showing go to change Organization and Change to M1 )

Dept : DEPT_FIX
Desc : Fixing Department
Location : HYD_AMEERPET ( value from HR_LOCATIONS table )
Select Resources

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

182

Save the above


Borrowed barrowed from the other dept or from the out side.
When un checked available for 24 hours, then Shifts ( tab ) will be enabled
Save the above
Select Rates

Cost Type :pending


Over Head : Indirect

Basis : Item
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

183

Save the above


Dept master information is available in the table called : BOM_DEPARTMENTS
select * from BOM_DEPARTMENTS where trunc(creation_date)=trunc(sysdate)
Dept resource information is available in the table called : BOM_DEPARTMENT_RESOURCES
select * from BOM_DEPARTMENT_RESOURCES where trunc(creation_date)=trunc(sysdate)
Routing :
It is a sequence of Manufacturing.
Eg: To Manufacture a CPU the following sequence should be required.
1) Fixing Department

2) Soldering Department.

Pre-Requisite for Routing.


BOM flag of the Items should enabled
Inventory Vision Operations ( USA ) Items Master Item
Bills ( tab ) BOM Allowed ( should be enabled )
Navigation for Routing :
Manufacturing and Distribution Manager Bills Of Material Routing Routing

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

184

Item : Hyd_CPU
Main (tab)
Seq
10

Department
DEPT_FIX

Effective Date
26-MAY-2011 00:01:38

WIP (TAB ) Back Flash


Enable ( decreasing the raw material quantity
Increasing the finished goods quantity)

ECO ( tab ) Engineering Change ( Implemented enabled )


Place the cursor on the Dept filed then select Operation Resources

Seq
1

Resources
FIX_RSRC2

UOM
HR

Basis
Item

Usage Inverse (auto ) Units


4
.25
1

Schedule
Yes

Similarly for Soldering Dept.


BOM Routings Master information will be stored into the table called :
BOM_OPERATIONAL_ROUTINGS
select * from BOM_OPERATIONAL_ROUTINGS_V where trunc(creation_date)=trunc(sysdate)
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

185

BOM Sequence of Operations information will be stored into the table called :
BOM_OPERATION_SEQUENCES
select * from BOM_OPERATION_SEQUENCES_V where trunc(creation_date)=trunc(sysdate)
BOM Sequence Resources information will be stored into the table called :
BOM_OPERATION_RESOURCES_V
select * from BOM_OPERATION_RESOURCES_V where trunc(creation_date)=trunc(sysdate)
Routing Details where to item to be moved ( Sub Inventory Information )
Creation of BOM :
Navigation:
Manufacturing and Distribution Manager Bills Of Material Bills Bills

Enter the Child Items information


Item Seq Operation Seq Component
Quantity
From
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

186

10

Hyd Mother Board

Supply Type : Assembly Pull ( Purchase from Third party


Operational Pull ( Internal Purchase )

26-MAY-2011 00:47:11
Sub Inventory
stores

Checking for the Cost


Manufacturing and Distribution Manager Inventory Costs Item Costs
BOM Master information table : BOM_BILL_OF_MATERIALS_TEMP
BOM Child Components information Table : BOM_INVENTORY_COMPONENTS_TEMP
BOM Parameters : BOM_PARAMETERS
Generating Bill :
Manufacturing and Distribution Manager Bills Of Material Bills Bills
Item : Hyd CPU ( Query for it )
Tools Rollup Cost
Cost Type : Pending
OK Submit Request Id OK
Cost Rollup - Print Report ( Refresh it and View output )
Checking for the Cost
Manufacturing and Distribution Manager Inventory Costs Item Costs

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

187

O-2-C Cycle
1)
2)
3)
4)
5)
6)

( Order To Cash )
Sales Order
Shipping
Invoice
Receiving
Accounting
Bank Updates

Creation of a Sales Order


Pre-requisite :
1)
2)
3)
4)
5)

Item should exist


Item on hand stock should be available in stores.
Pricing List should be defined ( Pricing )
Customer should exist.
Periods should be opened

Creation of Selling Price :


Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

188

Pricing is a Module where we can define the pricing of an Item.


Navigation :
Oracle Pricing Manager Price List Price List Setup
Name : Corporate ( Query it ) it shows the following.

Go to List Lines ( tab ) and create New


Product Context
Item

Product Attribute
Item Number

Product Desc
Hyd Computer

UOM
Ea

Value
13500

Application Method
Unit Price
Pricing Master information stored in the table called : QP_LIST_HEADERS
select * from QP_LIST_HEADERS where NAME='Corporate'
Pricing Lines information will be stored in the table : QP_LIST_LINES
select * from QP_LIST_LINES where trunc(creation_date)=trunc(sysdate)
Creation of a Customer :
To create a customer profile should defined
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

189

Profile contains
1) Payment Terms

2) Collector

3) Statement ( installments )

After creating profiles it should be assign to customer.


Creation Payment Terms :
Receivable Vision Operations ( USA ) Setup Transactions Payment Terms

Name : IMMEDIATE ( instead of creating take existing )


Seq
1

Amount
100

Days
0

If Name : IMMEDIATE
Amount : 100 ( 100% payment )
Due Date : 0
Payment terms for amounts due immediately: chargebacks, quickpay, grants
**************
If Name : 2 Net
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

190

Amount : 100 or can be changed


Due Date : 2 days
**************
iF Name : 2/10, Net 30
Amount : 100 ( 100% payment )
Due Date : 30
2% discount earned if paid within 10 days. Payment terms can include a discount % for early payment and
you can assign multiple discounts to each payment term line.
If Name : 3/10,2/30,Net60
Multiple discount terms, if paid within 10 days a 3% discount is applied, if paid within 11-30 days 2%
discount is applied, if paid after 30 days no discount is allowed.
Payment terms Master information such as NAME will be stored into the table : RA_TERMS
select * from RA_TERMS where NAME='IMMEDIATE'
Payment terms Line information will be stored into the table : RA_TERMS_LINES
select * from RA_TERMS_LINES
Payment terms Discount information will be stored into the table : RA_TERMS_LINES_DISCOUNTS
select * from RA_TERMS_LINES_DISCOUNTS

Creation of Collector :
Receivable Vision Operations ( USA ) Setup Collections Collectors

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

191

Ctrl + F11 will be obtained all


Place the cursor in the lines and select New to create New
Collectors information will be stored into the table called : AR_COLLECTORS
Name : Hyd_Rao
Employee name : MNRAO, RAO ( Employee of the company) from the table PER_ALL_PEOPLE
select * from AR_COLLECTORS where NAME='Hyd_Rao'
select * from AR_COLLECTORS where trunc(creation_date) = trunc(sysdate);

Creation of Statement :
Receivable Vision Operations ( USA ) Setup Print Statement Cycle
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

192

Query for the existing one ( ctrl + F11)

Name : Monthly / Quarterly / Weekly


Recommended one is Monthly
Statement Master information will be stored into the table called : AR_STATEMENT_CYCLES
Statement Cycle Dates information will be stored into the table : AR_STATEMENT_CYCLE_DATES
Statements Intervals information : AR_STATEMENT_CYCLE_INTERVALS
Creation of Profile :
Create the profile with the following
1) Payment Terms
2) Collector

3) Statement ( installments )

Receivable Vision Operations ( USA ) Customers Profile Class


Name : HYD_PROF_CLASS

Desc : Profile Class for Hyderabad Company


Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

Check Active
193

Profile Class ( Tab )


Collectors :
Name : Hyd_Rao

Payment Terms : IMMEDIATE

Finance Charge :
Days in Period : 30
Statements :
Cycle : Monthly
Dunning :
Letter Set : STANDARD
Note : Dunning is for defaulters for one time settlement.
Credit Profile ( tab)
Classification : Low Risk
Period Review Cycle : Monthly
Analyst : Stock, Ms. Pat
Tolerance : 0
Profile Class Amount ( tab ):

Profile Class information will be stored into the table called : HZ_CUST_PROFILE_CLASSES
select * from HZ_CUST_PROFILE_CLASSES where trunc(creation_date) = trunc(sysdate)
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

194

Profile Amount information will be stored into the table called : AR_CUST_PROF_CLASS_AMOUNTS
select * from AR_CUST_PROF_CLASS_AMOUNTS where trunc(creation_date) = trunc(sysdate)

Customers are of types : 1) Person

2) Organization

Person Purchase by the Individual Person


Organization Purchase by a Company
Customer Hierarchy :
1) Type of Customer
2) Name of the Customer

Customer Master

3) Customer Number
4) Address : Address1, Address2, Address3 ( Called as Sites )
Sites
Site use
Contacts

1) Ship To Location2) Bill To Location


Person, Mobile, FAX, E-Mail.

Customer Master

Customer Location

Global Information
Address ( Physical Location ) ( INDIA, USA, UK )

Site

Site Usage

Contact Points

Ship To and Bill To

1) Global Level

2) Address Level

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

195

Creation of a Customer :
TCA ( Trading Community Architecture ) is a Customer Module in 11i
Navigation :
Receivable Vision Operations ( USA ) Customers Standard
Customer Type : Organization
Customer
Name : HYD_CUST

Select Find

Select

Customer Type : Organization


Name : HYD_CUST

New to create new customer


Check Active

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

196

Skip the Address (tab)


Classification (Tab)
Profile Class : HYD_PROF_CLASS

Type : external

Order Management ( tab )


Price List : Corporate
Marketing ( tab ) it is an Optional
Communication ( tab )
Communication Type : Telecommunication ( Choose ) / E-mail
Country Code Area Code
1
040

Telephone Number Extension Type


Primary
66361220
2
Telephone Check

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Purpose
Business

Active
Check

197

Contacts ( tab )
Last : xxPerson and details

Active ( check)

Address ( tab ) at the beginning


Select

New

Country : India ( preferred United Stattes bcoz Taxation rules have been defined for US )
Address : Flat No-01, Block No-A, Ameerpet, Hyderabad
Check Active
Usage
Bill To ( first create Bill to )
Ship To ( dont in the immediate line , first save the Bill to and close, then Select Address New, then Ship To Address )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

198

Save the above


Bill to and Ship to Location : ( 9204 and 9206 will be generated automatically )
Customer Master information available in the table :
Organization Information HZ_CUST_ACCOUNTS
select * from HZ_CUST_ACCOUNTS where trunc(creation_date) = trunc(sysdate)
Customer Information HZ_PARTIES
select * from HZ_PARTIES where trunc(creation_date) = trunc(sysdate)
All TCA tables starts with HZ
Address information HZ_LOCATIONS
select * from HZ_LOCATIONS where trunc(creation_date) = trunc(sysdate)
Sites Information ( Organization ) HZ_CUST_ACCT_SITES_ALL
select * from HZ_CUST_ACCT_SITES_ALL where trunc(creation_date) = trunc(sysdate)

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

199

Sites Information ( Person ) HZ_PARTY_SITES


select * from HZ_PARTY_SITES where trunc(creation_date) = trunc(sysdate)
Creation of a Sales Order
Pre-requisite :
1)Item Should exist
2) Cost should be defined ( Pricing )
3) Check for the periods are opened
1 and 2 have already been completed .
Check for the periods are opened
Receivable Vision Operations ( USA ) ( Ctrl + L )
Fined : %period%
Select Open / Close Accounting period
Make the Status as Open as shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

200

Navigation to create Order Entry ( sales order )


Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders

Order Information ( tab )


Main ( tab )
Customer : HYD_CUST ( remaining details will be populated automatically )
Order Type : Mixed ( choose ) / Standard / Returned
Standard Sending goods from the Organization to Customer
Returned Returned goods from Customer to Organization ( case of damaged goods )
Mixed Both ways ( it is recommended )
Others ( tab ) ( will populated automatically, need not enter any one )
Payment Terms : IMMEDIATE

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

201

Where House : M1 ( inventory location )


Destination)

FOB ( fright on board ) : Standard ( Returning Damaged goods to

Line Items ( tab )


Lien
1.1

Ordered Item
Hyd CD Drive

Qty
2

Unit Price Extended Price ( Qty * Unit Price ) Request Date


1500.00
3000.00
31-MAY-2011 22:49:42

Save the above it generates Order Number : 56699 ( any one ) 56703
Check for availability
Select Availability ( place the cursor on Qty )
If items are available fine.

Master Information ( Headers ) OE_ORDER_HEADERS_ALL


select * from OE_ORDER_HEADERS_ALL where trunc(creation_date) = trunc(sysdate)
Lines Information OE_ORDER_LINES_ALL
select * from OE_ORDER_LINES_ALL where trunc(creation_date) = trunc(sysdate)
to check the on hand quantity transaction period should be open ( for this check the previous in the above )
If items are not available increase on hand stock
Creation of a Transaction :
Inventory Vision Operations ( USA ) Transactions Miscellaneous Transactions ( M1 )

Customer Service Representative will enter the all the above details and takes the confirmation from the
customer based on the payment terms weather it is Immediate payment or Credit Limit.
After entering all the details Header level Status :Entered
Line Level Status : Entered
If do not have the credit limit order to be cancelled or it put into hold.
Canceling the Order
Select Actions Cancel
To Cancel specific line only, place the cursor on the specific line and select Actions and Cancel
Depending on credit limit Cancellation of entire order / specific line.
Select the reasons for cancel and Specify the comments
Stopping order temporarily ( holding the order )
Place the cursor header level and select Actions and Apply Holds
Apply Hold Name : Booking Hold
Hold Unit :
( for next three days )
Hold Comments :
Select Apply Holds OK
Holding information is available in the table called : OE_HOLD_DEFINITIONS
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

202

select * from OE_HOLD_DEFINITIONS where trunc(creation_date)=trunc(sysdate)


Once order is in Hold we can not Book the order.
Checking for Order is in Hold :
Select Book Order and check it (or ) Select Actions Additional information

Releasing Hold
Select Actions Release Holds
Reason : Configuration is valid.
Comments : Customer has paid the Amount.
Select Release OK

Release information is available in a table : OE_HOLD_RELEASES


select * from OE_HOLD_RELEASES where trunc(creation_date)=trunc(sysdate)
Each line can be applied for release.
Booking Order:
Select Book Order
Order has been booked OK
Header Status : Booked
Line Status : Awaiting Shipping
After the order has been Booked, the Customer Service Representative will send following information to Shipping
Department through E.Mail / FAX
Customer Details
Ship To
Order Num
Schedule Date
Shipping department will forward the same to Inventory Department.
If the items are available, then it will be delivered ( pick release ) is based on LIFO/FIFO/RANDOM
Default is FIFO.
Once picked the item from the inventory, it will be moved to Security Point Called as Staging Area
The items which are in Staging Area are called as Reserved Items

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

203

Picking the Item from the Inventory :


Order Management, Super User Vision Operations ( USA ) Shipping Transactions

From Order Number : 56703


Select Find

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

204

Line Status : Ready to release


Select Lines/LPNs
Actions : Launch pick release
Select GO
It shows following
Number of concurrent requests launched successfully:
1. Number of requests that failed: 0.
IMP NOTE : Launch pick release will run the following three Concurrent Programs
1) Pick Selection List Generation
2) Pick Slip Report
3) Shipping Exceptions Report
View Request Find it shows the status above three programs

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

205

Sales Order Summary :


Operations

Header Level Status

Line Level Status

Order Entry Level

Entered

Entered

Booked

Booked

Awaiting for
Shipping

Pick Confirm

Booked

Picked

Ship

Booked

Shipped

Acknowledgement

Booked

Closed

Shipping Confirmation :
1) Bill of Lading ( Weight of Item )
2) Packing Slip Report ( Where to Deliver : Ship To location and Bill To location )
3) Commercial Invoice ( Sales people will be collecting Money from customer and they prepare Invoice for
Material Cost only excluding tax and others and sent to Inventory . This Invoice is called as Commercial
Inventory )
4) Vehicle Load Sheet Details ( LIFO, FIFO )
5) Interface Trip Stop ( delivery points1, points2, points3,. )
Some goods at point1, and some goods at point2, .

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

206

Navigation :
Order Management Super User, Vision Operations ( USA ) Shipping Transactions

Enter the From Order Number : 56703


Select Find

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

207

Place the Cursor on Deliveries ( tab )


Select Action : Ship Confirm ( as shown above )
Select

GO OK

When click on

GO

delivery was successfully confirmed

OK

Ship Confirm request will call all the above five programs

Shipping Tables are


WSH_DELIVERIES
WSH_NEW_DELIVERIES
WSH_DELIVERY_DETAILS

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

208

WSH_DELIVERY_ASSIGNMENTS
Trip information tables are
1) WSH_TRIPS
2) WSH_TRIP_STOPS
To check the status after shipping
Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders
Query with Order Number : 56703

Headers Status : Booked


Line Status : Shipped
Once Delivered to the Customer. Acknowledgement ( consignment ) will taken from the customer.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

209

Acknowledgement ( consignment ) means taking the customer signature stating that, received the so and so goods
on so and so date
Once Acknowledgement ( consignment ) has been taken from the customer, Inventory should be updated.

Updating Inventory :
Order Management Super User, Vision Operations ( USA )
View Request and run program called : Workflow Background Process.

Process Differed : Yes


Process Timeout : No
Click OK Submit

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

210

Workflow Background Process in turn will run the 1) Autoinvoice Master Program and 2) Autoinvoice Import Program.
Request Id (2727521 , 2727522, 2727523, 2727524 ) in the following screen.
Note : Autoinvoice Master Program is the parent of Autoinvoice Import Program. It showing in the following screen.

Auto invoice Master Program it will transfer the data from O.M base tables to RA Interface tables
RA Interface tables
RA_INTERFACE_LINES_ALL
RA_INTERFACE_DISTRIBUTIONS_ALL
RA_INTERFACE_ERRORS_ALL
Auto invoice Import Program It will transfer the data from RA Interface tables to AR Base tables.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

211

Checking for weather data has been moved or not ( Invoice has been generated or not ).
Here invoice is Customer Invoice.
Order Management Super User, Vision Operations ( USA ) Receivables Control Auto Invoice Interface Lines
Here Sales Order number is a Last filed.
Go to Sales Order field and Query with the Sales Order number ( 56703)

If no lines getting, then successfully data has been moved from RA Interface tables to AR Base tables.
If getting any lines, then error in moving data Click on Errors to see the errors.
Take the Sales order Number into a Notepad

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

212

Check for the Customer :


Receivable Vision Operations (USA ) Customers Standard

Select Find
It shows Customer Bill to and Ship To Addresses
It shows Customer Number : 3845 and party Number : 31197

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

213

Generating Customer Invoice:


Receivable Vision Operations (USA) Transactions Transactions
Query ( F11 )

Reference : 56703 ( Enter the Sales Order Number ) and Query for it ( CTRL + F11 )
It shows as shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

214

Take the Invoice Number : 10020677 and Total : 16,837.50 into a Notepad
Go to Number and Select JSP page ( Right side ) it shows the Invoice as below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

215

Select Lines Item for lines information.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

216

Receivable / Customer Invoice Master information will be stored in a table : RA_CUSTOMER_TRX_ALL


CT_REFERENCE is a column where Order Number ( 56708) stores.
select * from RA_CUSTOMER_TRX_ALL where trunc(creation_date)=trunc(sysdate)
Lines information table : RA_CUSTOMER_TRX_LINES_ALL
select * from RA_CUSTOMER_TRX_LINES_ALL where trunc(creation_date)=trunc(sysdate)
Take the Invoice Number : 10020677 into a Notepad

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

217

Collecting Money from the Customer :


Create the receipt and collect the money from the customer
Creation of a receipt :
Receivable Vision Operations ( USA ) Receipts Receipts
Payment Method : Manual Remittance
Receipt Number : 12345 ( Enter any number randomly )

Receipt Amount (USD ) : 12000


Receipt Type : Standard
Status : Confirmed
Details
Identify By
Transaction Number : 10020677 ( Paste the Invoice Number, which was taken into notepad )
( remaining details will be populated automatically )
It shows as below.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

218

Take the receipt number : 12345 ( into the note pad )


Take the Account Number : 10271-17621-619 ( into the notepad )
Select Apply
Save the above
Receipt details will be stored into the table : AR_CASH_RECEIPTS_ALL
select * from AR_CASH_RECEIPTS_ALL where trunc(creation_date)=trunc(sysdate)
Depositing into the bank :
Receivable Vision Operations ( USA ) Receipts Remittance
Account Number : 10271-17621-619 ( paste from the note pad )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

219

Select Auto Create

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

220

Enter the Receipt Number as shown above and Click on OK


Submit Auto Creation : Yes OK
View Request find (Automatic Remittances Creation Program will be running )

After Completed Normal View the Output


Take the Batch number : 1050 ( into the Notepad ) it can be from the output / remittance form

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

221

Confirmation to Bank people ( Approval )


Query with the Batch Number : 1050 as shown below.

Auto Create
Select Approve for Collecting and depositing into bank
Select Yes
View Request find (Automatic Remittances Creation Program)

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

222

Check the receipt status :


Receivable Vision Operations (USA) Receipts Receipts
Query with Receipt Number : 12345 as shown below

Select Receipt History

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

223

Check the Bank statement :


Cash Management Vision Operations (USA) Bank Statements Bank Statements and reconciliation
Account Number : 10271-17621-619 ( get from the notepad and paste here )
Remaining details will be populated automatically.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

224

Date : 06-JUL-2011
Receipts : 12000 ( enter the receipt amount )
Select Lines and New

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

225

Line

Type

Number ( receipt number )

Amount

Receipt

12345

12000

Save the above

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

226

Clearing Transactions :
Cash Management Vision Operations ( USA ) Bank Statements Manual clearing

Enter the Account Number : 10271-17621-619


Select Find
Query ( F11)

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

227

Enter Receipt Number : 12345 and Query

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

228

Check Transaction
Select

Clear Transaction

Receipt Status :
Receivable Vision Operations ( USA ) Receipts Receipts
Query with receipt Number : 12345

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

229

Status : Cleared
Select Receipt History

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

230

Invoice Status :
Receivable Vision Operations ( USA ) Transactions Transactions
Number : 10020677 ( Enter the Invoice Number and Query ) as shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

231

It shows as below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

232

To check the Payment History Click on JSP Page

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

233

See the payment and Outstanding Balance details in the above


To find table information of JSP Page Select About this Page and View Option

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

234

Discounts :
Oracle Pricing Module provides Qualifiers and Modifiers Concept for the Discount.
Qualifier The Customer, who is eligible for discount.
Modifier Defines rate of Discount which will be given to a Good Customer ( Qualifier )
If discount is given Invoice amount will reduced. If Survice charge is applied on the Customer, then invoice amount will
be increased.
Defining a Qualifier :
Before going to define a Qualifier we should run program called : Build Attribute Mapping Rules
Oracle Pricing Manager
View Request Submit New Request Single Request OK
Name : Build Attribute Mapping Rules
Submit and refresh.
Navigation :
Oracle Pricing Manager Qualifier Setup

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

235

Name : REG10_QUALIFY_GROUP
Description : as desired
Context

Attribute

Operator
Start Date

Customer

Customer Name

Value

From

End Date

REG10_CUST ( name of the customer ) 07-JUN-2011

07-JUL-2011

Start Date Must be before the End Date.


Save the above .
Qualifier Header information will be stored into the table called : QP_QUALIFIER_RULES
select * from QP_QUALIFIER_RULES where trunc(creation_date)=trunc(sysdate)
Qualifier Line information will be stored into the table called : QP_QUALIFIERS
Defining a Modifier :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

236

Oracle Pricing Manager Modifiers Modifier Setup

Type : Discount List

Number : REG_10_MODIFIER

Check Active

Name : REG_10_MODIFIER ( same as Number or can be different ) Version :1.0 ( depends on 1 st time, 2nd time )
Check Automatic
Currency : USD

Start Date : 07-JUN-2011

End Date : 07-JUL-2011

Desc : as desired
Select List Qualifier to attach the Qualifier
Check the box at Name as shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

237

Select OK OK

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

238

Modifier No

Level

Modifier Type Start Date

End Date

Auto Generated

Order ( i.e Header Level )

Discount

07-JU-2011

07-JUN-2011

Pricing Phase : Header Level Adjustments ( depends on Level . if it is order then, Header Level Adjustments
If it is line then, All Lines Adjustment. )
Application Method : Percent

Value : 10

Save the above


Note : The above information will not be stored into any table but it will impact the table : QP_LIST_LINES
select * from QP_LIST_LINES where trunc(creation_date)=trunc(sysdate)
Create the Sales and Check for the discount .
Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders
Enter the Item Quantity in lines and save it, then Discount will be applied for the Item

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

239

Apps Reports Using some Functional Concepts :


Eg :
SONY is a Company wants to Migrate from Main Frame Applications to Oracle Applications.
Step1:
GAP Analysis : It GAP between the Oracle ERP Package and Requirement of SONY Company.
GAP Analysis will be done by Solution Architect. He will prepare the High level document.
GAP Analysis document is called as : MD020.
Step2 :
It will be sent to Sr. F.C for more Analysis. F.C will Analyase the exact requirement to fulfill the GAP.
He define what are the RICE Components are required to fulfill the GAP.
F.C prepare the document for the Required components and sent to the T.C
Functional Document is Called as : MD050
Step3 :
Technical Consultant will go through the entire document and he will prepare the technical approach

for the requirement given by the F.C


Technical Consultant Approach Document is called as : MD070
Technical Consultant Analysis :
1) What is type of Report ( XML / RDF / (SQL or PL/SQL ) / OBIEE )
2) Type of output expected ( PDF / TEXT / XML / HTML )
3) Single Report / Multi Purpose report
After getting above information To develop the report T.C should identify the following
1) Tables

2) Columns

3) Mapping Columns 4) Join Condition / Filtering Condition.

To develop the above T.C should get information such as Application Name, Responsibility and Form
Name from the F.C
Eg:
ORGNAME ITEMNAME

DESCRIPTION

UOM

STATUS

Application Name : Inventory


Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

240

Responsibility : Inventory Vision Operations ( USA )


Form : Item Master Item
Required tables
ORGNAME from the table : ORG_ORGANIZATION_DEFINITIONS
Column :ORGANIZATION_NAME
ITEMNAME from the table : MTL_SYSTEM_ITEMS_B
Column : SEGMENT1
DESCRIPTION from the table : MTL_SYSTEM_ITEMS_B
Column : DESCRIPTION
UOM from table : MTL_SYSTEM_ITEMS_B
Column : PRIMARY_UNIT_OF_MEASURE
STATUS from the table : MTL_SYSTEM_ITEMS_B
Column : INVENTORY_ITEM_STATUS_CODE
After identifying all the tales and columns then write the Query with ( n-1 ) Join conditions
Here only two table, then one Join Condition is enough.
Fro the Join condition take the Common column between two tables
Query :
SELECT

ood.organization_name

ORGNAME,

msib.segment1

ITEMNAME,

msib.description

DESCRIPTION,

msib.primary_unit_of_measure

UOM,

msib.inventory_item_status_code STATUS
FROM

mtl_system_items_b

msib,

org_organization_definitions
WHERE

ood

ood.organization_id = msib.organization_id;

Manual Development :
Data Model :
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

241

Query as above
Layout Model :
Tools Report Wizard
Title : Item Details Report
Choose Table Option Next Next Next Shuttle the fields to display Next Next Next
Choose No Template ( as desired ) Finish
Save the above report :
Naming Conventions used in the Name of the Report :
CustomerName ApplicationShortName Purpose .rdf ( extension must be lower case )
Here :
XXINVITEMDETAILS.rdf
Parameters :
P_CONC_REQUEST_ID ( not mandatory )
Type : Number
Go to Properties of the Report Comments write the following
$Header:

POGVPRPL.rdf

115.7

2004/03/18

23:42

brajaman

ship

$
/*======================================================================+
| Copyright (c) 1994 Oracle Corporation
|

All rights reserved.

Oracle Manufacturing

Redwood Shores, CA. USA |


|
|

+=======================================================================+
Developed By :
Developed On :
Purpose :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

242

User Profiles
A user profile is a set of changeable options, which will be used to change the way of applications execution.
Oracle Application Object Library establishes a value for each option in a users profile when the user logs on or
changes responsibility.
Your user can change the value of profile options at any time. Oracle Application Object Library provides many options
that your users can set to alter the user interface of your applications to satisfy their individual preferences.
Purpose of change of execution
Eg:
There is a company called Reliance, for which Oracle Application has been installed
Different authority at different levels are working on the same Application
For example, login are
CLERK
SUPERVISOR
MANAGER
GENERAL MANAGER
MANAGING DIRECTOR
CEO
The above all authorities will not have same limits, every authority will have their own limits
For example

CLERK can purchase items for max value of $1000


SUPERVISOR $2000
MANAGER..$3000

Hence based their limits way of applications execution should be changed.


Based on profile of the employee application is to executed
Here profile means employee personal details such as clerk limits, branch of working, dept of working, position of
working.
Every module consists of 40 to 50 profiles.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

243

User Profile Levels


1)
2)
3)
4)

User Level
Responsibility Level
Application Level
Site Level

Oracle Application Object Library treats user profile levels as a hierarchy, where User is the highest level of the
hierarchy, followed by Responsibility, Application and at the lowest level, Site. Higherlevel option values override
lowerlevel option values.
Each user profile option ordinarily exists at each level. For example, Oracle Application Object Library
provides a sitelevel Printer option, an applicationlevel Printer option, and so on. Oracle Application Object Library
enforces the level hierarchy to ensure that higherlevel option values override lowerlevel values. As a result, if your
Sitelevel Printer value is Printer1, but your Userlevel Printer value is Printer2, your reports print on the printer2.
User Level :
User is the highest user profile level and is immediately above
Responsibility. Userlevel option values affect the way applications run for an application user.
Responsibility Level :
Responsibility is the user profile level immediately above Application.
Responsibilitylevel option values affect the way applications run for all users of a responsibility.
Application Level :
Application is the user profile level immediately above Site.
Applicationlevel option values affect the way a particular application runs.
Site Level :
Site is the lowest user profile level.
Sitelevel option values affect the way all applications run at a given installation.
Note : Default is site level
If we assign profile value at Site Level, then it is applicable for all users.
If we assign profile for more than on level then top level value will be given more priority
Application level profile overwrites the profile value at the SITE LEVEL
Responsibility level profile overwrites the profile value at the SITE LEVEL and APPLICATION LEVEL
User level profile overwrites the profile value at the SITE LEVEL ,

APPLICATION LEVEL , and

RESPONSIBILITY LEVEL.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

244

Latest Version Provides two more 1) SERVER LEVEL 2) ORGANISATION


These two are for future purpose.
Note : Most of the responsibilities will be assigned at the RESPONSIBILITY LEVEL.
Responsibility is a group of FORMS, REPORTS and PROGRAMS . It is for specific position in the organization
Application is also a group of FORMS, REPORTS and PROGRAMS . It is for specific buisiness in the organization
Application will be divided into responsibilities and the responsibilities will given to employees
Same forms will be grouped and named as responsibility and assigned user.
Diff between Application and Responsibility:
============================================
Both are Group of Forms(Menu)
Group of Concurrent Programs(Request Group)
Group of Users (Data group)
But Application as per the Business functionality requirement
Responsibility will group as per the position requirement.
Profiles : Profiles are used to change the run behavior of an application.
These are
1)
2)
3)
4)
5)
6)

Site ( Global )
Application
Responsibility
User
Server
Organization

5 and 6 will be used by the DBA.


Priority : 1) User 2) Responsibility 3) Application 4) Site ( Bottom to Top )
Access : 1) Site 2) Application 3) Responsibility 4)User ( Top to Bottom )

APPS ERP

AP

AP-INDIA
USER

AR

AP-US

Global /Site Level

GL

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

Application Level
245
Responsibility Level
User Level

Customization of profiles :
Navigation :
System Administrator Profile System

Profiles are as shown below.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

246

Eg :
Inventory Vision Operations ( USA ) Items Master Items M1 ( Seattle Manufacturing )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

247

In the form change of default value of Primary filed as per the following requirement.
Level

Value

Site

Box

Application ( INV )

Dozen

Responsibility

KG

User

Each

Steps :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

248

1) Identify the profile name


After opening Mater Item Form : Edit Preferences Profiles

Query for the profile Profile Name ( F11 ) INV% ( ctrl + F11 )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

249

Take the INV: Default Primary Unit of Measure into the notepad
1) Customization at Site level
Go to System Administrator Profiles System

Select Site
Profile = INV: Default Primary Unit of Measure ( paste, which was copied into the notepad )

Click on find and site level value as BOX as shown below

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

250

Save and close the form


Go to Mater Item form and check the default value at all levels
Inventory Vision Operations ( USA ) Item Master Item M1
2) Application Level
Go to System Administrator Profiles System
Select Application = inventory
Click on Find
Application ( Inventory ) = Dozen
Save and close the form
Go to Mater Item form and check the default value at all levels
Inventory Vision Operations ( USA ) Item Master Item M1
Add Manufacturing and Distribution Manager Application to OPERATINS User and test
Manufacturing and Distribution Manager Inventory Items Master Item M1

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

251

3) Responsibility level
Select Responsibility = Inventory, Vision Operations (USA)
Profile = INV: Default Primary Unit of Measure
Click on Find
Responsibility = Kilogram
Save and close the form
Go to Mater Item form and check the default value at all levels
Inventory Vision Operations ( USA ) Item Master Item M1
4) User level
Select Responsibility = Inventory, Vision Operations (USA)
Profile = INV: Default Primary Unit of Measure
Click on Find
Responsibility = Kilogram
Save and close the form
Go to Mater Item form and check the default value at all levels
Inventory Vision Operations ( USA ) Item Master Item M1
To test the above create New User and
Add the following responsibilities
1) Inventory Vision Operations ( USA )
2) Manufacturing and Distribution Manager
Go to Master Item form for Testing
Inventory Vision Operations ( USA ) Items Master Item M1
Manufacturing and Distribution Manager Inventory Items Master Item M1

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

252

Eg 2 :
Default of Item Status in the Master Item Form at different levels

Item Status
Level

Value

Site

Prod

Application ( INV )

Lease

Responsibility

Engineer

User

Active

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

253

Flex Fields :
There are two types of flex fields
1) DFF ( Descriptive Flex fields )
2) KFF ( Key Flex Fields )
In Oracle Applications Table contains 6 types of columns
1) Data Columns

2) Derived columns

3) Who Columns

4) Global Activity columns

5) Additional Columns 4) Key Columns

Additional Columns are used to store the DFF Data


Key Columns are used to KFF Data
Steps :
1) Obtain the profile as explained in previous example
After opening Mater Item Form : Edit Preferences Profiles
Query for the Profile name
(INV: Default Item Status )
Follow the as in the previous example.
1) Site Level
Eg:
Users
X1

MO : Operating Unit

Vision Operations

Y1

MO : Operating Unit

Vision Sweden

Z1

MO : Operating Unit

Vision Germany

Create the above users


Create User X1 with following responsibility
Application Developer
System Administrator
Purchasing, Vision Operations (USA)
Create User Y1 with following responsibility
Application Developer
System Administrator

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

254

Purchasing, Vision Colombia


Create User Z1 with following responsibility
Application Developer
System Administrator
Purchasing Vision Australia
Login as user X1 and purchase an item
Purchasing, Vision Operations (USA)
Requisitions
Requisitions
Login as user X1 and purchase an item
Purchasing, Vision Operations (USA)
Requisitions
Requisitions
How to get the user profiles
Fnd_Profile.Get('ProfileName',
local Variable);
local Variable:= Fnd_Profile.Value('Profile Name');
Both API's will be used to retrieve the Profile value frombackend
Get() is Procedure
Value() is Function
Oracle Has provided both Procedure and Function becuase in some of the areas we can not
use procedure then we can use function.
For Ex: in SELECT clause we can not use procedure we have to go for using the Function.
Prepare the following report
Submitted By :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

255

VendorId

VendorName

Cdate

TotalPO

Data Model
Query:
SELECT VENDOR_ID,
VENDOR_NAME,
CREATION_DATE
FROM PO_VENDORS
Take a formula at group level for TotalPO
Name : TOTALPO
PL/SQL Formula :
function TOTALPOFormula return Number is
l_total number(9);
begin
select count(*) into l_total from PO_HEADERS_ALL
where Vendor_Id=:Vendor_Id;
return l_total;
end;
First time check the report with out using Submitted User :
Submitted By User
To get current user ( profile )
fnd_profile.value(USERNAME);
to get the user name we have need
profiles
multiorg
flexfields
Go to report builder and follow the following steps
Step1:
create a bind parameter by name P_CONC_REQUEST_ID ( name always same and mandatory )
Step2 :
Create bind parameter to hold the user name P_USER ( as desired )
Step3:

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

256

Go to before report trigger and write the following code


function BeforeReport return boolean is
begin
srw.user_exit('FND SRWINIT' );
-- it will initialize the profile values
:P_USER:= fnd_profile.value('USERNAME');
return (TRUE);
end;
Step4:
Go to after report trigger and write the following code
function AfterReport return boolean is
begin
srw.user_exit('FNS SRWEXIT');
--it will remove the all profile values from memory and makes the memory as free
return (TRUE);
end;
Layout Model
Add the label and text field
Submitted By : < Text _ field > Map to bind parameter ( P_USER )

Responsibility Name
Take one more parameter (P_RESP )
Go to before report trigger and write the following code
function BeforeReport return boolean is
begin
srw.user_exit('FND SRWINIT' );
-- it will initialize the profile values
:P_USER := fnd_profile.value('USERNAME');
:P_RESP := fnd_profile.value('RESP_NAME'); -- It is added to previous.
return (TRUE);
end;
Layout Model
Add title responsibility name and text field

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

257

Responsibility Name : < text_field> map to P_RESP


To get Name of the Operating Unit
Add place holder column ( UNIT )
Go to before report trigger and write the following code
function BeforeReport return boolean is
l_id number(9);
begin
srw.user_exit('FND SRWINIT' );
-- it will initialize the profile values
:P_USER:= fnd_profile.value('USERNAME');
:P_RESP:=

fnd_profile.value('RESP_NAME');

fnd_profile.Get('ORG_ID',l_id);
select name into :UNIT from HR_OPERATING_UNITS
where organization_id=l_id;
return (TRUE);
end;
Layout Model :
Add label Organization : < Text Filed > map to UNIT
If login user is Operations then, display the Total field otherwise not requires
Right click on POTOTAL field in the Layout Model and write PL/CODE as shown below.
begin
If( : P_USER = OPERATIONS) then
return true;
else
return false;
end if;
end
PL/SQL Program

Create or replace procedure test_param_proc(


ErrBuff out varchar,
RetCode out number,
V_Id IN number,
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

258

V_Name IN varchar ) as
l_id number(2);
begin
select Vendor_Id into l_id from PO_VENDORS where Vendor_ID=V_ID;
update PO_VENDORS set Vendor_Name = V_name where Vendor_Id=V_Id;
commit;
FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor name has been updated successfully

'||

V_Name );
exception
when NO_DATA_FOUND then
FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor ID does not exits '|| V_Id );
when TOO_MANY_ROWS then
FND_FILE.PUT_LINE(Fnd_File.Output, 'Duplicate Vendor Found '|| V_Id );
when OTHERS then
FND_FILE.PUT_LINE(Fnd_File.Output, 'Other Errors ');
end;
5) create executable method as PL/SQL Stored Procedure

2) Create concurrent program as PL/SQL Stored Procedure


Out put format must be in text format only for PL/SQL Stored Procedure
Parameters
While supplying parameters Token is not necessary, as the parameters will be maintained in
sequential order by the stored procedures.
Input:
Vendor Id : 1
Vendor Name : DELL India Pvt. Ltd.
Important Questions
1) what is a profile
2) Which level most of the profile will be used
3) What are the important profiles
4) Tell some important profiles
5) How to get profiles from the back end.
Predefined User Profile Options
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

259

USERNAME : Your users current Oracle Application Object Library username.


USER_ID : Your users current Oracle Application Object Library user ID.
RESP_ID : Your users current responsibility ID.
APPL_SHRT_NAME : The short name of the application connected to your users current responsibility.
RESP_APPL_ID : The application ID of the application connected to your users current responsibility.
FORM_NAME : The name of the current form. Not available for concurrent programs.
FORM_ID : The form ID of the current form. Not available for concurrent programs.
FORM_APPL_NAME : The name of the application for which the current form is registered. Not available for
concurrent programs.
FORM_APPL_ID : The application ID of the application for which the current form is registered. Not available for
concurrent programs.
LOGON_DATE : Your users logon date for the current session.
LAST_LOGON_DATE : Your users logon date for the previous session.
LOGIN_ID

: Your users SignOn Audit login ID in Oracle Application Object Library.

CONC_REQUEST_ID : The request ID associated with a particular instance of your running current program. You
Can only use this profile option in a concurrent program. You use this profile option to fill the
REQUEST_ID Who column.
CONC_PROGRAM_ID : The program ID associated with a running current program. You can only use this profile
option in a concurrent program. You use this profile option to fill the PROGRAM_ID Who
column.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

260

Working with FORMS


Development Of A Form
Vendor Id
Vendor Name
Cdate
Total PO :
From PO_VENDORS ( table name )
1) Download the TEMPLETE.fmb from AU_TOP\Resource Folder
D:\oracle\visappl\au\11.5.0\forms\US
2)Open with Forms6i builder and delete the existing Window, Canvas, Block
Delete BLOCKNAME in Windows
Create new window
Properties
Name : SUPPWIN
Sub Class Information:
Select property class : WINDOW
Delete BLOCKNAME in Canvases
Create new Canvas
Properties
Name : SUPPCAN
Sub Class Information:
Select property class : CANVAS
Delete BLOCKNAME in Block
Create new Block
Table Name: PO_VENDORS
Columns : Vendor Id, Vendor Name, Creation Date
Layout Frame
Properties
Sub Class Information :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

261

Property Class : FRAME_RECT


Text Fields
Properties ( select all fields at a time )
Sub Class Information :
Property Class : TEXT_ITEM
Data Block
Properties
Name : VENDORSBLOCK
Sub Class Information :
Property Class : BLOCK
Form Module
Modify the following Triggers
Pre-Form
FND_STANDARD.FORM_INFO('$Revision: 115.12
$', 'Template Form', 'FND',
'$Date: 2003/12/19 11:02 $', '$Author: appldev $');
app_standard.event('PRE-FORM');
app_window.set_window_position('BLOCKNAME', 'FIRST_WINDOW');
/* In place of 'BLOCKNAME' supply the new window name as shown below /*
app_window.set_window_position('SUPPWIN', 'FIRST_WINDOW');
Compile and close
WHEN-NEW-FROM-INSTANCE
FDRCSID('$Header: TEMPLATE.fmb 115.12 2003/12/19 11:02 mzasowsk ship
$');
FDRCSID('$Header: SUPPFORM.fmb 115.12 2003/12/19 11:02 mzasowsk ship
$');
In the above statement replace the name TEMPLATE with FILENAME.fmb
APP_STANDARD.EVENT('WHEN-NEW-FORM-INSTANCE');
--- app_folder.define_folder_block('template test', 'folder_block', 'prompt_block', 'stacked_canvas', 'window',
'disabled functions');
-- app_folder.event('VERIFY');
-Compile and close

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

262

Program Units
APP_CUSTOM ( package body )
if (wnd = '<your first window>') then
replace the <your first window>
if (wnd = 'SUPPWIN) then
3) Compile and create .fmx file
To create fmx :

File administration Compile File

Create backup folder where the fmb file is located.


When compiled any errors generated, then it will be logged into the backup folder.
4) move the fmb into the au_top
D:\oracle \ visappl \ au \ 11.5.0 \ forms \US : SUPPFORM.fmb
Move the fmx into the custom top
Here for eg PO top:

D:\oracle\visappl\po\11.5.0\forms\US

5) Goto Applicaton Developer


Create Form
Application Developer Application form
Name of FMX file name
FORM

APPLICATION

USER FORM NAME

DESRIPTION

SUPPFORM

PURCHASING

SUPPFORM_DETAILS ( COPY )

AS DESIRED

Create Function
FUNCTION

USER FUNCTION NAME

SUPPFUNCT (any name )

SUPPFUNCT1 ( any name ) ( COPY )

Type : form
Form : SUPPFORM_DETAILS ( PASTE )
Create Menu
Menu : SUPPMENU ( any name )
User Menu Name : SUPPMENU_USER ( copy )
SEQ

PROMPT

SUBMENU

FUNCTION

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

263

as desired

optional

SUPPFUNCT1 ( paste )

6) System Administrator create responsibility


Menu : SUPPMENU_USER ( paste )
Here request group is not necessary
7) attach the responsibility to user
Responsibility : RESP_SUPP.
8) go to responsibility RESP_SUPP.
Adding Total PO to existing form
Go to form layout and add label and text filed
Text filed
Properties :
Name : TOTALPO
Sub Class Property :
Property Class : TEXT_ITEM.
Write the trigger on the above text filed
For non data base item edit the Block trigger called POST-QUERY ( block level )
begin
select count(segment1) into :TOTALPO from PO_HEADERS_ALL where vendor_id=:vendor_id;
end;
Q. What is the reason to down load the existing TEMPLATE.fmb file and customize it
Ans : to acquire AOL features into the new form such as open form, querying ( f11 ) and ctrl+f11
TEMPLATE.fmb is pre defined file which was developed to get the actions such as open form, querying ( f11 ) and
ctrl+f11 . TEMPLATE.fmb was developed with triggers and packages to achieve the actions.
Creation of New Tables ( User Own tables )
Steps
1) New Table
1) First connect to Schema ( INV ) and create the table

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

264

2) Grants to APPS
3) Create Synonym
2) Register table
Using buil-in package AD_DD we can register the table
1) New Table
connect to Schema ( INV ) and create the table
go to SQL * PLUS
User name : inv/inv@vis
Or
SQL> conn inv/inv@vis ;
SQL> show user ;
USER is "INV"
Create table
SQL> create table item_test ( item varchar2(100),
item_desc varchar2(100),
item_date date,
item_price number(9,2) ) ;
Grants
SQL> grant all on item_test to apps ;
SQL> CONN APPS/APPS@VIS
SQL> show user ;
USER is "APPS"
SQL> CREATE PUBLIC SYNONYM ITEM_TEST FOR INV.ITEM_TEST ;
2) Registration of table
Using AD_DD package we can register the table
To see the contents of above package go to TOAD tool and AD_DD ( f4 )
AD_DD package provides register_table procedure to register the table
register_column procedure to register the table columns
go sql command prompt and register
SQL> EXEC AD_DD.REGISTER_TABLE('INV', 'ITEM_TEST', 'T');
Registerthecolumns

SQL>EXEC AD_DD.REGISTER_COLUMN('INV','ITEM_TEST','ITEM',1,'VARCHAR2',100,'N','Y');
SQL> EXEC AD_DD.REGISTER_COLUMN('INV','ITEM_TEST','ITEM_DESC',2,'VARCHAR2',100,'N','Y');

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

265

SQL> EXEC AD_DD.REGISTER_COLUMN('INV','ITEM_TEST','ITEM_DATE',3,'DATE',11,'N','Y');


SQL> EXEC AD_DD.REGISTER_COLUMN('INV','ITEM_TEST','ITEM_PRICE',4,'NUMBER',9,'N','Y');
SQL> COMMIT ;
To see the above table from the front end
Go to application developer Application Database Table Query ( F11)
Q. why the table should be register
Ans : to get the AOL features such as WHO Columns, Table value sets, Flex Fields, Multi Args and Profiles
Attaching Calendar to From :
1) Select the field Property
List of values : ENABLE_LSIT_LAMP
Validate list : no
Write the item level trigger ( KEY_LISTVAL )
calendar.show(); /* API packaageName.procedure */
Attaching LOV on ITEM field of ITEM_TEST table :
Create Record Group
Based on Query :
select segment1 from MTL_SYSTEM_ITEMS_B
where ORGANIZATION_ID = fnd_profile.value('ORG_ID') ;
Properties :
Name : ITEM_RG
Create LOV :
Use the LOV Wizard
Select Return Item : ITEM_TEST.ITEM
Go to Properties of ITEM field
List of values : ITEM_LOV
Who Columns :
Values of these columns will be populated automatically
Table must be registered
Select the columns into the datablock
Eg :
Table ITEMS_INV

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

266

Contains 17 Clomns
1-7 Normal columns
8-11 Who Columns
12-17 DFF Columns
Who Columns are

CREATED_BY
CREATION_DATE
LAST_UPDATE_DATE
LAST_UPDATED_BY

The following Triggers are required (BLOCK LEVEL )


PRE_INSERT
Fnd_standard.set_who();
PRE_UPDATE
Fnd_standard.set_who();
PRE_INSERT is for the following Columns
CREATED_BY
CREATION_DATE
PRE_UPDATE is for the following Columns
LAST_UPDATE_DATE
LAST_UPDATED_BY
Development and Registration of Master Detail Form with Oracle Application
Requirement

Vendor Id :
Vendor Name :
Invoice

Type

Date

Amount

Paid Amount

Balance

Master Table : PO_VENDORS (Vendor_Id , Vendor_Name )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

267

Detailed Table : AP_INVOICES_ALL ( VENDOR_ID ( Join cond ), INVOICE_ID,


INVOICE_TYPE_LOOKUP_CODE, INVOICE_DATE, INVOICE_AMOUNT, AMOUNT_PAID)
Balance is a Non database Item.
1) Down load the form TEMPLATE.FMB
2) Remove old window, canvas, data block and Create new window, canvas, data block (master :
PO_VENDORS ) as explained previously
3) Edit PRE-FORM and WHEN-NEW-FORM-INSTANCE
4) Edit program units APP_CUSTOM ( APCKAGE BODY )
5) Create detailed block ( AP_INVOICES_ALL ) VENDBLOCK
6) Relation ( join : PO_VENDORS.VENDOR_ID = AP_INVOICES_ALL.VENDOR_ID )
7) Create Layout for Master ( PO_VENDORS ) and Detailed AP_INVOICES_ALL
8) On Layout of Detailed AP_INVOICES_ALL Create Balance Create non database item balance ( bal )
9) Write Block level trigger called ( POST_QUERY )
10) POST_QUERY trigger
:BAL := :INVOICE_AMOUNT - NVL(:AMOUNT_PAID,0) ;
11) move the fmb and fmx files and the same steps
Eg :
Table Name : ITEM_INV
createtableITEM_INV(itemvarchar2(100),
itemdescvarchar2(100),
itemcostnumber(9),
itemdatedate,
po_itemvarchar2(1),
inv_itemvarchar2(1),
INV_itemvarchar2(1),
created_bynumber(9),
creation_datedate,
last_updated_bynumber(9),
last_update_datedate,
attribute_categoryvarchar2(100),
attribute1varchar2(100),
attribute2varchar2(100),
attribute3varchar2(100),
attribute4varchar2(100),
attribute5varchar2(100)
);
Registerthetableanditscolumnsasexplainedinpreviousexample
Requirement:

Item:
ItemDesc:

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

268

ItemCost:
ItemDate:

InventoryItem

PurchaseItem

O Yes
O No

Down load the template form and develop the form


Fields Mapping
Itemitem
ItemDescitemdesc
ItemCostitemcost
ItemDateitemdate
InventoryIteminv_item
PurchaseItempo_item
RadioGroup(Yes/No)INV_item
RadioGroupinitialvalaue>Y
YesRadioButtonValueY
NoRadioButtonValueN
Allstepsaresameaspreviousexample.
AttachingtoDFFtoform:
1) TableMustberegistered
2) TableMustContainAttributeColumns
3) AttributeColumnsMustbeselectedintheform

CreateDFFcolumns
ApplicationDeveloperFlexFieldsDescriptiveRegister

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

269

copythetitleformtheabove(DFFTITLE)
gotosegmentsdoubleclickF11Title:DFFTITLE(paste)ctrl+F11
segments
NumberName
Column
Valueset
1
Itemcategoryattribute2
15character
2
ItemLocation
attribute3
15character
GotoLayoutformandaddtextfiledfortheDFF
Name:DFF
DateBaseItem:NO.
WritethetriggercalledWHENNEWFROMINSTANCE
APP_STANDARD.EVENT('WHENNEWFORMINSTANCE');
FND_DESCR_FLEX.DEFINE(BLOCK=>'ITEM_INV',

FIELD=>'DFF',

APPL_SHORT_NAME=>'PO',

DESC_FLEX_NAME=>
'ITEM_DFF');
'ITEM_DFF'NameDescriptiveField

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

270

WritethetriggercalledWHENNEWITEMINSTANCE(ITEMLEVELTRIGGER)
fnd_flex.event('WHENNEWITEMINSTANCE');

Calling a form from another form


Vendor Id : 1456
Vendor Name :

SITES
When Click on Sites
VendorId
1456

SiteCode
------

CreationDate
------

Address
----

City
---

1) Develop the Vendor Form with Vendor Id and Vendor Name and Sites ( button with out trigger )
Table Name : PO_VENDORS
2) Register the Vendor Form
3) Develop the Sites form with VendorId, SiteCode, CreationDate, Address, City
Table Name : PO_VENDOR_SITES_ALL
Data block fields are :
Vendor_ID, Vendor_Site_Code , Creation_Date, Address_line1, City
4) Register the Sites form
5) Write the trigger on Button of the Vendor Form
WHEN-BUTTON-PRESSED
Fnd_FunCtion.execute(function_name => 'Second form function Name',
open_flag => 'Y' ,
OTHER_PARAMS => 'P1 = '||:PO_VENDORS.VENDOR_ID );
Open Flag : Y Multiple forms can be opened
N only single form can be opened.
P1 is Second form parameter
6) Create the parameter ( P1) in the Sites form

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

271

Properties :
Name : P1
Data type : Number
Maximum Length : 9
7) write the trigger in the sites form
WHEN-NEW-FORM-INSTANCE
GO_BLOCK ( 'PO_VENDOR_SITES_ALL');
EXECUTE_QUERY();
8) Write the block level trigger
PRE_QUERY
:PO_VENDOR_SITES_ALL.VENDOR_ID := :PARAMETER.P1;
--:Blockname .fieldname
:= :PARAMETER.Parametername
Passing Parameters at the time of creating Functions:
Form
Form Function Parameters ( read only parameters )
Menu
Responsibility
User
Application developer
Function :

Sites form make it as read only :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

272

1)Develop the form ( eg : sites form )


2)Register the form
3)Create Two functions for the same form.
Application developer Application function
first function without parameters
second function is with parameter called 'QUERY_0NLY="YES" '
Description Tab :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

273

Properties Tab :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

274

Form Tab :

In the above form the value in the form for the both function will be same ( SITESFORM )
Here parameter is for the second function only, which will be linked to first function by the giving same names in the
form filed (SITESFORM ).

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

275

4) attach to menu

Call the function from following form

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

276

The read only report shows as below. Hence the records can not be modified

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

277

SUB MENU CREATION


In the following + symbol is sub menu and with out + symbol it is a form

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

278

Eg: creation of sub menus in the following menu form

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

279

Application developer Application menu


Copy the functions which are to be paced into a sub menu
VENFUN1
SITESFUN1
Delete the functions which are deleted from the menu
Create menu with above two functions

Copy the user menu name value (FUNCTIONS) and attach to main menu as submenu

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

280

Attaching System Administrator menu as sub menu of the above


Go to System administrator and get name of the menu and attach to above menu
To get the name of the menu
System administrator Security responsibility define
Query for the menu
( F 11 )
Responsibility Name : system administrator
Copy the menu : Navigator Menu - System Administrator GUI
Hiding the forms and Menus at Responsibility level
Go to system administrator Security responsibility define
Query for menu
F11 -Responsibility Name : Supply the responsibility
Go to menu exclusion
Type : menu
Name : submenu name

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

281

Hiding a form :
Open the required form and get the name of function
To get the function name : help About Oracle Applications Current Form Form name
Application developer application Form ( F11 )
Form : supply the name of the form ( ctrl + F11 )
Copy the value from User Form name
Select function :
Form Tab :
Form : paste the copied one
Description Tab :
Function : Copy ( 1st field )
Go to responsibility Menu Exclusion
type : function
Name : paste copied one

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

282

CUSTOMIZATION OF A FORM
There are two ways to customize the form
1) Using Custom.pll used till 11.5.8 version
2) Forms personalization 11.5.9, 11.5.10.2, R12 - 12.0.0, 12.1.1, 12.1.1, 12.1.2 ( since last 6 years )
FORMS PERSONALIZATION
Can be done to achieve the following
1) Changing Labels 2) Hiding Fields 3) Making as Mandatory / Optional Fields 4) Validate 5) LOVs
The following Triggers can be modified
1) WHEN-NEW-FROM-INSTANCE
2) WHEN-NEW-BLCK-INSTANCE
3) WHEN-NEW-RECORD-INSTANCE
4) WHEN-NEW-ITEM-INSTANCE
5) WHEN-VALIDATE-RECORD
6) SPECIAL
7) ZOOM

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

283

Eg1:
Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders

In the Form Client would like to change the title ( Order Number to Claim Number )
Get the Block Name : ORDER
Get the filed name : ORDER_NUMBER
Help Diagnostics Custom Code Personalize

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

284

Seq : 1
Description : Changing label Order Number to Claim Number
Level : Function
Check Enabled
Target Event : WHEN-NEW-FORM-INSTANCE
Processing Mode : Both
Level : Responsibility
Value : Order Management Super User, Vision Operations (USA)
Actions ( Tab )
Seq : 1
Type : property
Language : All

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

285

Object Type : Item


Target Object : ORDER.ORDER_NUMBER ( Block Name . Column Name )
Property Name : PROMPT_TEXT
Value : Claim Number ( It is new Label, which would like to set )
Select Validate
Select Apply Now
Save all and Call the form at different Responsibilities and Check it.
Check with Manufacturing and distribution Manager Order Management Orders, Returns Sales Orders
Eg2:
Purchase Vision Operations ( USA) Purchase orders Purchase orders
Requirement : Disabling the Description field in the following form
First step : find the name of the corresponding table and column
Place the cursor in the description field : Help Diagnostics examine
Get the BLOCK Name : PO_HEADERS,
field Name : COMMENTS

Personalization navigations :

Help Diagnostics Custom Code Personalize Password : apps

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

286

Seq : 1
Description : Hiding the description field
Conditions :
Trigger Event : WHEN-NEW-FROM-INSTANCE
Processing Mode : Both
( Only in Enter Query Mode i.e F11 )
( Not in Enter Query Mode )
Level : Responsibility
Actions :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

287

Seq : 1
Type : Property
Language : All

( Check ) Enabled

Object Type : item


Target Object : PO_HEADERS.COMMENTS ( name column in the database table, it can be obtained by examine )
Property Name : DISPLAYED
Value : false ( true : field will be enabled, false : disabled )
Select Apply Now
Save and call the form
To enable the same field
call the form
To remove the specific personalization
Help Diagnostics Custom Code Personalize deselect the Enable option ( check box )
To remove all personalizations on the form
Help Diagnostics Custom Code Off
To get back all personalizations

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

288

Help Diagnostics Custom Code Normal.


Requirement :
Making as Mandatory / Optional Fields
In the following form Source filed as Optional field

Block : LINES
Field : SOURCE_TYPE_DISP
Help Diagnostics Custom Code Personalize

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

289

Seq :1
Description : Making Source Field as Optional Field
Level : function
Target Instance : WHEN-NEW-FORM-INSTANCE
Processing Mode : Both
Level : Responsibility
Actions (tab)
Type : Property
Object Type : Item
Target Object : LINES.SOURCE_TYPE_DISP
Property Name : REQUIRED
Value : false

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

290

Requirement :
When the cursor enter to into lines block Description field enabled
Conditions :
Seq : 1
Description : Displaying the description field
Trigger Even : WHEN-NEW-BLOCK-INSTANCE
Target Object : PO_LINES
Action :
Seq : 1
Type : Property
Object type : item
Target Object : PO_HEADERS.COMMENTS
Property Name : displayed
Value : true
Save and call the from
Requirement :
Setting default value to Supplier field
Conditions :
Seq : 1
Description : Default value for supplier field
Trigger Even : WHEN-NEW-RECORD-INSTANCE
Target Object : PO_HEADERS
Action :
Seq : 1
Type : Property
Object type : item
Target Object : PO_HEADERS.VENDOR_NAME
Property Name : INITIAL_VALUE
Value : GE Capital
Save and call the from
Note : Initial value can be set at WHEN-NEW-RECORD-INSTANCE level only
Messages :

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

291

Requirement :
On sat and sun, user should not access the sales orders form
Test the following in the TOAD
select trim(to_char(sysdate, 'DAY')) from dual;
Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders

Seq : 1
Description : Sat and Sun User Should Not Acces the Sales Order Form
Level : Function
Trigger Event : WHEN-NEW-FROM-INSTANCE
Condition : trim(to_char(sysdate, 'DAY')) in ( 'SATURDAY', 'SUNDAY')
Select Validate To validate the condition.
Processing Mode : Both
Level : Responsibility

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

292

Value : Order Management Super User, Vision Operations (USA)


Actions ( tab )

Seq : 1
Type : Message
Language : All
Message Type : Error
Message Text : Sat and Sun User Should Not Acces the Sales Order Form
Select Validate to validate the Message Text
Save all the Above and Call the form

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

293

Requirement :
When the cursor entered into the Ship-To field, BillTo field should become null.
Conditions :
Seq : 1
Description : Null values
Trigger Even : WHEN-NEW-ITEM-INSTANCE
Target Object : PO_HEADERS.SHIP_TO_LOCATION
Action :
Seq : 1
Type : Property
Object type : item
Target Object : PO_HEADERS.BILL_TO_LOCATION
Property Name : ENABLED
Value : false
Save and call the from
Messages :
Any modifications in the form, then has to be displayed
Conditions :
Seq : 4
Description : Show Message
Trigger Even : WHEN-VALIDATE-RECORD
Target Object : PO_HEADERS
Action :
Seq : 1
Type : Message
Message type : Show
Target Object : PO_HEADERS.BILL_TO_LOCATION
Property Name : ENABLED
Value : false
Save and call the from

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

294

FLEX FIELDS
==========
Flexfield are made up with Attribute columns or Segment columns .
which are more flexible than the normal fields.
Flex fields are two types
1)DFF (Descriptive Flex Field)
2)KFF (Key Flex Field)
DFF: It will be used to capture the Additional information from the end user without change the code in the form and
without Alter the DB object. ATTRIBUTE Columns will be used to Capture the DFF data.
Eg :
EMP Form(old )

Emp Table

Emp No :

empno

Emp Name :

ename

Sal

sal

Additional fields
Project :
Designation :
Loc

:
[ ] called as flex fields

Additional fields will be stored into attribute columns ( attr1, attr2, ..attr15)
Data Type of attribute columns is varchar2
If DFF is available then need not down load the form and customize the form
Pre-Requisite to create DFF:
1) Application Name

2) Form Name

Purchasing Vision Operations ( USA ) Items Master Item M1


Help Diagnostics Examine Password : apps
Block : $DESCRIPTIVE_FLEXFIELD$
Filed : mtl_system_items.DF
Value : Items (Inventory)
Here Item is a title
Inventory Application
Copy the Value = Items (Inventory) into some notepad
System Administrator Application Flex Fields Descriptive Segments

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

295

Enter the Application : Inventory

Title : Items

Query it ( ctrl + F11 )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

296

Un Check Freeze Flex Field definition


Place the cursor at Global Data Elements and Select Segments
Add the require
Number

Name

Window Prompt

Column

Value Set

50

Company

Company

Attribut4

100 Characters

Select Open and Check Required ( as desired )


Save the above
Check Freeze Flex Filed Definition OK Compile OK OK Warning OK
Close the form

Checking for DFF

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

297

Purchasing Vision Operations ( USA ) Items Master Item M1


Removing existing DFF: ( Query with the following )

Enter the Application : Inventory

Title : Items

Query it ( ctrl + F11 )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

298

Un Check Freeze Flex Field definition


Place the cursor at Global Data Elements and Select Segments
Uncheck the Displayed and Enabled
Save the above
Check Freeze Flex Field definition OK Compile OK Warning OK

MENUS

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

299

Special triggers:
Every menu option of Oracle Application forms, will have trigger
Special Triggers : Menu Options
Special1, Special2, Special3, .. Special45.
Tools Menu : Special1, Special2, Special3, .. Special15
Inquiry Menu / Reports Menu : Special16, Special17, .. Special30.
Action Menu : Special41, Special17, .. Special45.
Adding new options to menu
Conditions :
Seq : 5
Description : Attach Menu
Trigger Even : WHEN-NEW-FORM-INSTANCE
Action :
Seq : 1
Type : Menu
Menu Entry : Special23 ( Inquiry menu ) ( as desired )
Menu Label : Procedure ( as desired )
Render line before menu : enable ( to get the separator )
Save and call the from
GO to Inquiry menu and select Procedure option, then it shows Special23 on the status bar ( no such trigger )
Requirement :
When selected the Procedure option, then
Condition :
Seq : 6
Description : Action
Trigger Even : Special23
Action :
Seq : 1
Type : Builtin
Built Type : Execute Procedure ,
Argument : num_proc
Save and call the from
GO to Inquiry menu and select procedure , then num_proc will be executed automatically
Create a table : num_test

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

300

create table num_test ( num number(9), descript varchar2(10) )


Create a procedure : num_proc
create or replace procedure num_proc as
begin
insert into num_test values ( 1, 'hello');
commit;
end ;
1) Built Type : Execute Procedure
Argument : num_proc
2) Built Type : Launch URL,
Argument : http://apps.ora.com:8000
Customization of a from by using CUSTOM.PLL
We can implement Following actions by using CUSTOM.pll
1) Hide the Fields
2)Make the field as Mandatory or optional
3)change field prompt
4)Change the Visuval attaribute Dynamically.
The trigger which are used in Customization of a from by using CUSTOM.PLL
WHEN-NEW-BLOCK-INSTANCE
WHEN-NEW-RECORD-INSTANCE
WHEN-NEW-ITEM-INSTANCE
WHEN-VALIDATE-RECORD
ZOOM
SPECIAL TRIGGERS
Zoom Trigger will be used to call the another forms from the standard forms.
Special triggers will be used to attach the menu options.
CUSTOM.pll will be located in AU_TOP/11.5.0/Resource/
To work with the CUSTOM.pll the following are required

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

301

1) Form Name
2) Block Name
3) Field Name
4) What customization
5) When customization will be executed
Eg: When the form is opened : WHEN-NEW-FORM-INSTANCE
Steps to Customization of a from by using CUSTOM.PLL
1) down load the CUSTOM.PLL from the location
AU_TOP/11.5.0/Resource/
2) Open the CUSTOM.PLL with forms 6i
3) Go to PL/SQL Libraries CUSTOM Program units CUSTOM ( package body )
Goto Event Procedure
Write the Following Code in the place of 'Real Code Starts Here'
form_name

varchar2(30) := name_in('system.current_form');

block_name

varchar2(30) := name_in('system.cursor_block');

begin
if (event_name = 'WHEN-NEW-FORM-INSTANCE') then
if (form_name = 'APXWCARD' and block_name = 'CARDS') then
APP_ITEM_PROPERTY2.SET_PROPERTY('CARDS.DEPARTMENT_NAME', -BlockName.FieldName
DISPLAYED,
PROPERTY_OFF);
APP_ITEM_PROPERTY2.SET_PROPERTY('PO_HEADERS.SEGMENT1',
PROMPT_TEXT,
'PO Number');
APP_ITEM_PROPERTY2.SET_PROPERTY('REGIONS.REGION_LONG_NAME',
CASE_RESTRICTION,
UPPERCASE);
end if;
end if;
(attach the Library called APPCORE2.pll) as the APP_ITEM_PROPERTY2 is package form APPCORE2.pll
SET_PROPERTY is a procedure from package called APP_ITEM_PROPERTY2

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

302

4) Compile the Library we can get .pll

(Program link Library)

Execute the Library we will get .plx (Program Link Executable)


(File ->Administration->Compile File)
5)Transfer both .pll and .plx files into the Resource folder in the AU top. (D:\oracle\visappl\au\11.5.0\resource )
(Note: before going to copy into the server close the complete Application)
ZOOM Option :
ZOOM Icon is used to To open a form from another from
ZOOM Icon can not be used in the form personalization.
ZOOM Trigger is similar to the Button
It is a global to the Oracle Application, Using this any form can be invoked
It is a global. It can be used for all forms.
ZOOM Triggers are 1) Enable

2) Executable

Enabling ZOOM Trigger


Custom ( package body )
function zoom_available return boolean is
form_name varchar2(30) := name_in('system.current_form');
begin
if (form_name = 'POXPOEPO' ) then
return TRUE;
end if;
return FALSE;
end zoom_available;
Execute
Custom ( package body )
Go to vent procedure and write the following code
if (event_name = 'ZOOM') then
if (form_name = 'POXPOEPO' ) then
fnd_function.execute(FUNCTION_NAME=>'PO_POXPOEPO',
OPEN_FLAG=>'Y',

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

303

SESSION_FLAG=>'Y' );
end if;
end if;
Note: When we are copying the custom.PLL in to the Resource folder
we have to close the application because If application is opened CUSTOM.pll being used , All the forms in oracle
applications developed with TEMPLETE.fmb contains CUSTOM.pll
If file is being used by other program we can not Update the file. thats why we will close the application.
When we are working in the project all the Users will be connected to
Oracle apps we can not ask every one to close the application. for that we will get the Alternative Path(Link File Path),
which will be provided by DBA, we will place the CUSTOM.pll in that folder only we have to reLogin we can find
the Customization
Other users no need to Logout

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

304

XML Publisher
Oracle Reporting Tools are
1) SQL
2) PL/SQL
3) RDF
4) Discoverer
5) XML Publisher
6) BI Publisher
7) OBIEE
Other Reporting Tools are
Dataware Housing Tools
1) COGNOS
2) INFORMATICA
Microsoft SQL Server MS-BI
Oracle Reporting Tools
SQL : Using SQL we can generate report in a ASCII format.
We can not in a GUI format.
Images can not be displayed as it is ASCII output
SELECT statement is used to generate the report
PL/SQL : Using SQL we can generate report in a ASCII format.
We can not in a GUI format.
Images can not be displayed as it is ASCII output
Cursors are used to generate the report.
RDF : We can display out put in GUI format.
Images can also be displayed.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

305

We can not display the output at a time in multiple formats such as PDF, HTML, TEXT, EXCEL
Layout designing is very complicated.
Discoverer :- Older one . it is not being used with current version Oracle Apps.
XML Publisher : It is a mostly used one in the current version of Oracle Apps.
It is an extension to RDF.
Easy to design the layout
BI Publisher and OBIEE:
It is an extension to XML Publisher.
XML is used to develop the reports.
Working with XML Publisher
Softwares used in XML Publisher
1) MS-WORD 2) MS-Excel

3) PDF

4) RDF

Features of XML Publisher


1) Good Look and Feel
2) Easy to design Layout Designing
3) Layout can be designed in a short time
4) Multiple Outputs Can be Generated
5) Sending Report as E-Mail is a Dynamic.
6) Less development time.
7) Platform Independent
platforms such as Reports-6i, Discoverer, OBIEE and any one which can generate the XML files )
8) Tool Independent ( MS-Word, MS-Excel, PDF )
9) XML Bursting Can handle E-Mail, FAX and FTP
FTP through FTP Report can be sent to Server, that can be viewed by multiple users
10) Language Translation
English text into local language by using XLIFF technology
Just Mapping between English and local language. It will done at the on site by the language
translator
in Oracle reports there is a option called CLSF ( Customer Language Specific Format ) to

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

306

generate the language specific report.


Disadvantages :
XML Coding required.
Development of Simple Report :
Eg :

Empno

Ename

Sal

Deptno

TOTAL : 14
Steps :
1) Data Model Query
SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP
Take a Summary Column for TOTAL
Properties :
Name : TOTAL
Function : count
Source :

EMPNO

After Development of the above


Generate the XML file
File Generate to File XML
Supply the name of the file with extension .xml
2) Design the Layout Using MS-Word
It Can be designed in two ways
1) Automatically

2) Manually

1) Automatically
Open MS-WORD
Check for the Template Builder ( when the XML Publisher is installed this Option will be Enabled
Automatically.
Check for the Template Builder Tool Bar
View Tools Bars Template Builder ( Enable )
When it is Enabled it shows the following Tools on the Tool Bar
Data

Insert

Preview

Tools

Help

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

307

Step1: Go to Data Menu and Select Load XML Data


Select the .xml from through the Browser
Step2 : Go to Insert Menu Select All Fields
Step3 : Go to Preview Menu and select Required output format ( PDF / HTML / EXCEL / RTF ) as desired
Any Headings are required, it can be inserted Directly like Normal Word Document.
2) Manual Development
1) Open the new file
2) Adjust the Margins either by dragging the Margins or By Page Setup.
3) Save the file as .rtf file
4) Prepare the Header ( go to View Menu Header and Footer Option
It will be displayed on the every page of the Report.
5) Insert the Table with Required No.of Columns ( as desired ) and Rows ( 2)
6) Place Headers on the First Row ( Select Row, Make them Bold and Rt.Click Center Align )
7) Insert the Fields on by one into Columns in the Second Row
View Tool Bars Enable the Form
Place the cursor inside the Column Select text ( ab | )
Double Click on Filed
Default Text : as desired
Add Help Text : <? FIELD-NAME ?>
FIELD-NAME Can be Obtained from the .rdf report or from the XML file.
From the .rdf :
Go to properties of the field and take XML Tag
8) Repeat the Same for Remaining Fields
9) Insert the Group to get All records in a group ( use for loop )
Place for loop Beg before the first field and place for loop end after the last filed.
Beginning <?for-each:Group-Name?>
Eg: <?for-each:G_EMPNO ?>
Ending

<?end for-each:Group-Name?> or <?end for-each?>


Group-Name is an Optional

10 ) Load the XML data and save the rtf file


11) Preview to Check the output

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

308

Note : To Display the labels on every Page Select the Header Row Rt. Click Table Properties Row
Select Repeat as Header Row at the top of Each page

Developing Apps Report and Registering with Apps Application


Eg :

UID
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2024
2044

User Name
AGENT02
AGENT03
AGENT04
AGENT05
AGENT06
AGENT07
AGENT08
AGENT09
AGENT10
AGENT11
AGENT12
AGENT13
AGENT14
AGENT15
CSDUMMY
FRANCE

Creation Date
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
08-JUL-99
15-JUL-99
21-JUL-99

Total Users : 16
Steps to develop the above report
1) Start report developer
2) Go to data model Write the following Query
SELECT

USER_ID,
USER_NAME,
CREATION_DATE

FROM

FND_USER

3) Create Summary Column for Total Users;


Properties :
Function : count

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

309

Source : user_id
4) Generate XML file
File Generate to file ( user.xml )
5) Save as the report as .rdf file ( user.rdf )
6) Start MS OFFICE, Design the Layout as explained in the previous example
7) Save the Word file as .rtf file ( user.rtf )
8) Go to preview and select the required option such as HTML, PDF, EXCEL, RTF

The above shows only one record as shown below


User Id
2004

User Name
AGENT02

Creation Date
08-JUL-99

Total No.of Users : 1851

XML Publisher front end Registration


Steps :
1) develop the report ( .rdf ) file and move into server

Go to data model Write the following Query


SELECT

USER_ID,
USER_NAME,
CREATION_DATE

FROM

FND_USER

Create Summary Column for Total Users;


Properties :
Function : count
Source : user_id
2) Develop the .rtf and save it.
3) Register the .rdf file and take the following
While Defining Concurrent Program Out put format must be XML
Concurrent Program Short Name :
Application name

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

310

4) Register the .rtf file ( MS Office Doc )


Steps :

Users Information Report


User Id

User Name

Description

Creation Date

FRO BEG
USER ID

USER NAME

DESC

CREATION DATE
FOR END

Total No of Users : TOTAL USERS


Go to XML publisher Administrator responsibility
Home Data Definition
Select create data definition
Name : any name ( User DD )

Code : CP Short Name (USER_SHORT)

Application : Purchasing

Starting Date : Today Date

Select Apply
Select Template
Create Template
Name : any ( user_xx)

Code : Any One

Application : Purchasing

Data Definition : User DD

Type : RTF
File : C:\XML\user_reports.rtf Browse
Language : English
Territory : united states
Click on Apply
Result shows

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

311

Name : user_XX
( .rtf file )

code : USER_SHORT
( .rdf file )

Close the window.


Responsibility
SRS
Name : user_xx (automatically )
Lay out : user_xx (rtf file Template name automatically )
Submit

Select Options in the above for different Format outputs such PDF / XML / HTML / TEXT
Report with parameters :
Example :
( parameters )
From Vendor Id

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

312

To Vendor Id
Vendor Id

Vendor Name

Creation Date

PO

Invoice

Total Suppliers :
Total No.of Pos:
Total No.of Invoices :
Create three parameter
P_CONC_REQUEST_ID ( Optional )
P_From : number type (10)
P_To

: number type (10)

Data Model
Query :
Select vendor_id,
vendor_name,
creation_date
from po_vendors
where vendor_id between :P_FROM and :P_TO
take group level formula column for PO
function POFormula return Number is
l_total number (9) ;
begin
select count ( * ) into l_total from po_headers_all where vendor_id = :vendor_id ;
return l_total ;
end;
Take group level formula column for Invoices
function InvoiceFormula return Number is
l_total number (9) ;
begin
select count ( * ) into l_total from ap_invoices_all where vendor_id = :vendor_id ;
return l_total ;
end;
Take three summary columns
1) Suppliers ( CS_1)
2) Total PO ( CS_2)
3) Invoices ( CS_3)

: sum function source : Vendor_ID


: sum function source : PO
: sum function source : invoice

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

313

Develop the .rtf file ( MS OFFICE doc ) as shown below

ID
BEG VENDOR_ID

Vendor Name
PO
VENDOR_NAME PO

Creation date
CREATION_DATE

Invoices
INVOICE END

Total Suppliers : CS_1


Total PO

: CS_2

Total Invoices : CS_3


Master and detailed relation ship
beg-vendor-loop

<?for-each:G_VENDOR?>

Vendor Id: vendor-id <?VENDOR_ID?>


Vendor Name : vendor name <?VENDOR_NAME?>
Site Id
beg-sites-loop

site-id

Site Code

Address

site-code

Address

City
City

end-sites-loop

<?VENDOR_SITE_ID?> <?VENDOR_SITE_CODE?> <?ADDRESS_LINE1?> <?CITY?>


<?for-each:G_SITES?>

<?end for-each?>

<?split-by-page-break:?>
end-vendor-loop <?end for-each?>

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

314

INTERFACES
Interface is a Connector or Bridge between two Applications.
It is used to transfer data from Legacy Applications to Oracle Application and vice-versa
Legacy Systems could be SAP, Main Frame, SIEBEL, JD Edwerds, BANN, People Soft
Interface is one of the Program which is used to transfer the data from Oracle
database tables in to flat file (or)
Flat files

into Database tables

There are two types of Interfaces.


1)Inbound Interface
2)Outbound Interface
Inbound Interface :
Inbound Interface is used to upload the data from legacy system (Flat files) into Oracle Applications base tables.
If it is Only one time of time data transfer, then it is called Conversion / Migration
If it is Multiple times of data transfer ( i.e every day / week / month ), then it is inbound interface
Outbound Interface:
Outbound Interface is used to extract the data from oracle Database tables into the flat files.
While developing the outbound Interface we use UTL_File to Extract the data.
While Developing the Inbound interface we use SQL * loader to import the data
into base tables.
UTL_FILE Package :
==================
This is One of the PL/SQL Package which will be used to transfer the data from table to files and
from files to tables
But when we are transferring data from file to table SQL *Loader can also be used. It is recommended.
To transfer from table to file we dont have alternative, we have to use only UTL_FILE.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

315

We use following three functions to generate the file.


1)Utl_File.fopen

= To open (or) Create the file

2)Utl_File.Put_line = To Transfer the data into the File.


3)Utl_File.fclose = To close the File after Data transfer.
Outbound Interface Process:
=============================
1)Develop the PL/SQL Program (Either Procedure or Package) .
2) Register the Procedure or Package as Concurrent Program and submit from SRS Window.
1)Develop the PL/SQL Program (Either Procedure or Package) with the following statements
1)Write the Cursor to retrieve the data from database tables.
2)Create file or Open the File by using UTL_File.fopen().
3)Open the Cursor
4)If any validations are there write the validations
5)Transfer the Data into File by using UTL_File.Put_Line().
6)Close the Cursor.
7)Close the File by using UTL_File.fclose();
Eg :
create or replace procedure test_proc (errbuf out varchar2,
retcode out varchar2) as
cursor c1 is select vendor_id,
segment1,
vendor_name
from po_vendors;
l_po number(9);
l_inv number(9);
l_sites number(9);
l_id utl_file.file_type ;
l_timeStamp varchar2(15);
begin
select to_char(sysdate, 'dd-MON-yyyy') into l_timeStamp from dual;

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

316

l_id:= utl_file.fopen('D:\oracle\visdb\9.2.0\plsql\temp', l_timeStamp ||'.txt', 'w');


for

x1 in c1 loop

select count(*)
into l_po
from po_headers_all
where vendor_id=x1.vendor_id;
select count(*)
into l_inv
from ap_invoices_all
where vendor_id=x1.vendor_id;
select count(*)
into l_sites
from po_vendor_sites_all
where vendor_id=x1.vendor_id;
utl_file.put_line( l_id, x1.segment1 || '#' || x1.vendor_name || '#' || l_po || '#' || l_inv ||'#' || l_sites );
end loop;
utl_file.fclose(l_id);
end ;
/
2)Register the Procedure or Package as Concurrent Program and submit from SRS Window.
3) go to D:\oracle\visdb\9.2.0\plsql\temp' and check the data in the file called : 13-APR-2001.txt
4) Opening with excel
Start excel file open brows for D:\oracle\visdb\9.2.0\plsql\temp and open 13-APR-2001.txt file
Select delimiter next Others specify ( # ) next finish.
One more example
create or replace procedure user_proc( errBuff OUT varchar2,
retCode OUT number,
From_Uid number,
To_Uid

number

) as
cursor c1 is
select

USER_ID,

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

317

USER_NAME,
CREATION_DATE,
DESCRIPTION
from

fnd_user

where USER_ID between From_Uid and To_Uid;


File_Handler

UTL_FILE.file_type;

l_rCount number default 0;


begin
File_Handler=UTL_FILE.fopen('D:\oracle\visdb\9.2.0\plsql\temp','users.txt','w');
for X in C1 loop
UTL_FILE.PUT_LINE(File_Handler, X.USER_ID ||'#'||
X.USER_NAME ||'#'||
X.CREATION_DATE ||'#'||'
X.DESCRIPTION );
l_rCount:=l_rCount+1;
end loop;
UTL_FILE.fclose(File_Handler);
fnd_file.put_line("No of Records Written to the File :'||l_rCount);
retCode:=0;

exception
when utl_file.invalid_filehandle then
fnd_file.put_line(fnd_file.log,'Invalid File Handler');
UTL_FILE.fclose_all;
retCode:=2;
when utl_file.invalid_path then
fnd_file.put_line(fnd_file.log,'Invalid File Path');
UTL_FILE.fclose_all;

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

318

retCode:=2;
when utl_file.invalid_filename then
fnd_file.put_line(fnd_file.log,'Invalid File Name');
UTL_FILE.fclose_all;
retCode:=2;
when utl_file.invalid_mode then
fnd_file.put_line(fnd_file.log,'Invalid Mode');
retCode:=2;
when utl_file.invalid_operation then
fnd_file.put_line(fnd_file.log,'Invalid Operation');
UTL_FILE.fclose_all;
retCode:=2;
when utl_file.write_error then
fnd_file.put_line(fnd_file.log,'Write Error');
UTL_FILE.fclose_all;
retCode:=2;
when utl_file.internal_error then
fnd_file.put_line(fnd_file.log,'Internal Error');
UTL_FILE.fclose_all;
retCode:=2;
when others then
fnd_file.put_line(fnd_file.log,'Unknown');
UTL_FILE.fclose_all;
retCode:=2;
/
One More Example :
create or replace procedure inventory_proc1 ( errBuff out varchar2,
retCode out number,
from_orgid number,

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

319

to_orgid number
)
as
cursor C1 is
select msib.INVENTORY_ITEM_ID item_id,
msib.SEGMENT1 item_name,
msib.DESCRIPTION item_desc,
msib.PRIMARY_UNIT_OF_MEASURE item_uom,
mc.SEGMENT1||'.'||mc.SEGMENT2 item_cat_code,
ood.ORGANIZATION_ID org_id,
ood.ORGANIZATION_NAME org_name
from mtl_system_items_b msib,
mtl_item_categories mic,
mtl_categories mc,
org_organization_definitions ood
where ood.ORGANIZATION_ID = msib.ORGANIZATION_ID
and msib.INVENTORY_ITEM_ID=mic.INVENTORY_ITEM_ID
and msib.ORGANIZATION_ID = mic.ORGANIZATION_ID
and mic.CATEGORY_ID = mc.CATEGORY_ID
and msib.PURCHASING_ITEM_FLAG='Y'
and msib.ORGANIZATION_ID between from_orgid and to_orgid ;
File_Handler utl_file.file_type;
l_rCount number default 0;
begin
File_Handler:=utl_file.fopen('D:\oracle\visdb\9.2.0\plsql\temp','Inventory.txt','w');
for x in C1 loop
l_rCount:=l_rCount+1;
utl_file.put_line(File_Handler,x.item_id || '#' ||
x.item_name||'#'||
x.item_desc||'#'||
x.item_uom||'#'||
x.item_cat_code||'#'||
x.org_id ||'#'||
x.org_name);
end loop;
utl_file.fclose(File_Handler);
fnd_file.put_line(fnd_file.output,'No of Records Transferred to file : '||l_rCount);
fnd_file.put_line(fnd_file.output,' ');
fnd_file.put_line(fnd_file.output,'Submitted User :'||fnd_profile.value('USERNAME'));
fnd_file.put_line(fnd_file.output,' ');
fnd_file.put_line(fnd_file.output,'Submitted Responsibility :'||fnd_profile.value('RESP_NAME'));
fnd_file.put_line(fnd_file.output,' ');

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

320

fnd_file.put_line(fnd_file.output,'Submitted Date :'||sysdate);


retCode:=0;
exception
when utl_file.invalid_filehandle then
fnd_file.put_line(fnd_file.log,'Invalid File Handler');
utl_file.fclose_all;
retCode:=2;
when utl_file.invalid_path then
fnd_file.put_line(fnd_file.log,'Invalid File Path');
utl_file.fclose_all;
retCode:=2;
when utl_file.invalid_filename then
fnd_file.put_line(fnd_file.log,'Invalid File Name');
utl_file.fclose_all;
retCode:=2;
when utl_file.invalid_mode then
fnd_file.put_line(fnd_file.log,'Invalid Mode');
utl_file.fclose_all;
retCode:=2;
when utl_file.invalid_operation then
fnd_file.put_line(fnd_file.log,'Invalid Operation');
utl_file.fclose_all;
retCode:=2;
when utl_file.write_error then
fnd_file.put_line(fnd_file.log,'Write Error');
utl_file.fclose_all;
retCode:=2;
when utl_file.internal_error then
fnd_file.put_line(fnd_file.log,'Internal Error');
utl_file.fclose_all;
retCode:=2;
when others then
fnd_file.put_line(fnd_file.log,'Unknown');
utl_file.fclose_all;
retCode:=2;
end;
/

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

321

INBOUND INTERFACE
It is process, which will be used load the data from Flat file to Oracle Apps base table.
It is process of Loading data form legacy systems ( other applications : flat files) into oracle applications
It can be in methods
1) Using SQL * LOADER ( recommended )
2) UTL FILE Package
3) Data Loader ( External / Third party tool )
Data Loader : in this Source file will be mapped to table columns.
Steps involved in the Inbound Interface :

Flat File
Bad file/ discard file

SQL * LOADER ( .ctl file )

Staging Table
Error Tables

PL/SQL Program ( Procedure / Package )

Interface Tables
Error tables/ Columns/Reports

Standard Program

Base Tables
Staging table : It is a temporary table create by the user. It is called as pre-interface table

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

322

Purpose of staging table if flat file structure is not similar to the base table, then we need create a table, which is
similar to the structure of the Flat File, called as staging table.
Eg :
Flat file with the following data
Empno, ename, deptno, hiredate, sal
Table with the following columns
Empno, ename, deptno, hiredate, sal, Comm, Tax
Here comm and tax columns may be conditional data columns
Eg :

if sal < 2000 Comm = 250


if sal

2000 to 5000 Comm = 450

if sal

5000 to 10000 comm = 600

if sal > 10000

comm. = 800

=========================
if sal < 2000 Tax = NIL
if sal

2000 to 5000 Tax = 12% of Sal

if sal

5000 to 10000 Tax = 15% of Sal

if sal > 10000

Tax = 20% of Sal

The control file can not be developed with the controlling statement as above. Hence we can not use directly control file
to transfer data from Flat file to oracle applications base table
Inter face table : It is a built-in table need not to create by the users. Here data will be stored temporarily. Hence it is
called as temporary table. This table is used to store valid data temporarily.
SQL * Loader :

It is used to load the from Flat file to staging table by using control file

PL/SQL procedure : It is used to read the data form the staging table and validate then insert into the interface table.
Standard Program :

It performs the post validation such validating users


( i.e whether the using is the correct user or not .)
After performing validation it loads the data into the base tables

In the above Interface table, Standard program , base tables and error table/ columns / reports are built-in need not to
develop by the user.
To develop the In-bound interface the following four actions are required
1) Staging table Creation
2) Develop the SQL * LOADER program and register

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

323

3) Develop the PL/SQL procedure and register


4) Submit standard program
SQL * LOADER
It is one of the oracle tools and it is used to load the data from flat file to oracle base table. It is used in the development
of Interfaces (

I ) and conversions ( C ) of

the RICE components

There are five types of files are used with SQL * LOADER.
1) Data file 2) Control File 3) Discard File 4) Bad File 5) Log File
1) Data File or Flat file :
File contains data in a specific format as per the requirement of the client. It will be received from the client.
Extension is( .dat , .txt, .csv) .csv is an excel file csv common separated value. If data is available in excel file with
extension .xls then save it as .cvs file before going to load into database table. Mostly data in the form of excel files.
2) Control file : It is SQL * LOADER program. It provides syntax to load the data form flat file to database table.
This file has to be developed and executed by the Technical Consultant. It will be developed in the
notepad and saved with extension ( .ctl )
3) Bad File : It will be generated automatically by the SQL * LOADER. Bad file contains the records, which are
rejected by the SQL * LOADER
SQL * LOADER rejects the records in the following scenario
1) Any Data Type mismatch, 2) No. of fields mismatched 3) Internal Errors, 3) Data file Format
problem . Extension of this file is ( .bad )
4)Discard File: It will be generated automatically by the SQL * LOADER. It contains the records, which are rejected
by the Control file. Control file rejects the record, when the record is not as per the specified format in
the Control file. Discard File Extension is ( .dis)
5)Log File : It contains the Log information like Program Time of start, Time of end, No of records, which are
successfully uploaded into the database table. Rejected Records which are sent to the Bad file and
Discard file. Error Message during the execution of Control file. Extension is ( .log )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

324

Steps in loading the flat file data into the database table
1) Received the flat file form the client and check the file format.
2) Identify the data base table name and database
3) Develop the control file using notepad and save it.
Syntax to develop the control file.
LOAD DATA
INFILE Data File Path with file name
INSERT INTO TABLE

<Table Name>

FIELDS TERMINATED by ',' OPTIONALLY ENCLOSED BY ' " '


TRAILING NULLCOLS
(Column1

column2

column3

,......)

Order of the columns in the flat file


Eg1:
Data file Path ( C:\ MyUser\User10\emp.txt )
Data format order Empno, empname, salary, comm, deptno
1001, Smith, 5600, 300, 20
1002, Allen, 4500, , 10
1003, Ramu, 7600, , 30
1004, Krishna, 5400,, 40
Table into which data to be transferred
create table MyEmp ( empno number (10), ename varchar2(20), salary number(10), deptno number(10) )
Control file
LOAD DATA
INFILE 'C:\MNRAO\emp.txt'
INSERT INTO TABLE MyEmp
FIELDS TERMINATED by ','
(empno, ename, salary, comm, deptno )
Save as control file ( eg : C:\user\EmpLoader.ctl )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

325

4) Go to Command Prompt where the SQL * Loader is Installed. ( start run cmd )
D:Oracle\Proddb\8.1.7\bin\ SQLLDR Username/Password@PROD
Control = Control file Path.
D:Oracle\vis\9.2.0\bin > SQLLDR scott/tiger@vis
Control = C:\user\EmpLoader.ctl
Eg2: if data is available in the format ( empno, ename, deptno, salary, comm.)
1001,Smith,20,5600,300
1002,Allen,10,4500,,
1003,Ramu,30,7600,350
1004,Krishna,40,5400,,
Then write control file as below
LOAD DATA
INFILE 'C:\MNRAO\emp.txt'
INSERT INTO TABLE MyEmp
FIELDS TERMINATED by ','
(empno, ename, deptno, salary, comm )
Appending records to database table
LOAD DATA
INFILE 'C:\MNRAO\emp.txt'
APPEND INTO TABLE MyEmp1
FIELDS TERMINATED by ','
( empno, ename, salary, comm, deptno )
Truncate table and insert records into table
LOAD DATA
INFILE 'C:\MNRAO\emp.txt'
TRUNCATE INTO TABLE MyEmp1
FIELDS TERMINATED by ','
( empno,ename,salary,comm,deptno )

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

326

INSERT database table should be empty


APPEND table may be with record or empty
TRUNCATE it will delete the existing records and inserts the new records into the database table
SQL LODER options
D:\oracle\visdb\9.2.0\bin> SQLLDR scott/tiger@vis - LOAD n
-LOAD n To load first n No.of records of flat file into database table
-SKIP n to skip first n No. of records of flat file and to load the remaining records of flat file to the end.
-SKIP n -LOAD n to skip first n No.of records of flat file and load the next n No.of records of flat file into
the database table
D:\oracle\visdb\9.2.0\bin> SQLLDR scott/tiger@vis -SKIP n -LOAD n
-ROWS n for every n No.of records commit
FILLER to ignore the columns of the table ( it will be empty )
LOAD DATA
INFILE 'C:\MNRAO\emp.txt'
TRUNCATE INTO TABLE MyEmp1
FIELDS TERMINATED by ','
( empno, ename, salary, comm FILLER, deptno )
METHOD Method loading the data
These are of two types
3) Conventional consider all constraints and inserts the records into the table. It is a default
4) Direct No constraints will be effective ( it is a faster )
D:\oracle\visdb\9.2.0\bin> SQLLDR scott/tiger@vis DIRECT=true
Note : for DIRECT need not to precede with symbol

- (hyphen)

Imp Note : if file has been received in the excel file format with extension ( .xlc ), then save the file with
extension (.cvs ) . The filed separator will be comma ( , ) ( default )
Loading data with default values
Eg:
create table EMP_DEFAULT( empno number(10),
ename varchar(50),

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

327

jdate date,
sal number(10),
comm number(10),
location varchar(50),
deptno number(10))
Test it
select * from EMP_DEFAULT
Requirement
EmpNo shouldbegeneratedautomaticallybyusingdatabasesequence
Enameshouldbeinuppercaseonly
Jdate

sysdate

Comm 10% of basic sal ( sal * 0.10)


Location

H : Hyderabad
B : Banglore
C : Chennai
: Mumbai

Deptno constant =10


Steps to develop the application for above requirement
1) create the sequence using TOAD utility
Create Sequence
Sequence owner : SCOTT
Sequence name : EMP_SEQ
Start with

: 1

Code generated by TOAD utility


CREATESEQUENCESCOTT.EMP_SEQ
STARTWITH0
INCREMENTBY1
MINVALUE0
NOCACHE
NOCYCLE
NOORDER

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

328

2) Develop the control file ( DEFAULTS.ctl )


LOAD DATA
INFILE *
INSERT INTO TABLE EMP_DEFAULT
FIELDS TERMINATED by ','
TRAILING NULLCOLS
( empno "EMP_SEQ.nextval",
ename "UPPER(:ename)",
sal,
location "DECODE ( :location, 'H','HYDERABD',
'B','BANGLORE',
'C','CHENNAI',
'MUMBAI')",
COMM "(:sal*0.1)",
jdate sysdate,
deptno constant "10" )
begindata
,Saritha,12000,H
,Ramu,13500,B
,Ranjith,5600,C
,Rakesh,8600,,
,venkat,12400,B
Leave space for the first filed (empno) as it is being generated automatically by using sequence.
Note : in the above UPPER, DECODE are the sql functions. We can use all built-in SQL functions but we can not use
the user defined functions.
3) go to command prompt and SQL * Loader
LOG file and BAD file
The log file will be generated automatically in the ORACLE bin directory. It will be generated by the name of control
file
D:\oracle\visdb\9.2.0\bin \ DEFAULTS.txt

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

329

Sample of LOG file as shown below

Number to load: ALL


Number to skip: 0
Errors allowed: 50
Bind array:

64 rows, maximum of 256000 bytes

Continuation:
Path used:

none specified
Conventional

Table EMP_DEFAULT, loaded from every logical record.


Insert option in effect for this table: APPEND
TRAILING NULLCOLS option in effect
Column Name

Position Len Term Encl Datatype

------------------------------ ---------- ----- ---- ---- --------------------EMPNO

FIRST

* ,

CHARACTER

SQL string for column : "EMP_SEQ.nextval"


ENAME

NEXT

* ,

CHARACTER

SQL string for column : "UPPER(:ename)"


SAL

NEXT

LOCATION

* ,

NEXT

CHARACTER
* ,

CHARACTER

SQL string for column : "DECODE ( :location, 'H','HYDERABD',


'B','BANGLORE',
'C','CHENNAI',
'MUMBAI')"
COMM

NEXT

* ,

CHARACTER

SQL string for column : "(:sal*.1)"


JDATE

SYSDATE

DEPTNO

CONSTANT

Value is '10'
Table EMP_DEFAULT:
5 Rows successfully loaded.
0 Rows not loaded due to data errors.
0 Rows not loaded because all WHEN clauses were failed.

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

330

0 Rows not loaded because all fields were null.


Space allocated for bind array:

82752 bytes(64 rows)

Read buffer bytes: 1048576


Total logical records skipped :

Total logical records read :

Total logical records rejected :

Total logical records discarded :

Run began on Mon Mar 14 11:17:57 2011


Run ended on Mon Mar 14 11:18:00 2011
Elapsed time was:

00:00:03.25

CPU time was:

00:00:00.03

BAD File : It will be generated in the folder, where control file is located.
Registering with Oracle Application
Ensure that, the table is already exist in the database
TOAD Login :

APPS/APPS@VIS

createtableEMP_TEST(empnonumber(10),enamevarchar(50),deptnonumber(10))

1) Develop the control file


LOAD DATA
INFILE *
discardfile 'C:\MNRAO\test.dis'
TRUNCATE INTO TABLE EMP_TEST
FIELDS TERMINATED by ','
TRAILING NULLCOLS
( empno, ename,deptno )
begindata
1001,Ramesh,55
1002,Sirisha,43
1004,Venkat,76

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

331

1005,Ramu,23
(OR)
Control file and Data file separately
Control file
LOAD DATA
INFILE 'C:\MNRAO\myemp.txt'
discardfile 'C:\MNRAO\test.dis'
TRUNCATE INTO TABLE EMP_TEST
FIELDS TERMINATED by ','
TRAILING NULLCOLS
( empno, ename,deptno )
Data File
1001,Ramesh,55
1002,Sirisha,43
1004,Venkat,76
1005,Ramu,23
Note : 1) When data file is using with oracle application then, the file should be provided with new line at the
end of the data file ( if new line is not provided, then last record will not be loaded into the table )
2) When data file is using with at the command prompt then, the file should not have the new line at the
end of the data file ( if new line is provided, then empty record will be loaded into the table )
Move the file from local machine to Server
D:\oracle\visappl\po\11.5.0\bin
2) Create exe file with Execution Method as SQL * LOADER
3) Create concurrent program with Execution Method as SQL * LOADER
Repeat the remaining as explained in the previous examples

OPTIONALLY ENCLOSED BY ' " '


It is used, If the data is in the following format.
1000, name, S/o Father Name, 5600

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

332

Here name and father name are of same field but the filed terminator ( , ) presents in the data
Eg:
LOAD DATA
INFILE *
discardfile 'C:\MNRAO\test.dis'
TRUNCATE INTO TABLE ITEM_TEST
FIELDS TERMINATED by ',' OPTIONALLY ENCLOSED BY ' " '
TRAILING NULLCOLS
( Item_Code, Item_Name, Item_desc, Item_price )
begindata
ACD01, Key Board , Computer Peripherals, Input device, 350
BFS03, Monitor, Computer Peripherals, Output device, 6500
CFG21, Chair, Front Office, Reception, 2300
GHT2A, Table, Office, Conference Hall, 8500

Control file with parameters


These are used to pass the data dynamically
For example we can pass the data file name dynamically as the input parameter
Syntax to pass the Parameters
&1
&2
&3
We must use the parameter names in a sequential order such as 1, 2, 3, 4..100
The maximum parameters that we can define are 100
Eg:
Table :
createtableITEM_TEST(
Item_Codevarchar2(10),
Item_Namevarchar(50),
Item_descvarchar2(100),
Item_pricenumber(10))

Control file
LOAD DATA

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

333

INFILE

&1

TRUNCATE INTO TABLE ITEM_TEST


FIELDS TERMINATED by ','
TRAILING NULLCOLS
( Item_Code, Item_Name, Item_desc, Item_price )
Datafile
ACD01,KeyBoard,Peripherals,350
BFS03,Monitor,Computer,6500
CFG21,Chair,Office,2300
GHT2A,Table,ConferenceHall,8500

2) writecontrolfileasabove
3) movethecontrolfilefromlocalmachinetoserver
D:\oracle\visappl\po\11.5.0\bin
4) createexecutablewithexecutablemethodasSQL*LOADER
5) createtheconcurrentprogramwithexecutablemethodasSQL*LOADER
definetheparameterfordatafile
seq,Parameter
1

EntertheDataFilePath

ValueSet:100characters

Here token is not necessary, reason is that, these parameters will be


consideredsequentially,whereaswithoraclereportsthereisnoorderfor
theparameters(userparameters).

Request Set :
Request Set is used in the interfaces / conversions. Request set is group of concurrent programs. Using request
set, multiple programs can be submitted at a time in SRS window either sequentially or in parallel.

Executable

Concurrent Program
Request Set
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA

334

Request Group
SQL * LOADER
PL / SQL PROGRAM

Responsibility

STANDARD PROGRAM
User

SRS
Diff Between Inbound Interface and Conversion:
Interface
1) Interface will be used to upload the data multiple times.

Conversion
1) Conversion is one-Time Data Transfer

Regularly every week or month or day


2) Client may be using Legacy system and also Oracle
Applications

2) Client will use Only Oracle Applications. once data has


been uploaded from legacy then legacy system will be
closed.

3) We will not be knowing the Data file volume.

3) Here we will be knowing the data file volume exactly.

4) Interface we will be used in Customization and as well

4) conversions will be used in the Implementation Projects

as implementation Projects.
5) Interface will be used to load the current data.

5) Conversions are used to load old or historical data.

Difference between Apps 11i and R-12


Apps 11i

Apps R-12

There are four Executables

Same

PO AP GL
PO_VENDORS
PO_VENDOR_SITES_ALL
PO_VENDOR_CONTACTS
AP_INVOICES_ALL

AP_SUPPLIERS
AP_SUPPLIER_SITES_ALL
AP_SUPPLIER_CONTACT
AP_INVOICES_ALL

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

335

AP_INVOICE_DISTRIBUTIONS_ALL
Profiles

AP_INVOICE_LINES_ALL
AP_INVOICE_DISTRIBUTIONS_ALL
Same

Mutli Orgs
BG
Set Of Books
LE
OP
IP
GL_SETS_OF_BOOKS

-doLedgers ( Currencies, Calendar, Chart Of Accounts, Method )


-do-do-doGL_LEDGERS

Only one Operating Unit for one responsibility

MOAC ( Multi Org Access Control )


For single responsibility Multiple Operating Units

MO : Operating Unit

MO : Operating Unit
MO: Security Profile

Flex Fields

Same

Forms

Same

Forms 6i

Forms 10g

To generate fmx F60GEN

FRMCRM

Interfaces

Same
Same

OM-AR-GL
TCA in AR Module Trading Community Architecture
Banks
Suppliers
Customers
Employees
HZ_PARTIES

Compiled and Developed by


M.Nageswar Rao, B.Tech, MBA

336

S-ar putea să vă placă și