Documente Academic
Documente Profesional
Documente Cultură
Buying
Manufacturing
Selling
Payments
Receiving
Balancing
Stores
Raw Material
Manufacturing
Purchase
Payments
Shipping
Production
Quality Control
Assembling
Receiving
Costing
Customers
Accounts
Human Resources
Employees Payroll
Bank Transactions
Recruiting Employees
Assets
ORACLE APPS
5) Resources expensive
Stores
Raw Material
Manufacturing
Purchase
Shipping
Payments
Production
Quality Control
Assembling
Costing
Customers
Receiving
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
1) PO ( Purchase Order )
Purchasing
2) INV (Inventory )
4) QA ( Quality Assurance )
Quality Control
6) OM ( Order Management )
7) AR ( Account Receivable )
Receivings
8) CE ( Cash Entry )
Accounts
9) AP ( Account Payable)
Payments
Balancing
Assets
Bank Transaction
Recruitments
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 :
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
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)
2)
Functional Consultant
3)
Technical Consultant
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
C Conversions
E Extensions
= Forms 6i
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
2) PL/SQL
3) FORMS6i
6) UNIX
4) REPORTS6i
7) JAVA
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
Oracle Applications
Finance
SCM
CRM
HRMS
10
2) Stores
3) Sales
Manufacturing:
1)
2)
3)
4)
5)
11
3) CRM :
1)
2)
3)
4)
5)
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:
Database Tier
Request
Response
Database
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
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.
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.
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;
15
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
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.
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
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.
18
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
lib
GL_TOP
AR_TOP
11.5.0
11.5.0
java
Log
out
driver
19
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)
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
20
Import
Odf
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
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.
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 )
2) Synonym
Schema
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.
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
Supplier Details
Issued Cheque No
24
Item
details
obtained
will
form
be Supplier
details
the obtained
inventory table
table
( Inventory Schema )
( P.O Shcema )
will
be
details
will
be
( 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 ,
In development of oracle applications, we use 95 % DML and TCL commands and 5 % DDL commands.
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
26
27
28
Application
Application developer
System Administrator
From
To
Sysdate Auto
Place the cursor in the responsibility cell and click ( right side )
Find : appl%
Place the cursor in the responsibility next row and click ( right side )
Find : system administrator %
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
30
31
.rdf
2) Sql * Plus
.sql
3) PL/SQL Procedures
.proc
4) Sql * Loader
.ctl
.sh
6) C Language
.C
7) Pro - C
.prc
8) Java Programs
.java
.perl
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
UserName
CreationDate
Last Page :
Total No.of Users : 2836
33
34
Executable
Short Name
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 )
35
36
Security : Responsibility
Request
Group : user_group1 ( any name )
Application : purchasing
Code : any one
Description : any one
Request
Type
Name
Applicatio
37
Program
user_reports_prog
purchasing ( automatically )
Responsibility Name
Application
: purchasing
Responsibility Key
:any one
Description
: any one
38
Data Group
Name
: standard
Application
: purchasing
Request group
Name
Application
: purchasing
Menu
: Position Control, Vision University ( supply some, which is already existing one )
39
Define
add the responsibility to user
Query for the user ( F11 )
Name : MNRAO
( CTRL + F11)
40
Click on OK
view menu Request
41
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
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.
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
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
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
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:
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
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
48
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
49
: required layout and map the text fields with required fields
Parameter
Description
: as desired (optional)
Value Set
Token
Required
Range
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
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 ;
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
52
UserName
CreationDate
Total Users :
Step1: Develop the report
1) Create Parameters
P_FROM :
P_TO
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
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
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
SQL Statement
Enter From Id
Enter To Id
Enter Tile :
Enter From Id :
Default Type : sql statement
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
Segment :
This is to get previous parameter value to the next parameter
Enter From Id:
Enter To Id :
Default Type: segment
Value Sets :
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
56
57
Precession : 4
: 150
( as desired )
58
Max Size : 15
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
Name : us_dept_list
find
Entering values
System Administrator Application validation set Values
59
Find Value By
Name : CUST_DEPT_LIST
60
Translated Value
Description
10
200
500
Note : The above use with parameters of concurrent program
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
62
Name : CUST_COUNTRY
find
Value
Translated Value
INDIA
INDIA
UK
UK
US
US
Description
Enabled
63
: Default value
Providing Values :
Values
Check Value Set
Name : CUST_CITY ( auto )
1) Independent
Select Find
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)
5)
7)
65
VARCHAR2
4) Size
100
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
66
Max Size : 100 ( must be less then or equal to size of the column )
67
Select
Edit Information
Table Columns
Name
Value : USER_NAME
Where/Order by
Select
Test
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.
68
69
70
71
72
73
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.
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.
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
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.
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.
79
80
Month3
5 ( 91 days )
4 ( 91 days )
81
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
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
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
name : Test_Currency
Symbol : #
85
Calendar :
Navigation :
General Ledger Vision Operations ( USA ) Setup Financial Accounting Calendar Types
Shows the types of Calendars
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
INV
PO
GL
87
INDinv USinv
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
+)
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
88
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 )
89
90
: 01
: 000
: 3310
: 0000
: 000
0100033100000000
Company- Department- Account- Sub Account- Product
Select OK
91
select Enabled
select Enabled
92
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
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
Damaged Goods
Sub-INV
Stock Location
94
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
95
Application : Inventory
Un Freeze FlexField Definition
Period ( . )
Select Segments
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
97
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
98
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
Master
Manufacturing Center
Raw Material
Distribution Center
Finished Goods
Finished Goods
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.
101
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
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
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
104
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
106
Distribution Stores
Computer
Mobiles
HDD
IPOD
-->Category Set
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 )
Desc :
Column
SEGMENT1
SEGMENT2
108
109
110
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
112
113
Get the
Calendar Name = Accounting ( copy into note pad )
Get the period
Go to Inventory Vision Operations ( USA ) Setup Financials Accounting Calendar Accounting
114
115
Creation of a Transaction :
Inventory Vision Operations ( USA ) Transactions Miscellaneous Transactions ( M1 )
UOM : Ea
Quantity : 10
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
Select Find
117
118
1) AP Interface
2) Inventory Interface
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
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.
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.
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.
121
122
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 )
124
Address1
Contact Person1
Address2
Contact Person2
Supplier
Address3
Sites
Contact Points
125
Creation of a Supplier :
Navigation
Purchasing Vision Operations (USA ) Supplier Base Supplier
126
Purchasing ( tab )
Ship To Location: M1- Seattle
Bill To Location: V1- New York City
Save the above
Select Sites ( to enter address )
Alternate Name :
Inactive unchek
State : A.P
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
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 )
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 :
Lines ( tab )
Sno Type
1 Goods
Item
Category
Description
Hyd CD Drive MISC.MISC
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
130
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
132
In the above enter the Requisition Number : 5632 ( which was generated earlier )
And Select Find(B)
133
134
135
136
137
138
139
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
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
Pricing Known
Yes
Yes
May be
No
Quantity Known
Yes
Yes
No
No
Yes
Yes
No
No
Yes
May be
No
No
Can Be Encumbered
Yes
Yes
No
No
N/A
Yes
Yes
N/A
141
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.
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.
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
Need By
30-MAY-2011
00:00:00
145
( Demand Sheet)
RFQ
( Requisition )
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
147
Go to Back end
select * from HR_LOCATIONS where LOCATION_CODE = 'M1- Seattle'
148
149
150
In the above if period is not available then create new period by using new ( green Colour )
Prefix
May
Type
Month
Year
2011
151
( May -11
2100
152
Select Find
153
Again ( Ctrl + L )
Find : %period%
Select Open and Close Periods for GL
154
2) 3-Way
3) 4-Way
155
2) 3-Way Method :
3) 4 Way Method :
156
Quantity
75
Select Headers
Save it
It generates the receipt Number : 9609
Receipt Master Information will be stored in a table :
RCV_SHIPMENT_HEADERS
157
Counting Items:
Purchasing Vision Operations ( USA ) Receiving Receiving Transactions
158
159
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
Creating Invoice :
Payable Vision Operations ( USA ) Invoices Entry Invoices
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
Select Distribution
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA
162
163
164
165
Bank Account
BofA
Document
CHECK
Doc Num
2472
166
Ordered
3
Received
3
Billed
3
167
It shows following
168
169
170
Select New
171
172
Type
Payment
Amount
15000
173
174
175
176
177
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
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
180
181
Dept : DEPT_FIX
Desc : Fixing Department
Location : HYD_AMEERPET ( value from HR_LOCATIONS table )
Select Resources
182
Basis : Item
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA
183
2) Soldering Department.
184
Item : Hyd_CPU
Main (tab)
Seq
10
Department
DEPT_FIX
Effective Date
26-MAY-2011 00:01:38
Seq
1
Resources
FIX_RSRC2
UOM
HR
Basis
Item
Schedule
Yes
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
186
10
26-MAY-2011 00:47:11
Sub Inventory
stores
187
O-2-C Cycle
1)
2)
3)
4)
5)
6)
( Order To Cash )
Sales Order
Shipping
Invoice
Receiving
Accounting
Bank Updates
188
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 )
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
Creation of Collector :
Receivable Vision Operations ( USA ) Setup Collections Collectors
191
Creation of Statement :
Receivable Vision Operations ( USA ) Setup Print Statement Cycle
Compiled and Developed by
M.Nageswar Rao, B.Tech, MBA
192
3) Statement ( installments )
Check Active
193
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)
2) Organization
Customer Master
3) Customer Number
4) Address : Address1, Address2, Address3 ( Called as Sites )
Sites
Site use
Contacts
Customer Master
Customer Location
Global Information
Address ( Physical Location ) ( INDIA, USA, UK )
Site
Site Usage
Contact Points
1) Global Level
2) Address Level
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
196
Type : external
Purpose
Business
Active
Check
197
Contacts ( tab )
Last : xxPerson and details
Active ( check)
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 )
198
199
200
201
Ordered Item
Hyd CD Drive
Qty
2
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.
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
Releasing Hold
Select Actions Release Holds
Reason : Configuration is valid.
Comments : Customer has paid the Amount.
Select Release OK
203
204
205
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, .
206
Navigation :
Order Management Super User, Vision Operations ( USA ) Shipping Transactions
207
GO OK
When click on
GO
OK
Ship Confirm request will call all the above five programs
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
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.
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.
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
212
Select Find
It shows Customer Bill to and Ship To Addresses
It shows Customer Number : 3845 and party Number : 31197
213
Reference : 56703 ( Enter the Sales Order Number ) and Query for it ( CTRL + F11 )
It shows as shown below
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
215
216
217
218
219
220
221
Auto Create
Select Approve for Collecting and depositing into bank
Select Yes
View Request find (Automatic Remittances Creation Program)
222
223
224
Date : 06-JUL-2011
Receipts : 12000 ( enter the receipt amount )
Select Lines and New
225
Line
Type
Amount
Receipt
12345
12000
226
Clearing Transactions :
Cash Management Vision Operations ( USA ) Bank Statements Manual clearing
227
228
Check Transaction
Select
Clear Transaction
Receipt Status :
Receivable Vision Operations ( USA ) Receipts Receipts
Query with receipt Number : 12345
229
Status : Cleared
Select Receipt History
230
Invoice Status :
Receivable Vision Operations ( USA ) Transactions Transactions
Number : 10020677 ( Enter the Invoice Number and Query ) as shown below
231
It shows as below
232
233
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
235
Name : REG10_QUALIFY_GROUP
Description : as desired
Context
Attribute
Operator
Start Date
Customer
Customer Name
Value
From
End Date
07-JUL-2011
236
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
Desc : as desired
Select List Qualifier to attach the Qualifier
Check the box at Name as shown below
237
Select OK OK
238
Modifier No
Level
End Date
Auto Generated
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
239
2) Columns
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
240
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
|
Oracle Manufacturing
+=======================================================================+
Developed By :
Developed On :
Purpose :
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
243
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 ,
RESPONSIBILITY LEVEL.
244
Site ( Global )
Application
Responsibility
User
Server
Organization
APPS ERP
AP
AP-INDIA
USER
AR
AP-US
GL
Application Level
245
Responsibility Level
User Level
Customization of profiles :
Navigation :
System Administrator Profile System
246
Eg :
Inventory Vision Operations ( USA ) Items Master Items M1 ( Seattle Manufacturing )
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 :
248
Query for the profile Profile Name ( F11 ) INV% ( ctrl + F11 )
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 )
250
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
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
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
MO : Operating Unit
Vision Operations
Y1
MO : Operating Unit
Vision Sweden
Z1
MO : Operating Unit
Vision Germany
254
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:
256
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
257
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
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
259
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.
260
261
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 :
D:\oracle\visappl\po\11.5.0\forms\US
APPLICATION
DESRIPTION
SUPPFORM
PURCHASING
SUPPFORM_DETAILS ( COPY )
AS DESIRED
Create Function
FUNCTION
Type : form
Form : SUPPFORM_DETAILS ( PASTE )
Create Menu
Menu : SUPPMENU ( any name )
User Menu Name : SUPPMENU_USER ( copy )
SEQ
PROMPT
SUBMENU
FUNCTION
263
as desired
optional
SUPPFUNCT1 ( paste )
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');
265
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
Vendor Id :
Vendor Name :
Invoice
Type
Date
Amount
Paid Amount
Balance
267
Item:
ItemDesc:
268
ItemCost:
ItemDate:
InventoryItem
PurchaseItem
O Yes
O No
CreateDFFcolumns
ApplicationDeveloperFlexFieldsDescriptiveRegister
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
270
WritethetriggercalledWHENNEWITEMINSTANCE(ITEMLEVELTRIGGER)
fnd_flex.event('WHENNEWITEMINSTANCE');
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
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 :
272
273
Properties Tab :
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 ).
275
4) attach to menu
276
The read only report shows as below. Hence the records can not be modified
277
278
279
Copy the user menu name value (FUNCTIONS) and attach to main menu as submenu
280
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
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
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
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
285
Personalization navigations :
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 :
287
Seq : 1
Type : Property
Language : All
( Check ) Enabled
288
Block : LINES
Field : SOURCE_TYPE_DISP
Help Diagnostics Custom Code Personalize
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
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 :
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
292
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
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
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
295
Title : Items
296
Name
Window Prompt
Column
Value Set
50
Company
Company
Attribut4
100 Characters
297
Title : Items
298
MENUS
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
300
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
302
2) Executable
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
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.
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
306
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
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
307
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
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
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
User Name
AGENT02
Creation Date
08-JUL-99
USER_ID,
USER_NAME,
CREATION_DATE
FROM
FND_USER
310
User Name
Description
Creation Date
FRO BEG
USER ID
USER NAME
DESC
CREATION DATE
FOR END
Application : Purchasing
Select Apply
Select Template
Create Template
Name : any ( user_xx)
Application : Purchasing
Type : RTF
File : C:\XML\user_reports.rtf Browse
Language : English
Territory : united states
Click on Apply
Result shows
311
Name : user_XX
( .rtf file )
code : USER_SHORT
( .rdf file )
Select Options in the above for different Format outputs such PDF / XML / HTML / TEXT
Report with parameters :
Example :
( parameters )
From Vendor Id
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
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)
313
ID
BEG VENDOR_ID
Vendor Name
PO
VENDOR_NAME PO
Creation date
CREATION_DATE
Invoices
INVOICE END
: CS_2
<?for-each:G_VENDOR?>
site-id
Site Code
Address
site-code
Address
City
City
end-sites-loop
<?end for-each?>
<?split-by-page-break:?>
end-vendor-loop <?end for-each?>
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
315
316
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,
317
USER_NAME,
CREATION_DATE,
DESCRIPTION
from
fnd_user
UTL_FILE.file_type;
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;
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,
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,' ');
320
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
Staging Table
Error Tables
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
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
comm. = 800
=========================
if sal < 2000 Tax = NIL
if sal
if 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 :
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
323
I ) and conversions ( C ) of
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 )
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>
column2
column3
,......)
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 )
326
- (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),
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
H : Hyderabad
B : Banglore
C : Chennai
: Mumbai
: 1
328
329
Continuation:
Path used:
none specified
Conventional
FIRST
* ,
CHARACTER
NEXT
* ,
CHARACTER
NEXT
LOCATION
* ,
NEXT
CHARACTER
* ,
CHARACTER
NEXT
* ,
CHARACTER
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.
330
00:00:03.25
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))
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
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
LOAD DATA
333
INFILE
&1
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
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
as implementation Projects.
5) Interface will be used to load the current data.
Apps R-12
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
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
MO : Operating Unit
MO : Operating Unit
MO: Security Profile
Flex Fields
Same
Forms
Same
Forms 6i
Forms 10g
FRMCRM
Interfaces
Same
Same
OM-AR-GL
TCA in AR Module Trading Community Architecture
Banks
Suppliers
Customers
Employees
HZ_PARTIES
336