402
ORACLE APPLICATIONS TECHNICAL ORACLE APPLICATIONS TECHNICAL It is one of the ERPs ERP = Enterprise Resource Planning Enterprise = Business. It involves following transactions 1) Buying 2) Manufacturing 3) Selling 4) Payments 5) Receiving 6) Balancing Life Cycle of Business Compiled and Developed by M.Nageswar Rao, B.Tech, MBA 1 Stores Raw Material Manufacturi ng Production Quality Control Marketing & Sales Customers Shipping Receivin g Account s Payment s Purchas e Finished Goods & Semi Finished Human Resources Recruiting Employees Employees Payroll Bank Transactions Assets Assemblin g Costi

Oracle Apps Student Matrial

  • Upload
    -

  • View
    189

  • Download
    9

Embed Size (px)

Citation preview

Page 1: Oracle Apps Student Matrial

ORACLE APPLICATIONS TECHNICALORACLE APPLICATIONS TECHNICAL

It is one of the ERPs

ERP = Enterprise Resource Planning

Enterprise = Business. It involves following transactions

1) Buying2) Manufacturing3) Selling 4) Payments5) Receiving6) Balancing

Life Cycle of Business

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

1

Stores Raw Material Manufacturing Production

Quality Control

Marketing & Sales Customers

Shipping

ReceivingAccounts

Payments

PurchaseFinished Goods &

Semi Finished Goods

Human Resources

Recruiting Employees Employees Payroll

Bank Transactions

Assets

Assembling

Costing

Page 2: Oracle Apps Student Matrial

1) Development of New ERP :

It may be developed by using software such as C, C++, Java, .Net, Oracle and etc….Development of new ERP involves high risk i.e complete SDLC is to be followed.

It Involves Complete SDLC such as 1)Gathering Specs, 2) System Analysis 3) Designing 4) Architecture 5) Development 6) Testing 7) Sign Off

Disadvantage in Development of New ERP

1) Time taken ( long time )

2) Project Cost is an expensive

3) Vendor Dependent ( Supplier )

4) Weather it may be succeeded or failed

5) Lot of Resources are required

6) Enhancement of the project

7) Chance of raising lot of Bugs.

8) Not is to maintain the project.

2) Existing ERP

Eg : Oracle Apps and SAP

Oracle Apps from the Oracle Corp.SAP form SAP Labs

Development is not necessary. Simply purchasing, Simple modifications ( Customization ), Enhancement and Implementation

Advantages

1) Time will be reduced

2) Minimization of Cost.

3) Vendor independent.

4) Already Successfully implemented.

5) Much enhancements and modifications not necessary

6) Enhancement and Maintenance will be look after by the Supplier ( vendor)

7) Minimization of Resources.

With an existing ERPs 60 to 70 % of time will be reduced.

Only 30 to 40 % modifications are required to implement the existing ERP.

Generally any industry will spend only 10% of their turnover on the software.

Hence clients will prefer the exiting ERPs.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

2

Page 3: Oracle Apps Student Matrial

Existing ERPs in the Market

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

SAP Best suitable for Manufacturing

Oracle Apps Best suitable for Financials

SEIBEL Best suitable for CRM ( Customer Relationship Management )

People Soft Best suitable for HRMS ( Human Resources Management System )

JD Edwards Best suitable for Manufacturing, Operations and Sales.

Baan Best suitable for Manufacturing

Recently the ERPs such as SEIBEL, People Soft, and JD Edwards were adapted by the ORACLE Corp… and Developed as Oracle Fusion.Hence with oracle apps we can handle the Financials, CRM, HRMS and Manufacturing

Comparison between SAP and Oracle Apps

SAP ORACLE APPS

1) SAP is suitable for Manufacturing Modules

2) SAP uses the Oracle database and uses the Sun Soft servers.

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

4) Implementation cost is more

5) Resources expensive

6) Only Large Scale industries can afford

7) Not Easy to develop and maintain the applications

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

1) ORACLE APPS suitable for Financials, CRM, HRMS

2) Its Own Data base. Since Sun micro system has been taken over by Oracle Corp, Sun servers can be used directly.

3) Oracle Corp is responsible for all and need not to depend on No.of vendors.

4) Implementation cost is less

5) Resources are economic

6) Small Scale Industries can also afford

7)Easy to develop and maintain the applications

8) New ERP having less No.of customers.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

3

Page 4: Oracle Apps Student Matrial

Life Cycle of Business

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

Integration of Oracle Apps Modules

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

4

P.O INV WIP

BOM

Q.A

OMA.RCM

G.L

A.P

FAHRMS

PAY

FPT

Stores Raw Material Manufacturing Production

Quality Control

Marketing & Sales Customers

Shipping

ReceivingAccounts

Payments

PurchaseFinished Goods &

Semi Finished Goods

Human Resources

Recruiting Employees Employees Payroll

Bank Transactions

Assets

Assembling

Costing

Page 5: Oracle Apps Student Matrial

1) PO ( Purchase Order ) Purchasing

2) INV (Inventory ) Stores , Raw Material , Finished & Semi Finished ,

3) WIP ( Work In Process ) Manufacturing, Production, Assembling

4) QA ( Quality Assurance ) Quality Control

5) BOM ( Bill Of Material ) Costing & Pricing

6) OM ( Order Management ) Marketing & Sales , Customers, Shipping

7) AR ( Account Receivable ) Receivings

8) CE ( Cash Entry ) Accounts

9) AP ( Account Payable) Payments

10) GL ( General Ledger ) Balancing

11) FA ( Fixed Assets ) Assets

12) FPT ( Financial Point of Transaction ) Bank Transaction

13) HRMS ( Human Resources Management System ) Recruitments

14) PAY ( Payrolls ) Payrolls

Product : it is for the public usage eg: O/S, ERPs, and packages.

Project : it is for the specific client

Types of Project :

1) Implementation Project :

Data migration from Legacy system to Oracle Application

Legacy it is other than Oracle Apps such as BANN, Main Frame, Java and etc

Newly development projects are also called as Implementation Project

2) Support Project :

Providing support to already implementing projectResolving 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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

5

Page 6: Oracle Apps Student Matrial

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 ObjectBy 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

3) MD050 Functional Design Document It will be prepared by the Jr. F.C

4) MD070 Technical Design Document It will be prepared by T.C

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

6

Page 7: Oracle Apps Student Matrial

5) MD120 Migration Document ( instance moving from phase to another phase )It will be prepared by DBA

6) UTD Unit Test Document or TE040

7) CV040 Conversion Functional Design DocumentIt will be prepared by Functional Consultant

8) CV060 Conversion Technical Design DocumentIt will be prepared by Technical Consultant

9) CR Document ( support ), Change RequestIt will be prepared by the Technical Consultant

Migration Documents are of two types

1) Installation Process : Installation stages are four 1) development 2) testing 3) production and 4) Quality.

When A form or a report is moving form one instance to other instance, after it has been developed, it’s all

associated components are also to be moved. It will be done by the DBA.

2) Execution Process: It will be developed by the Technical Consultant. It has to be developed by specifying

the logic implemented and functionality of an application.

CR Document :

It tells about the request made by the client, It could be minor changes such as some fields are to be added /

deleted to the existing form or may be deletion of procedure.

To implement any Oracle ERP the following Human Resources are required.

1) DBA ( Database Administrator )

2) Functional Consultant

3) Technical Consultant

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

The No.of DBAs depends the servers using in the Application development.

Role of Data Base Administrator

1) Installing the oracle Application

2) Define the securities

3) Provide the user access to the front end and back end of the application

4) Database Support/ cleaning / back ups

5) Applying patches ( Scripts )

Scripts are provided by the Oracle Corporation

Eg: bug fixing, additional support. ( www.metalinks.oracle.com is a contact site to fix the bugs )

6) Define multiple instances ( Development, Testing, Quality, Production ( client test ) )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

7

Page 8: Oracle Apps Student Matrial

Role of Functional consultant

1) Interaction with the client

2) Gathering specs from the client for development / customization

3) Should explain about the product to the client

Ex: Financial, Manufacturing, CRM, HRMS.

As is document present feature of the product

To be document the features, which will be implemented in the future

4) Testing of the product

Functional consultant is the real tester for the ERP applications

Should not be tested by using automation tools. It is a purely manual testing.

5) Define the setups

Ex: report generation ( inr India, Dollar US )

6) Preparation of Functional Design Document

While interacting with the client,

if task is concerned to DBA, then he should introduce the DBA to the client,

if task is concerned to Technical Consultant, then he should introduce the Technical Consultant to the

client,

Function consultant must have following skills

a) Expertise in Domino knowledge ( field working )

b) High communication skills

c) Presentation skills

d) Documentation skills

e) Leader ship quality

f) Interaction with new people

Role of Technical Consultant

1) Receives the document ( FDD ) form the Functional consultant

2) Should go through the document thoroughly

3) Analyze the FDD

4) Prepare the Technical Design Document ( TDD )

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.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

8

Page 9: Oracle Apps Student Matrial

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 === Reports 6i

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

C Conversions = SQL, PL/SQL and other Programs

E Extensions = Forms 6i

During an Implementation development of RICE components involves:

1. Creation of Reports that are not available as standard reports in the oracle apps modules.

2. Creation of the Interfaces to external systems.

3. Creation of Conversion programs to transfer data from a legacy system to the new system.

4. Enhancements (or extensions) to the existing system to add additional functionality to existing system without

disturbing the core software functionality of the system.

Functional Components are

1) P – 2 – P Cycle

2) O – 2 – C Cycle

P – 2 – P Cycle == PO AP CM GL

INV

O – 2 – C Cycle == OM AR CM GL

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

9

INV

Page 10: Oracle Apps Student Matrial

Software used in development of Oracle Application

1) SQL 2) PL/SQL 3) FORMS6i 4) REPORTS6i

5) XML Publisher with MS – Word 6) UNIX 7) JAVA

Versions of Oracle Application

10.7 Standalone

11i

11.0.3,

11.5.3, 4, 5, 6, 7, 8, 9,

11.5.10, 11.5.10.2

Release – 12

( R -12 )

12.0.0

12.1.1

12.1.2

12.1.3

12.1.4

Fusion Future release

Standard Version is 11.5.10

Modules provided by the Oracle Apps

Application is combination of Front and Back Front end is Forms, Reports, Programs Back end is tables, views

Oracle Apps has been developed with around 260 modules.

Dept of the Company is called as Module in Oracle Applications

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

10

Oracle Applications

Finance SCM CRM HRMS

Page 11: Oracle Apps Student Matrial

Oracle Financial Module

It provides the following

1) Oracle Payable (or) Account Payable ( A.P ) Forms, Reports, ProgramsEx: payment for today/next day/ next week/ next month/nest quarter and etc…

2) Oracle Receivables (or) Account Receivables ( A.R )

3) Oracle Cash Management ( CE = Cash Entry ) Cheques and Cash ( Bank Statement of the company )

4) Oracle Assets (or) Fixed Assets ( FA)

Registration where abouts of the assets responsible person Insurance Tax payments

5) General Ledger ( GL) : it is a main module of Oracle Apps It is a balance sheet of the company

6) Financial Statement Generated Report ( FSG )

7) Oracle financial Service ( OFS )

8) Project Account ( P.A )

9) …………. Around 25 modules provided by the oracle financials

2) SCM ( Supply Chain Management ):

Also called as Distributions

Distribution:

1) Purchasing 2) Stores 3) Sales

Manufacturing:

1) Bill Of Material What is the raw Material is required 2) Production 3) Quality 4) Planning 5) Costing 6) Pricing

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

11

Page 12: Oracle Apps Student Matrial

3) CRM :

1) Service Request Dept2) Service Receiving3) Field Service4) Service Updates5) Install base ( updating service request )

All the above are under the customer care

HRMS ( Human Resources Management System )

1) Recruiting

2) Core H.R ( Structure of the organization )

3) Payroll Module ( Employees Salaries ) UK Payrolls, US Payrolls, Indian Payrolls

4) Self Service H.R ( SSHR)

Employee information such as change of address, loans, leaves and etc…

5) Oracle Advanced Benefits ( OAB )

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

7) Oracle Training Module

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

12

Page 13: Oracle Apps Student Matrial

Application Architectures

Single Tier Architecture :

Data and Application will be running in the same memory. Application and Data both are on the same system.

Eg: C / Java / .Net Applications working files

Two Tier Architecture :

Data is in one memory and Application is in another memory. Application and Data both can be on the same system

or different systems in a network.

Eg:

D2k Form / Reports/ Java Console Application / VB Forms ( Any Desktop Application )

Client / User Tier ( Desktop App ) Database Tier

Request

Response

Three Tier Architecture :

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

with Application Servers.

Client – Tier Application - Tier Database - Tier

HTTP Request

Request

Response

HTTP Response

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

13

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

Database

WEB CLIENT

Application Components

Servlet / JSP/ Oracle

Application Forms, JSP

Pages

Data Base

Page 14: Oracle Apps Student Matrial

Four Tier / Multi-Tier Architecture :

It is an Enterprise Application.

Client – Tier Application - Tier Middle - Tier Database – Tier

HTTP RequestRequest

Request

Response

HTTP Response Response

Middleware :Java EJB Components are used as Middleware Components.Some Middleware Components can be Distributed.

If Application –Tier and Middle-Tier are on the Same system, then it is called as Enterprise Application.

If multiple Middleware components are running on different systems in a network, then it is called as distributed application.

Oracle Applications architecture

Oracle Applications architecture is a framework for multi-tiered, distributed computing, that supports Oracle

Applications products. In this model, various services are distributed among multiple levels, or tiers.

User Tier Application Tier Database Tier

Request Request

Response Response

SERVICE

A Service is a process or group of processes running on a single machine that provides a particular

functionality. The HTTP service, for example, is a process that listens for and processes HTTP requests, and the

Forms service is a process that listens for and processes requests for Oracle Forms.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

14

Browsers based

Web Client

AP | AR | GL | INVFront End ObjectForms and ReportsJSP Pages

Tables Views Packages Procedures Functions

WEB CLIENT

Application Components

Servlet / JSP/ Oracle

Application Forms, JSP

Pages

Data BaseMiddleware

Page 15: Oracle Apps Student Matrial

TIER

A tier is a grouping of services, potentially across physical machines.

desktop tier, which provides the user interface display. Only the presentation layer of Oracle Applications is on the

desktop tier in the form of a plug-in to a standard Internet browser.

The application tier, which manages Oracle Applications and other tools;

The tiers that, manages the Oracle database is a Database-Tier;

Clients are generally windows

Application and Data base on Linux/Sun Solaris

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

15

Page 16: Oracle Apps Student Matrial

The Desktop Tier

The client interface is provided through HTML for the Self-Service interface, and a Java applet for the

professional, forms-based interface using a Java-enabled Web browser. The desktop client with Oracle JInitiator

downloads the applet on demand and the applet is cached locally for future use.

Forms Client Applet

The forms client applet is a general-purpose presentation applet that supports all Oracle Applications

forms-based products, including those with customizations and extensions. The Forms client applet is packaged as

Java archive (JAR) files. The JAR files contain all Java classes required to run the presentation layer of Oracle

Applications forms. The Forms client applet and commonly used JAR files are downloaded from the Web server

at the beginning of the client’s first session. Other less commonly used JAR files are downloaded as needed. The

JAR files remain in the disk cache on the desktop, ready for future sessions, minimizing network traffic. All updates

are installed on the application tier and downloaded to the client automatically through the use of the JInitiator-

enabled Web browser.

Oracle JInitiator

The forms client applet must run within a Java Virtual Machine (JVM) on the desktop. For Oracle

Applications, the JVM is supplied by Oracle JInitiator. Oracle JInitiator works in conjunction with the Web

browser. It is implemented on the desktop client as a plug-in (Netscape Communicator/ Mozilla Browser) or

ActiveX component (Microsoft Internet Explorer). When a user enters the desired Oracle Applications signon URL

within 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.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

16

Page 17: Oracle Apps Student Matrial

The Application Tier

The application tier hosts the servers that process the business logic and provides the communication

between the desktop tier and the database tier. This tier is also referred to as the middle tier. Oracle 9 i Application

Server (9iAS) provides the technology stack used on the application tier. Six servers comprise the application tier

for Oracle Applications:

■ Web server

■ Forms server

■ Concurrent Processing server

■ Reports server

■ Discoverer server

■ Admin server

Load Balancing

The application tier supports load balancing among many of its servers to provide higher availability, fault

tolerance, reliability, and optimal scalability. Load balancing occurs when there are multiple installations of the

following:

■ Web server

■ Forms server

■ Reports server

■ Concurrent Processing server

■ Discoverer server

The Database Tier

The database tier contains the database server, which stores all the data maintained by Oracle Applications.

It also contains some processing code that is stored in the database to optimize performance. In Release 11i, the

database includes the Oracle Applications online help information as well. More specifically, the database tier

contains the Oracle data server files and Oracle Applications database executables that physically store the tables,

indexes, and other database objects for your system. In general, the database server does not communicate directly

with the desktop clients, but rather with the servers on the application tier, which mediate the communications

between the database server and the client.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

17

Page 18: Oracle Apps Student Matrial

Oracle Apps file Architecture

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

APPL_TOP

INV_TOPPO_TOPCUS_TOP WIP_TOP

11.5.0

reports

AR_TOPGL_TOP

forms

11.5.0 11.5.0 11.5.0 11.5.0 11.5.0

sql plsql admin outLogbin

US US

driverinclude javalib

18

Page 19: Oracle Apps Student Matrial

Applications Directory and File Types

Subdirectory

NameDescription

FormsContains Oracle Forms generated runtime (.fmx) files (Oracle Forms form files).

Reports 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.

log and out

Contains output files for concurrent programs:

■ .mgr (master log file for concurrent manager)

■ .req (log file for a concurrent process)

Note: Log and out subdirectories under a product directory are

not used if you set up a common directory for log and output

files (except in FND_TOP).

Mesg

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

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.)

Admin

PROD_TOP/admin contains files used by Auto Upgrade to upgrade each product. Note that this

directory is not the APPL_TOP/admin directory. The APPL_TOP/admin directory contains upgrade-

related files for all products. This PROD_TOP/admin directory contains product-specific upgrade

files.

Bin Contains concurrent program

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

19

Page 20: Oracle Apps Student Matrial

DriverContains .drv files (driver files). Auto Upgrade processes in several phases, and each phase is

controlled by a driver file.

ImportContains DataMerge files used to upgrade seed data.

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

and other database objects.

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

choose to install.

HtmlHTML, 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.

Lib

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 product’s programs;

■ a library file (.a) with compiled code common to the product’s programs;

■ a makefile (.mk) that specifies how to link executables.

JavaContains JAR files (Java Archive files) and Java dependency files. Copies of JAR files are also

located in JAVA_TOP.

Media The desktop client displays text and graphics from the .gif files

in this directory.

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

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

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

Custom Top :

This module is to support customer new requirements other than provided by oracle Corp. Custom Top is used

to create the customer ( client ) own forms / reports / or other data base objects as per the requirement of the customer. It

will be created by the customer. DBA is the responsible to create this module. At least on custom top is required for

every client. Multiple custom tops can also be created as per the demand.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

20

Page 21: Oracle Apps Student Matrial

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.

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 )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

21

Page 22: Oracle Apps Student Matrial

The basic things which are required in development of Oracle apps

1) Schema 2) Synonym

Schema

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.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

22

Page 23: Oracle Apps Student Matrial

APPS and Base Product Schemas

There is one schema for each product—a base product schema—that owns the data objects for that product.

There is one schema—APPS—that owns all the code objects for the E-Business Suite and has access to all data objects.

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

Apps Schema

INV Schem

a

HRMS Schem

a

AR Schem

a

AP Schem

a

PO Schem

a

23

Page 24: Oracle Apps Student Matrial

Ex: Item information Report

Item Details Supplier DetailsName of the Employee

who received the itemIssued Cheque No

Item details will be

obtained form the

inventory table

( Inventory Schema )

Supplier details will be

obtained form the supplier

table

( P.O Shcema )

Employee details will be

obtained from emp table

( HRMS schema )

Cheque details will be

obtained form cheque table

( A.P Schema )

We have to select the data from four tables. Apps Schema provides corresponding synonym for every table in

other Schemas, so as to enable the user to access the data from tables of different schemas.

Eg:

A.P Schema is having 50 objects

P.O Schema is having 100 objects

INV schema is having 100 objects

A.R Schema is having 50 objects

HRMS Schema is having 100 objects

Then apps Schema will maintain 350 ( A.P + P.O + INV + A.R + HRMS ) synonyms.

For convenient name of the synonym and database object will be the same.

Select * form emp, item, supplier where ……

emp, item, supplier are synonyms available in the Apps Schema

Emp HRMS.emp, item INV.item, supplierPO.supplier ,

Difference between Apps Schema and base product schemas

Apps Schema Base Product Schemas

1) It will not maintain any data

2) only synonyms and few of Multi Org views

3) User will always be connected to Apps schema

4) Apps is having grants to other schemas

1) It will maintain data in the form of tables

2) all Database Objects

3) User will never be connected. Some times may be connected to particular schema only.

4) Do not have the grants.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

24

Page 25: Oracle Apps Student Matrial

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

If customer want to add own custom schema, then we have create the custom schema and grant the privileges to Apps

schema. It is a job of DBA. The Technical consultant must have idea of all important tables, which are used in the

application.

Connection to Apps Schema

User id : apps

Password : apps

SID : vis

Sql > conn apps/apps@vis

Sql > select count (*) from tab;

62561

Sql > conn po/po@vis;

Sql > select count (*) from tab;

124

Sql > conn ap/ap@vis;

Sql > select count (*) from tab;

213

Sql> desc AP_CHECKS_ALL;

Sql> conn apps/apps@vis

Sql> desc AP_CHECKS_ALL;

Utilities used in the development of Oracle Application are 1) TOAD 2) FTP 3) Win SCP

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

25

Page 26: Oracle Apps Student Matrial

Application Object Library ( AOL )

Application : It is a combination of development and customization

Object : These are developed and customized objects

Library : It is a registry

AOL is a key where we are going to complete Technical and Functional aspects.

It involves two aspects

1) System Administrator

2) Application Developer

System Administrator :

Creation of users

Security Groups

Responsibility

Profiles

Programs

Application Developer :

Forms

Reports

Menus

Form function

Messages

Application

Tables

These are object registry by the application developer

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

26

Page 27: Oracle Apps Student Matrial

Creation of a user

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

User Name : operations

Password : welcome

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

3) Go to right side pane

Security : User

Define ( click )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

27

Page 28: Oracle Apps Student Matrial

4) Users form

User Name : mnaro10

Password : xxxxxx ( at least 5 chars )

( re-enter password ) ( it shows on the status bar of the form )

Description : any one ( purpose of user ) ( is an optional )

Responsibility Application Description Security Group From To

Application developer Application object library Sysdate Auto

System Administrator Application object library

Place the cursor in the responsibility cell and click ( right side …)

Find : appl% enter key and select application developer , then OK

Place the cursor in the responsibility next row and click ( right side …)

Find : system administrator % enter key and select application developer, then OK

Save the form ( save button )

Status bar shows that : Transaction complete : 3 records applied and saved.

Close the form

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

28

Page 29: Oracle Apps Student Matrial

5) Checking for User

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.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

29

Page 30: Oracle Apps Student Matrial

Significance of colors in the form

1) Yellow color mandatory field

2) White Optional

3) Gray read only ( it is not a navigable item )

Finding Table Name

Go to users form F11 query the user ( user name : ctrl + F11 )

After getting user details go to Help menu Record History

It shows as below

Created By: OPERATIONS

Creation Date: 04-MAR-2011 17:24:42

Table Name: FND_USER

Updated By: OPERATIONS

Update Date: 04-MAR-2011 17:24:42

The above details will be obtained from the Table called FND_USER

Column names

Help diagnostics examine

Block : USER

Filed : USER_NAME, to see the more fields click at right side, it shows all the columns in the table

(or)

using toad utility we can query the fields

Select * from FND_USER

Value : mnrao10

To find the current login user

Help about application

Oracle Applications

Copyright (c) 2004 Oracle Corporation,

Redwood Shores, California.

All Rights Reserved.

Site : UNKNOWN

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

30

Page 31: Oracle Apps Student Matrial

Application : System Administration

Responsibility : System Administrator

Security Group : Standard

User Name : OPERATIONS

User Login:

1) Logout form the administrator

Go to home page and logout

2) User Name : mnrao10

Password : xxxx

For the fist login, it will be prompted for

Current Password :

New password : we should change password for security purpose

Re-Enter new password:

Types of executables :

These are programs

Oracle Application supports 12 types of languages

Older version supports only 11 languages

Apps 11i version supports 12 languages.

1) Oracle Reports .rdf

2) Sql * Plus .sql

3) PL/SQL Procedures .proc

4) Sql * Loader .ctl

5) Unix shell script .sh

6) C – Language .C

7) Pro - C .prc

8) Java Programs .java

9) Java Serve Pages (OAF) .jsp

10) PERL scripting .perl

11) Java Server Faces(ADF) .JSF

Once the above programs have been transferred to oracle application, then these are called as concurrent programs.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

31

Page 32: Oracle Apps Student Matrial

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 Administratora. Create Executableb. Executable namec. Application Named. Execution Methode. Report (.rdf) file name

4) Create Concurrent Program and attacha. Executableb. Parametersc. Incompatibilities

5) Create Request group and attach Concurrent Programe

6) Create Responsibilitya. Request Group – Collection of Concurrent Programsb. Data Group – Collection of User IDsc. 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 requestExecutable => Concurrent Program => Request Group => User=> SRSDevelopment and execution of Sample Report

Requirement :

First Page :

Users Information Report

Second Page :

UserId UserName CreationDate

Last Page :

Total No.of Users : 2836

Step 1 : Develop the report using report builder

1) Data Model :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

32

Page 33: Oracle Apps Student Matrial

Query : SELECT

USER_ID,

USER_NAME,

CREATION_DATE

FROM FND_USER

Summary Column for total no of users

2 ) Layout Model

Header Section

Main Section

Trailer Section

3) Save and test it ( eg : saved as C:\MyApps\user.rdf )

STEP 2 : Move the report from Local machine into Server

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

STEP 3: Select System Administrator and create EXECUTABLE

Select System Administrator

Concurrent : Program

Executable

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

33

Page 34: Oracle Apps Student Matrial

Executable : user_reports ( name can be any one )Short Name : user_reports ( important it is to be attach with concurrent program in the next step, executable name )Application : purchasing ( click right side and find : pur% )Description : purpose of the report as desired by the client Execution Method : Oracle Report

Execution File Name : user ( name of the file which was developed in the oracle reports )SAVE THE RECORD ( click on save button )

STEP 4 : Create Concurrent Program and attach EXECUTABLEConcurrent : Program Define

Program : user_prog ( any name ) ( copy this next step, it will be supplied in the next step for REQUEST

NAME), THE SEME NAME WILL BE ADDED IN THE SUBMITTION REQUEST )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

34

Page 35: Oracle Apps Student Matrial

Short Name : It can be any one

Application : purchasing

Description : as desired by the client

Executable :

Name : user_reports ( the short name in the 3rd is to be supplied here ) or click right side will be populated

Method : Oracle report ( automatically )

Output :

Format : PDF ( choose from the list provided )

Save : enable to save the report for the future

Disable if not required for the future

Print : disable as the printing is not required

Style : A4 ( choose from the list provided )

SAVE THE RECORD ( click on save button )

STEP 5: Create Request Group and attach Concurrent Program

Security : Responsibility

Request

Group : user_group1 ( any name )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

35

Page 36: Oracle Apps Student Matrial

Application : purchasing

Code : any one

Description : any one

Request

Type Name Applicatio

Program user_reports_prog purchasing ( automatically )

(program name supplied in the 4th step )

SAVE THE RECORD ( click on save button )

Request group is a collection of Concurrent Programs and Reports we can group All concurrent Programs.

STEP 6: Create Responsibility : 1)Request Group, 2)Data Group, 3)Menu

Go to application home page.

Security : Responsibility

Define

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

36

Page 37: Oracle Apps Student Matrial

Responsibility Name : user_resp ( any name )

Application : purchasing

Responsibility Key :any one

Description : any one

Data Group

Name : standard

Application : purchasing

Request group

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

Application : purchasing

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

SAVE THE RECORD ( click on save button )

Responsibility is a Level of Authority which Combines Forms, Report and Application

User ID's.

Eg: ( LG company : clerk, senior clerk, manager, General Manager, Managing Director, CEO )

Data Group is a Collection of Oracle Application UserID's. it will be for Security purpose.(STANDARD will

be used)

Request group is a collection of Concurrent Program add the request group whatever we have created.

it will automatically retrieves the Application Name.

Menu : Menu is a collection of Forms and Sub Menus select any one of Existing Menu.

Note : Once we create the Responsibility we can not delete instead of that we can disable by using Effective

start Date and End date.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

37

Page 38: Oracle Apps Student Matrial

STEP7 : attach Responsibility to the user.

Go to application home page

Security : user

Define

add the responsibility to user

Query for the user ( F11 )

Name : MNRAO ( CTRL + F11)

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

STEP 8 : Select the Responsibility

Click on this and select responsibility

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

38

Page 39: Oracle Apps Student Matrial

Click on OK

view menu Request

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

39

Page 40: Oracle Apps Student Matrial

Submit New Request ( single request ) OK

Name : user_reports_resp( automatically/select from the list )

Click on submit ( at the bottom )

Submit another request Yes/No No

Click on Find

Click View output : to see the out put

View Log : to see the log details

View details : to see the of the request details such as name the request, date submitted, requestor, date started,

date completed

Diagnostics : it shows as below

This request completed successfully. The request started at 05-MAR-2011 19:47:06 and ended on 05-MAR-

2011 19:47:23.

Executable:After moving .rdf in to the server, we will crate executable by specifying executionname execution method and application name.

Request Set: Request set is a collection of report / Programs that you group together and can be submitted to run is a single interaction.

Request Id:When submit a request oracle application assigns a request id to the request. We can use this request id to search for request.

Concurrent Manager:A concurrent manager is a component of concurrent processing that monitors and runs tasks without typing up your computer.

Refresh Data:This button will show you the latest status of the concurrent program

Find Request:This button will take you to request find window

Submit New Request:This button will take you to SRS window

Diagnostics:This button will show the completion details of the concurrent program

Hold Request:This button will help to hold the running request for same time and period

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

40

Page 41: Oracle Apps Student Matrial

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 attachingExecutable, if parameters are there we will attach parameter if incompatibilityPrograms are there we will add those programs , for single executable we createMultiple concurrent programs with different parameters.

Request Group:After creation of concurrent program we must add the program to the requestGroup. Request Group is nothing but collection of Concurrent Programs andReports.

Responsibility:It is level of authority where we will combine Data Group, Request Group andMenu. 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 UserNames 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 valueswhile entering the parameters.

Token:Token is one the field will be used to map concurrent Programparameters with report builder find variable. We will enter the find variable namein the toke field so that parameters will be passed to the find variable.

Required check box:By using this check box we can’t make the parametersmandatory 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 SRSWindow.

Range Option: While defining the form and to parameters if we wanted to acceptValues in accession order menus from values is low and to value is high we willSelect the options called low and high.

Default Types:If we are hiding the parameters user can’t enter the values that

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

41

Page 42: Oracle Apps Student Matrial

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 ConcurrentProgram 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 programWe can submit the Concurrent program future date or date by using the schedule buttonin SRS window

1. As soon as possible: This is default option whenever we submit the request itwill 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 programperiodically no of. Days months, hours, minutes and so on.

4. Specific Days: If we want submit concurrent program in the specific days wewrite select this option

5. Save this Schedule: This check box will be used to save the schedule andapply same schedule to other concurrent programs by selecting the button called‘Apply save schedule’

Print & Notify: Using this we can notify the concurrent program run details and also control the print option.

*****************************

Application Responsibility1, Responsibility2, Responsibility3

Responsibility Sharing by users

Responsibility Combination of 1) Menu Group 2) Request Group 3) Data Group

Menu Group Function1, Function2, Function3

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

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

42

Page 43: Oracle Apps Student Matrial

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

3) Security : responsibility

Request

Click on add

4) Security : responsibility

Define

Click on add

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

43

Page 44: Oracle Apps Student Matrial

5) Security : user

Define

Click on add

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

Different Types of Tables in Oracle Apps

1) Interface Tables 2) Base Tables

1) Global Tables2) Org Specific Tables3) Language Specific Tables

Interface Tables :

These are intermediate tables between apps base tables and external tables. Oracle Program is used to transfer data from other tables to Apps Interface tables. Apps interface program is used to transfer data from Interface tables to Base tables.Eg:

AP_INVOICE_HEADER_INTERFACEAP_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:

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

44

Page 45: Oracle Apps Student Matrial

AP_INVOICE_ALL

Based on storage of data, base tables are divided into following

1) Global Tables2) Org Specific Tables3) Language Specific Tables

Global Tables :

The data in this tables is not specific to any organization of a business. This data can be shared across all the organizations of business group.

Eg: Employs data, Suppliers data, Accounting data, Bank Transactions data

Org specific Tables :

The data stored in this tables are specific to particular organization.Eg: Invoice Details Org Specific tables will have ALL as their suffixAP_INVOICE_ALL

Language Tables :

Apps supports the multiple languages. These tables will maintain the language specific data.These table will have TL as it’s suffix

Different Types Columns in a table :

Eg : MTL_SYSTEM_ITEMS_B

1) Data Columns : These columns contains base transactional data, which is entered from the apps form.

USER_NAME, DESCRIPTION, EMPLOYEE_ID, EMAIL_ADDRESS

2) Derived Columns : These are primary key columns. This data will be generated from oracle database sequence.

USER_ID

3) Who Columns : These are called as history columns. This data will be gerated automatically by the oracle application form.

These columns are1) CREATED_BY2) CREATION_DATE3) LAST_UPDATED_BY4) LAST_UPDATE_DATE5) LAST_UPDATE_LOGIN

Every apps table has the above columns

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

45

Page 46: Oracle Apps Student Matrial

4) Global Attribute Columns :These columns will maintain the functionality information, which is provided by the ORACLE Corp.

GLOBAL_ATTRIBUTE1GLOBAL_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-ACCOUNTLG-IND-SALES-4523

SEGMENT1, SEGMENT2, …. SEGMENT20.

Developing one more report and to application and execute

Eg:

Employees information report

EmpId EmpName Startdate

1) develop the report

2) transfer form client machine to server machine

3) create executable

4) create concurrent program and attach executable

5) Create Request Group and attach Concurrent Program

6) create responsibility and attach 1)Request Group

2)Data Group

3)Menu

7) add the responsibility to user

8) go to srs execute

Report with input Parameters

STEP 1: Develop the report with parameters

Requirement:

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

46

Page 47: Oracle Apps Student Matrial

First Page :

Title from the user input

Second Page :

UserId UserName CreationDate

Last Page :

Total Users :

Input parameters are

Enter From Id :

Enter To Id :

Enter Title

1) Create three parameter

P_From : number type (10)

P_To : number type (10)

P_Title : char (100)

2) Data Model

Query :

SELECT USER_ID,

USER_NAME,

CREATION_DATE

FROM FND_USER

WHERE USER_ID BETWEEN :P_FROM AND :P_TO

Create Summary column for total count : USER_COUNT

3) Layout model

Header Section : text filed map with P_TITLE

Main Section : required layout and map the text fields with required fields

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

47

Page 48: Oracle Apps Student Matrial

Trailer Section : Text Field map with USER_COUNT

4) compile and test the report

5) save in the local machine : file name : user-param.rdf

STEP 2: transfer the file user-param.rdf from local machine to the server

STEP 3 : LOGIN INTO APPLICATION

Create executable file

STEP 4: Create concurrent program and attach the executable

Map the parameters

Click on parameters button ( at the bottom )

Seq : it is serial number ( unique value )

Parameter : Enter From Id ( its prompt value )

Description : as desired (optional)

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

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

Required : enable mandatory field

Disable optional filed

Range : low for validation ( lower than other filed value )

STEP 5 : create request group and attach the concurrent program

STEP 6 : create responsibility and attach

Request Group

Data Group

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

48

Page 49: Oracle Apps Student Matrial

Change in the above report

Lay out Model :

Header Section :

Default Title : if user input is null it should be displayed

Select the label and place on the canvas ( user information report )

Write the trigger ( right click )

PL/SQL Editor :

function B_5FormatTrigger return boolean is

begin

if( :P_TITLE is null )then

return (TRUE);

else

return

false;

end if;

end;

Trailer Section :

Default label : No data found ( it total no.of records are zero )

Select the label and place on the canvas (No data found )

Write the trigger ( right click )

PL/SQL Editor :

function B_6FormatTrigger return boolean is

begin

if ( :USER_COUNT <=0 )THEN

return (TRUE);

else

return false ;

end if ;

end;

Text field it’s lable : disable if no records

PL/SQL Editor : ( for both same code )

if ( :USER_COUNT <=0 )THEN

return false;

else

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

49

Page 50: Oracle Apps Student Matrial

return true ;

end if ;

Again Change in the above report

Using lexical parameters dynamically

If input for both From Id and To Id is null where clause should be obtained dynamically

1) Create lexical parameter : P_WHERE

2) Query :

SELECT USER_ID,

USER_NAME,

CREATION_DATE

FROM FND_USER

&P_WHERE

Here lexical parameter is not reading form the user. It’s 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

Working with date :Requirement Input :

From Date :

To Date :

UserId UserName CreationDate

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

50

Page 51: Oracle Apps Student Matrial

Total Users :

Step1: Develop the report

1) Create Parameters

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

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

2) Data Model

Query

SELECT USER_ID,

USER_NAME,

CREATION_DATE

FROM FND_USER

WHERE CREATION_DATE BETWEEN :P_FROM AND :P_TO

create a summary column : TOTAL_COUNT

3) Layout Model

Header Section :

Prepare the required title

Main Section:

UserId UserName CreationDate

Trailer Section :

Total Users :

Repeat the other steps such registry and running as explained in the previous examples

Step 5 : while creation of concurrent program : Parameters : Pre defined Date value set : FND_STANDARD_DATE

In all the above example we have followed following steps1) Executable

2) Concurrent Program

3) Request Group

4) Responsibility

5) Users

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

51

Page 52: Oracle Apps Student Matrial

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

Constant

To pass the constant values such as numbers, chars, String , Date.

Enter From Id

Enter To Id

Enter Tile :

Eg:

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

52

Page 53: Oracle Apps Student Matrial

Enter Tile :

Default Type : constant Default Value : Users Information Report

SQL Statement

Enter From Id

Enter To Id

Enter Tile :

Enter From Id :

Default Type : sql statement Default Value : select min(user_id) from fnd_user

The above select query returns user_id : -1, -ve value will not be considered for 10/number, we have to

change data type as 15 char

Enter To Id :

Default Type : sql statement Default Value : select max(user_id) from fnd_user

Segment :

This is to get previous parameter value to the next parameter

Enter From Id:

Enter To Id :

Default Type: segment Default Value : Enter From Id

Value Sets : System provides built-in ( pre-defined ) value sets

Value set is a list of values with validations which will be used to restrict the user without entering the

invalid data in the Parameters

value sets are used in two scenarios.

1)Concurrent Program parameters

2)Flex fields

These are of 8 types of Validation types

1) NONE

2) Dependent

3) Independent

4) Table

5) Translate dependent

6) Translate Independent

7) Special

8) Pair

Note : the 1st four are mostly used.

All pre-defined are NONE type.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

53

Page 54: Oracle Apps Student Matrial

Creation of user defined value sets

These will be created based on some conditions.

1) NONE type

Eg 1: conditions

1) only digits ( 0-9)

2) Max 4 digits

3) Min Value : 150

4) Max Value : 5600

Steps to create value sets

System Administrator Application validation set

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

54

Page 55: Oracle Apps Student Matrial

Value St Nme : CUST_4DIG_NUM

Description : Customized value set for 4 digits number ( as desired )

List of Values : list of values ( we can others such as poplist, long list of values )

pplist if values are <10

list of values 10 to 200

long list of values > 200

Format Type : Number Maximum Size : 4 ( digits ) Precession : 4

( format Types are

1) Char 2) Date 3) Date Time 4) Number 5) Standard Date 6) Standard Date Time 7) Number )

Numbers only : enable ( 0-9)

Min Value : 150 ( as desired ) Max Value : 5600 ( as desired )

Validation type : None

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

55

Page 56: Oracle Apps Student Matrial

Note : After define use in the concurrent program, while defining parameters

Eg 2: conditions

5) Max 15 chars

6) Upper

7) If user input is number, it should precede with zeros

Value set name : CUST_15CHARS

Description : 15 chars text ( as desired )

List of Values : list of values

Format Type : Char Max Size : 15 ( max no.of chars)

Upper Case only : enable ( A-Z)

Validation type : None

Note : After define use with parameters of concurrent program

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

56

Page 57: Oracle Apps Student Matrial

2) INDEPENDENT

Independent provides the list of values, user has to select the value from the list

Value set Name : CUST_DEPT_LIST

List Type : List of Values

Format Type : Number Max Size : 5

Validation Type : Independent

Find By Value : select Value Set Name : us_dept_list

Click on find

Entering values

System Administrator Application validation set Values

Find Value By Name : CUST_DEPT_LIST

Check Value Set

Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

57

Page 58: Oracle Apps Student Matrial

Enter the values

Supply the desired values in the value column

Value: Translated Value Description

10

200

500

Note : The above use with parameters of concurrent program

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

58

Page 59: Oracle Apps Student Matrial

3) DEPENDENT

Provides list of values but depending on another Independent values

Eg:

Country : India City : Hyderabad

Banglore

Chennai

Delhi

Mumbai

Country : USA City : Dellos

California

Detroit

Country : UK City : London

Anderson

Report output

First Page:

Employees information

India : Hyderabad

Second Page :

EmpNo EmpName Salary Comm

Last Page:

Total Employees : 50

Step1 : create the independent values set ( list = India, US, UK )

System Administrator Application Validation Set

Value Set ( form )

Value Set Name : CUST_COUNTRY

Description : List of Countries ( as desired )

List of values : List of values

Format type : Char Max Value : 50 ( as desired )

Validation Type : Independent

SAVE THE FORM

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

59

Page 60: Oracle Apps Student Matrial

Providing the values :

System Administrator Application Validation Values

Find By Value : Check Value Set Name : CUST_COUNTRY

Click on find

Value Translated Value Description Enabled

INDIA INDIA

UK UK

US US

Save the above

Step2 :

Create the dependent values set

Country : India City : Hyderabad

Banglore

Chennai

Delhi

Mumbai

Value Set ( form )

Value Set Name : CUST_CITY

Description : List of cities in a country

List of values : List of values

Format type : Char Max Value : 50 ( as desired )

Validation Type : dependent

Select Edit Information

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

60

Page 61: Oracle Apps Student Matrial

Dependent value set information

Independent value set : CUST_COUNTRY

Dependent Default value : INDIA ( as desired )

Description : Default value

Providing Values :

Values

Check Value Set

Name : CUST_CITY ( auto )

1) Independent Value : INDIA ( default, use down arrow key to list )

Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

61

Page 62: Oracle Apps Student Matrial

Value

Hyderabad, Chennai, Banglore, Delhi, Mubai

SAVE THE FORM

2) Independent Value : US

Select Find

Values ( California, Chicago, Detroit )

SAVE THE FORM

3) Independent Value : UK ( London, Anderson )

Use the above dependent and independent value sets in the application.

Note : use the above in Concurrent Program Parameters

4) Tables : Values will be provided from the database table

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

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

62

Page 63: Oracle Apps Student Matrial

TABLE value set

Defining table type value set

Here values will be obtained from the table ( query )

Eg: User Name should be obtained from the list

The following should be identified

1) Table Name FND_USER

2) Column Name USER_NAME

3) Data Type VARCHAR2

4) Size 100

5) Application Name Application Object Library

1) Table Name

System Administrator User Define

After getting above form Query for all users ( Ctrl + F11 ) ) user down arrow key to move to next user.

Place the cursor in the User Name filed go to Help Record History get the Table Name : FND_USER

2) Column Name

Go to Help Diagnostics Examine Password : apps

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

63

Page 64: Oracle Apps Student Matrial

Get the Column Name : USER_NAME

3) Data Type

Application Developer Application Database Table

Table Name : FND_USER ( Query for it )

Get the Column Type : VARCHAR2

Width : 100

Application Name : Application Object Library

Creation of Table Value Set

System Administrator Application Validation Set

Value Set Name : CUST_USER_NAMES_TAB

List Type : List of Values

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

Validation Type : Table

Select Edit Information

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

64

Page 65: Oracle Apps Student Matrial

Table Application : Application Object Library Table Name : FND_USER

Table Columns

Name

Value : USER_NAME

Where/Order by : USER_NAME LIKE '%USER%'

Select Test

Save the above and close the form

Working with Stored Procedures and Packages

Stored Procedure :

1) It is sub a program, which contains set of statements.

2) It is a pre-compiled program at server side.

3) It carries three type of parameters, In, Out , InOut

In Parameter to pass the value

Out Parameter to return the value

InOut Prameter to pass as well as to return the value.

4) It can not return the values directly from the stored procedure. It returns the values

through the out parameter or InOut Parameter.

Advantages:

1) We can obtain more performance as it is a precompiled program at server side.

2) Since It will be stored at the server side , it can be shared by multiple clients at time.

Developing and Registering with Oracle Application

1 ) Develop the stored procedure

Syntax :

Create Or Replace Procedure <ProcedureName> (ErrBuff OUT varchar2,

RetCode OUT varchar2,

P1 IN NUMBER,

P2 IN VARCHAR2,

P3 IN DATE) AS

Local variables, Cursor, Collections Declare;

Begin

If statement

For Loop

Procedure Calling

Fnd_File API will be used instead of DBMS_OUTPUT.Put_Line

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

65

Page 66: Oracle Apps Student Matrial

FND_FILE.PUT_LINE(Fnd_File.Log ,'Message'||Variable Name);

FND_FILE.PUT_LINE(Fnd_File.Output, 'Message'||Variable Name);

Exception

When Other then

-Exception Statements;

End [ <Procedure Name> ];

ErrBuff : to get the runtime error messages into the log file

RetCode: To get status of the concurrent program

0 Normal termination

1 Warning

2 Error

Eg:

Create or replace procedure test_proc(

ErrBuff out varchar,

RetCode out number) as

l_name varchar2(100):='MNRAO';

begin

FND_FILE.PUT_LINE(Fnd_File.Log , 'Employye name into the log file'|| l_name );

FND_FILE.PUT_LINE(Fnd_File.Output, 'Employye name into the log file '|| l_name );

end;

1) create executable method as PL/SQL Stored Procedure

2) Create concurrent program as PL/SQL Stored Procedure

3) Out put format must be in text format only for PL/SQL Stored Procedure

Repeat the remaining as explained in the previous examples.

Stored Procedure with parameters

Create or replace procedure test_param_proc(

ErrBuff out varchar,

RetCode out number,

V_Id IN number,

V_Name IN varchar ) as

l_id number(2);

begin

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;Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

66

Page 67: Oracle Apps Student Matrial

commit;

FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor name has been updated successfully '|| V_Name );

exception

when NO_DATA_FOUND then

FND_FILE.PUT_LINE(Fnd_File. Log, 'Vendor ID does not exits '|| V_Id );

when TOO_MANY_ROWS then

FND_FILE.PUT_LINE(Fnd_File. Log, 'Duplicate Vendor Found '|| V_Id );

when OTHERS then

FND_FILE.PUT_LINE(Fnd_File. Log, 'Other Errors ');

end;

1) create executable method as PL/SQL Stored Procedure

2) Create concurrent program as PL/SQL Stored Procedure

Out put format must be in text format only for PL/SQL Stored Procedure

Parameters

While supplying parameters Token is not necessary, as the parameters will be maintained in sequential

order by the stored procedures.

Repeat the remaining as explained in the previous examples.

Key Flex Fields :

KFF: it will be used to Capture the Key information from the User in code language for every code there will be a

specific meaning. SEGMENT Columns will be used Capture the KFF Data

We can find all the flex field details in Application Developer Responsibility

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

CTRL+F11 for all KFF

Down arrow key and select Application : General Ledger Flexfiled Tiltle : Accounting Flexfield

Create New Flex Filed ( + )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

67

Page 68: Oracle Apps Student Matrial

Un Check Freeze Flexfiled Definition

Select Period ( - ) Select Segments

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

68

Page 69: Oracle Apps Student Matrial

Save the above

Place the cursor in the first line COMPANIES

Select Flexfiled Qualifier

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

69

Page 70: Oracle Apps Student Matrial

COMPANIES : Intercompany Segment ( Check )

BRANCHES : Balancing Segment ( Check )

ACCOUNTS : Natural Account Segment

Save the above and close form

Check Freeze Flexfield Definition OK Compile OK OK

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

70

Page 71: Oracle Apps Student Matrial

Creating Values for the above flex fields

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

Enter the Structure : LGS_INDIA_KFF

Select Find as shown below

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

71

Page 72: Oracle Apps Student Matrial

FUNCTIONAL MODULES

Multi Orgs ( Multiple Organizations ) :-

It is a process of storing multiple organizations information in a single server with single

Installation. It is like a MNC.

Multiple Organizations in Oracle Applications

The Oracle Applications organization models define organizations and the relationships among them in

arbitrarily complex enterprises. This organization model serves as the cornerstone for all of the Oracle Applications

products. It dictates how transactions flow through different organizations and how those organizations interact with

each other.

Generally, a complex enterprise has several organization structures, such as Internal, Accounting, and Human

Resources. You are able to define different structures to customize Oracle Applications according to your business

needs.

Organization can be a Company / Branch / Dept / Area / Unit

Basic Business Needs

Oracle Applications provides you with the features you need to satisfy the following basic business needs:

• Use a single installation of any Oracle Applications product to support any number of organizations, even if

those organizations use different sets of books.

• Define different organization models

• Support any number of legal entities within a single installation of Oracle Applications.

• Secure access to data so that users can access only the information that is relevant to them.

• Sell products from a legal entity that uses one set of books and ship them from another legal entity using a

different set of books, and automatically record the appropriate intercompany sales by posting intercompany

accounts payable and accounts receivable invoices.

• Purchase products through one legal entity and receive them in another legal entity.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

72

Page 73: Oracle Apps Student Matrial

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 organization’s 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 organization—either implicitly by choosing a

responsibility, or explicitly in a Choose Organization window. Each window and report then displays information for

your organization only.

Organizations that share the same functional currency, Accounting Flexfield structure, and calendar can post to

the same set of books.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

73

Page 74: Oracle Apps Student Matrial

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

Business Group

C C C C C C C C C Set Of Books

Tax1 Tax2 Tax3 Legal Entity

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

lower–level organization unit, the security profile. Multiple sets of books can share the same business group if

they share the same business group attributes, including HR flexfield structures.

Set of Books

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

Head Office

INDIA USA UK

HYD BANG DELHI

SR Nagar KP DSNR

Rack/bin Rack/bin Rack/bin

74

Page 75: Oracle Apps Student Matrial

It is a logical entity. A financial reporting entity that uses a particular chart of accounts, functional currency, and

accounting calendar. Oracle General Ledger secures transaction information (such as journal entries and balances) by

set of books. When you use Oracle General Ledger, you choose a responsibility that specifies a set of books. You then

see information for that set of books only.

Legal Entity

A legal company for which you prepare fiscal or tax reports and submitted to the government. You assign tax

identifiers and other legal entity information to this type of organization.

Operating Unit

An organization that uses Oracle Cash Management, Order Management and Shipping Execution, Oracle

Payables, Oracle Purchasing, and Oracle Receivables. It may be a sales office, a division, or a department. An operating

unit is associated with a legal entity. Information is secured by operating unit for these applications. Each user sees

information only for their operating unit. To run any of these applications, you choose a responsibility associated with

an organization classified as an operating unit.

Inventory Organization

An organization for which you track inventory transactions and balances, and/or an organization that

manufactures or distributes products. Examples include (but are not limited to) manufacturing plants, warehouses,

distribution centers, and sales offices.

The following applications secure information by inventory organization:

Oracle Inventory, Bills of Material, Engineering, Work in Process, Master Scheduling/MRP, Capacity, and

Purchasing receiving functions. To run any of these applications, you must choose an organization that has been

classified as an inventory organization.

Business group at the top of each hierarchy. When you define new organizations, they are automatically

assigned to the business group associated with your current session. Each organization is part of a business group. The

business group is usually the top box on an enterprise organization chart.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

75

Page 76: Oracle Apps Student Matrial

The business group is the largest organization unit you set up in Human Resources to represent your enterprises

as an employer. After defining one or more business groups for your enterprise, you set up one or more government

reporting entities (GREs) within each business group. The GRE is the organization that federal, state, and local

governments recognize as the employer.

Below this level, you represent the groupings in which employees work, such as branches, departments, or

sections, by means of internal organizations. To enable the assignment of employees to an internal organization, you

classify the internal organization as an HR organization.

You can define external organizations in the same way as internal organizations, so that you can represent

organizations that are not part of your enterprise (such as training vendors or tax offices). The major difference between

internal and external organizations is that you cannot assign people to an external organization.

Accounting / Distribution / Materials Management Organization Model

Using the accounting, distribution, and materials management functions in Oracle Applications, you define the

relationships among inventory organizations, operating units, legal entities, and sets of books to create a multilevel

company structure, as shown in Figure

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

76

Page 77: Oracle Apps Student Matrial

Multilevel Company Structure Example

Legal Entities Post to a Set of Books

Each organization classified as a legal entity identifies a set of books to post accounting transactions.

Operating Units Are Part of a Legal Entity

Each organization classified as an operating unit is associated with a legal entity.

Inventory Organizations are Part of an Operating Unit

Each organization classified as an inventory organization references an operating unit.

Inventory Organization Determines Items Available to Order Management

The Item Validation Organization parameter specifies which Oracle Manufacturing organization is used to

validate inventory items. You must define all transactable items in this organization. Some inventory item attributes for

Receivables and Order Management, including Tax Code and Sales Account, are specific to an operating unit or an

accounting flexfield structure. Therefore, you should define an item validation organization for each operating unit.

Inventory Organization Determines Items Available to Purchasing

The inventory organization you specify in the financial options for each operating unit determines the items

available in Purchasing. You can only choose an inventory organization that uses the same set of books as your

operating unit.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

77

Page 78: Oracle Apps Student Matrial

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

Currency INR, USD, EUR, POUND, RNG

Calendar Yearly, Quarterly, Monthly, Weekly

Chart Of Accounts Bank account details

Calendar Yearly, Quarterly, Monthly, Weekly

Eg: Quarterly = 13 weeks ( 91 Days )Month1 Month2 Month3 4 weeks 4 5 ( 91 days ) 5 4 4 ( 91 days )

Checking for weather the System supports Multi Orgs Concept :

SELECT MULTI_ORG_FLAG FROM FND_PRODUCT_GROUPS If MULTI_ORG_FLAG value is Y, then the System supports the Mutli Orgs concept

Creation of a Business Group

It involves two steps 1) create the location ( address ) 2) create the business group

1) Creation of a Location :

Login : Operations

Navigation steps :Inventory Vision Operations ( USA ) Setup Organizations Location

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

78

Page 79: Oracle Apps Student Matrial

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

Name : VIS_CORPORATE ( registration / location name )

Desc : Location of the the company ( as desired )

Inactive date : it is required when the location is not in use

Name, Desc and Inactive Date, Address Style, Address, Time Zone will be stored into the table called : HR_LOCATIONS

LOCATION_ID is a Key filed select * from HR_LOCATIONS where trunc ( creation_date)= trunc(sysdate)

select * from HR_LOCATIONS where LOCATION_CODE=' VIS_CORPORATE '

Address Details ( tab ) :

Fill the address as desired

Save the Above

The above address information will be stored into the table called

Shipping Location: location of Raw Material Storage.

2) Creation of a Business Group :Navigation steps :Inventory Vision Operations ( USA ) Setup Organizations Organizations New

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

79

Page 80: Oracle Apps Student Matrial

Save the above details and enter the Organization Classification Name as Business GroupSelect enabled Save the above and select Others for Additional Organization Information.

Business Group Info OK

Additional Organization Information

Pres Tab [ - ] shows the following

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

80

Page 81: Oracle Apps Student Matrial

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

Currency : Depending on the territory it will be changed .Eg :

India : INR : : Indian Rupee

United States : USD : $ : US dollarUnited States : USN : $ : US dollar (next day )United States : USS : $ : US dollar (same day )

United Kingdom: GBP : : Pound Sterling

Australia : AUD : : Australian Dollar

Navigation

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

Currency Information will be stored into the table called : FND_CURRENCIES

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

81

Page 82: Oracle Apps Student Matrial

select * from FND_CURRENCIES where trunc(creation_date) = trunc(sysdate)it shows today’s data

The above one is a predefined currency. We can define our own currency.

Eg:Code : XX_CUR name : Test_Currency Desc : Test Currency Territory : India Symbol : #

Calendar : It defines the financial year calendar

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

Calendar Type Information will be stored into the table called :

GL_PERIOD_TYPES

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

82

Page 83: Oracle Apps Student Matrial

Standard Calendar :

Navigation :

General Ledger Vision Operations ( USA ) Setup Financial Calendar Accounting

Query it ( Ctrl + F11 ) use arrow key

Indian Calendar information will be stored into the table called : GL_PERIODS

Calendar is different type :

Yearly :Month1 Month2 Month3 ………..Month12

Quarterly : Qrt1 Qrt2 Qrt3 Qrt4

Mon1 Month2 Month3W1 W2 W3

M1 M2 M3

4 5 4 ( 13 weeks ) = 91 days / 75 4 44 4 5

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

83

Page 84: Oracle Apps Student Matrial

Chart of Accounts It is a bank account detailsEg : LG Company has following Structure

LG

AP INV PO GL

INDap USap UKap INDinv USinv INDpo USpo UKpo

1001 1004 1008 1002 1005 1003 1006 1007Complete Code Is : Company_Country_Dept_AccountEg:

LG_IND_AP_1001

LG_US_INV_1005

LG_IND_PO_1003

LG_UK_AP_1008

The information is to stored in the Key cols of the table

Navigation steps to create the key flex fields for the above data.

System Administrator Application Flex Fields Key Flex Segments

Application : General Ledger ( query with this ) ( as it is a creation of Chart Of Accounts )

Flex Field Title : Accounting Flexfield

( Note : for Currency, Calendar and Chart Of Accounts , the application name is : General Ledger )

Go to Code column place the cursor any where and select New( + ) for the New filed

Eg: Code : TEST_27_APR_ACFF

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

84

Page 85: Oracle Apps Student Matrial

Title : TEST_27_APR_ACFF ( auto ) Desc : TEST_27_APR_ACFF ( as desired )

Segment Separator : Period ( . ) ( as desired )

Select Segments

After entering the above information save it The above flex fields information will be stored into the table called : FND_ID_FLEX_SEGMENTS_VL

Deselect Freeze Flexfield Definition OK Save ( compiling ) OK OK

Select Company Felxfiled Qualifier Intercompany Segment ( enable ) save it Country Felxfiled Qualifier Cost Center Segment ( enable )Dept Felxfiled Qualifier Balancing Segment ( enable )Account Felxfiled Qualifier Natural Account Segment ( enable )

Select Freeze Flexfield Definition OK compile OK OK on compilation it will be submitted for flex filed generation ( Name of the Request : Flexfield View Generator )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

85

Page 86: Oracle Apps Student Matrial

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 )

Set of Books : Vision Operations (USA) Copy the following into some notepad ) Chart of Accounts : Operations Accounting FlexRetained Earnings : 01-000-3310-0000-000Translation Adjustment : 01-000-3500-0000-000

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

86

Page 87: Oracle Apps Student Matrial

Create new set books from the above

Set of Books : Test_29_Apr_SOB Short Name : Test_29_Apr_SOB ( same or any one )Desc : as desired Chart of Accounts : Operations Accounting Flex ( from the above copied one ) Functional Currency : USDCalendar

Name : Accounting future period : 1 ( auto )Period Type : Month ( auto )

Retained Earnings : 01-000-3310-0000-000 ( copy the previously taken into notepad )Translation Adjustment : 01-000-3500-0000-000 ( copy the previously taken into notepad )

Company : 01Department : 000Account : 3310Sub Account : 0000Product : 000

Paste the above one by one from the above

Retained Earnings : 01- 000- 3310- 0000- 000Company- Department- Account- Sub Account- Product

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

87

Page 88: Oracle Apps Student Matrial

Select OK

Similarly Translation Adjustment Translation Adjustment : 01-000-3500-0000-000 Paste into respective fields as above Select OK

Note : The above set of books information will be stored into the table called GL_SETS_OF_BOOKS_select * from GL_SETS_OF_BOOKS where trunc(creation_date)=trunc(sysdate)

Legal Entity :

create the organization

Navigation : Inventory Vision Operations ( USA ) Setup Organizations Organizations New

Name : Test_29_APR_LELocation : REG10_SRNAGAR ( select from existing Ctrl + F11 )

Save the above Organization Classification :Name : GRE / Legal Entity select Enabled

Save the above

Select Others ( link between Set Of Books and Legal Entity ) Select : Legal entity accounting Press TabSet of Books : Test_29_Apr_SOB ( supply the above created set of books ) OK OK Yes or save

Note : The above information will be stored into the table called :HR_ORGANIZATION_UNITS

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

Operating Unit :Creating Operating Unit

Create the organization of Organization Classification as Operating Unit

Navigation Inventory Vision Operations ( USA ) Setup Organizations Organizations New

Name : Test_29_APR_OULocation : VIS_CORPORATE ( select from existing Ctrl + F11 )

Save the above Organization Classification :Name : Operating Unit select Enabled

Save the above

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

88

Page 89: Oracle Apps Student Matrial

Select Others ( link between Set Of Books, Legal Entity and operating unit )Select : Operating Unit Information Press TabSet of Books : Test_29_Apr_SOB ( supply the above created set of books ) OK and save Legal Entity : Test_29_APR_LESet Of Books : Test_29_Apr_SOB ( auto )

Click on OK and Save it ( Yes )

Inventory Organization :It is a place where actual business transactions takes place ( called as transaction point )

Inventories can be classified into two

1) Master Inventory 2) Child Inventory

Master Inventory : It defines the total products. It is a logical one Child Inventory : It defines the particular products ( quantity and type ). It is a physical one

Eg :

SONY

IND USA UKHYD MUMB PUNE NY WSH LOND X

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 modelshere 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_DEFINITIONSand

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

89

Page 90: Oracle Apps Student Matrial

MTL_PARAMETERS table provides actual inventory information such as INV OrG

For example

Name of the business group : Vision CorporationBack 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 :

Sub-INV

Stock Location

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

INV

Finished Goods Semi Finished Goods Damaged GoodsRaw Material

Row-Rack-Bin

90

Page 91: Oracle Apps Student Matrial

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

Name : VIS_SINV ( allows only 9 chars ) ( Name as desired ) ( Copy this name into note pad ) Desc : as desired Status : Active Locator Control : Dynamic Entity Type : Storage

The above sub inventory information is available in table called : MTL_SECONDARY_INVENTORIESselect * 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 above2) Create the Stock Location

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

91

Page 92: Oracle Apps Student Matrial

1) Create the Flex fields for the above requirement

Navigation

System Administrator Application Flex Fields Key Segments

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

Un Freeze FlexField Definition OK Period ( . )

Select Segments

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

92

Page 93: Oracle Apps Student Matrial

In the Required only Row, Rack and Bin. Hence disable the ( Displayed and Enabled for remaining ) Make Value set as empty for Row, Rack, Bin

To set the fields as mandatory select the field and open Eg :

Row and Rack as Mandatory

Select Row and Open , check the Required Save the above and freez the FlexField Definition, OK compile OK OK

Copy the Flex Field Title (Stock Locators ) into note pad (Stock Locators) : it is a mapping to Stock locator

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

93

Page 94: Oracle Apps Student Matrial

2) Create the Stock Location Select locator Row :

Inventory Vision Operations ( USA ) Setup Organizations Stock Locators M1 ( Inv Org Name )

Select New Locator ( Click here ) : Row :1 Rack : A Bin: 1

Locator : 1.A.1

Status : Active

Save and Close

Status : Active

Subinventory : VIS_SIN

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

94

Page 95: Oracle Apps Student Matrial

Again go to Sub inventory ( query for VIS_SINV )

Select locators ( 1.A.1 )

Locator Information will be stored into the table called : MTL_ITEM_LOCATIONS

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

95

Page 96: Oracle Apps Student Matrial

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

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

Indirect Items : Stationary Items. It is a secondary. It will not impact on the business. It is called as Expensive Item ( Technical Term )Eg: White Papers, Pens and etc

Direct Items are :1) Purchased Items 2) Sub Assembly Items 3) Manufacturing Items 4) finished Goods5) Sales Items 6) Service Items

All the tables of inventory starts with MTL ( Materials )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

ITEMS

DIRECT ITEMS INDIRECT ITEMS

Master

Manufacturing Center Distribution Center

Raw Material Finished Goods Finished Goods

96

Page 97: Oracle Apps Student Matrial

Creating of an Item

Navigation

Inventory Vision Operations ( USA ) Item Master Items V1 ( Vision Operations )

The following form contains 16 tabs such as Main, Inventory and etc.If it is manually user have to fill the all 16 tabs.

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

Pre requisite to create an Item :

1) INV Organization setup 2) UOM ( Unit Of Measure ) setup 3) Templates setup

In the above 1st and 2nd are mandatory where as 3rd one is an optional

1) Creation of INV Organization setup has already been discussed. It is a Multi Orgs concept.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

97

Page 98: Oracle Apps Student Matrial

Creation of UOM ( Unit Of Measure ):

Navigation :

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

Click in name column and select new for new unit of measure. And enter as shown above (Yellow Colour)

Save and go to conversions

Unit : VIS_DOZ Class : Quantity ( auto ) Conversion : 14 ( as desired ) Basic unit : Each ( auto )

All Unit Of Measure information will be stored into the table called : MTL_UNITS_OF_MEASURE

select * from MTL_UNITS_OF_MEASURE where trunc(creation_date) = trunc(sysdate)Template :

It is a group of attributes. Used to create template.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

98

Page 99: Oracle Apps Student Matrial

Setup of the template :Navigation :

Setup Items Templates

Template : click to check existing

New to create New Template Template : Desc :

Show : All groups / Main / Inventory / Bill of Materials and etc

We can use the already existing : eg : Purchased Item.

Creating an Item :It involves two steps :1) Create the Master 2) Assign to Child

Step1 : Creation of Master :It can be created in two ways 1) template basis 2) Items basis

Navigation : Inventory Vision Operations ( USA ) Items Master Item M1

Template basis

In the above Master Item form enter only Item and descriptionTools Copy From :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

99

Page 100: Oracle Apps Student Matrial

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 aboveThe above all items information will stored in the table called : MTL_SYSTEM_ITEMS_B

Step2 : Assign the item Child After save the Master go to Tools Organization Assignment

In the above go to Assigned select V1 ( auto ), M1, M2 Here Assign All is not recommended in the real time.Child items information will be stored into the table called : MTL_SYSTEM_ITEMS_B

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

100

Page 101: Oracle Apps Student Matrial

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

Item names will be stored into the Segment1. Reason is that, Item name is a Key information.

Creation of 2nd Item ( Printer )

Item Basis :

Repeat the above and select item basis Enter item : VIS_Printer, Desc : PrinterTools Copy From Select Item as shown below ( take the already entered item : previous VIS_Monitor )

Apply Done All the properties of REG10_ Monitor Item will be inherited to REG10_Printer ( such as V1. M1, M2 .. )Save the above Assign to Child Tools Organization Assignment ( if not saved it will be disabled )Select V1, M1, M2 and save it .

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

101

Page 102: Oracle Apps Student Matrial

Create item for Mother Board

Create master VIS_MotherBoard ( Template Basis or Item basis ) and save it

Assign to Child and save it -------------------Create Item for HDD : Create master VIS_HDD ( Template Basis or Item basis ) and save it

Assign to Child and save it -------------------Create Item for CD Drive : Create master VIS_CDDrive ( Template Basis or Item basis ) and save it

Assign to Child and save it --------------------

Create Item for CPU : ( Mother Board, HDD. CDDrive are part of CPU )

Mother Board, HDD. CDDrive are part of CPU are purchasing from the outside and assembling CPU in the organization. Hence CPU is a manufacturing Item. It comes under sub assembly.

Select template as subassembly save it and

Assign to Child ( V1, M1. M2 ) and save it.

-----------

Create Item for Dell Computer Dell Computer is a Finished Goods. It comes under Finished Goods.

Select template as Finished Good save it and

Assign to Child ( V1, M1. M2 ) and save it.

Categorizing the items :Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

102

Page 103: Oracle Apps Student Matrial

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

Distribution Center

-->Category Set

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

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

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

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 IND – LENOVE

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

Distribution Stores

Computer Mobiles HDD IPOD

HCL IBM LEN SONY DELL

NOKIA LG SAM SONY

S.D S.G KS

Desktop Laptop

Model1 M2 M3

103

Page 104: Oracle Apps Student Matrial

Eg : VIS_CAT_CODE

Navigation :System Administrator Application Flex Fileds Key Segments

Application : Inventory ( Query ) FlexFileds Title : Item Categories ( Down Arrow Key )

Go to Code Column and create New Code : VIS_CAT_CODE Title : VIS_CAT_CODE Desc :

Segment Separator : Pipe (| )Select Segments Num Name Column1 COUNTRY SEGMENT12 COMPANY SEGMENT2

Save and select Freeze FelxField Definition OK Compile OK OK

Entering values into flex fields :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

104

Page 105: Oracle Apps Student Matrial

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

New

The above information will be stored into the tables called : MTL_CATEGORIES and MTL_CATEGORIES_KFV

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

105

Page 106: Oracle Apps Student Matrial

Assigning item to Category Navigation : Inventory Vision Operations ( USA ) Items Master ItemItem : Query for ( VIS_Monitor : which was created earlier )

Tools Categories

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

106

Page 107: Oracle Apps Student Matrial

Category Set : VIS_CAT_SET Control Level : master ( auto ) Category : IND|HCLSave it . all the above information will stored into the table called : MTL_ITEM_CATEGORIES

Item Cost :

In Oracle the cost is called Material Cost Transportation Cost Material Over Head Cost

Labor Cost is called as Resource Cost

Item Cost = (Material Cost + Material Over Head Cost + Resource Cost )

Inventory Vision Operations ( USA ) Items Master Items (or )Inventory Vision Operations ( USA ) Items Organization Items

Master Item form contains 16 Tabs : one of the tab is Costing tab

Under the Costing tab the following details

Costing Enabled Inventory Asset ValueInclude In Rollup

If the all the above are checked, then it will be available for costing

Costing is at the organization level

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

107

Page 108: Oracle Apps Student Matrial

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 listCosting Enabled Inventory Asset ValueInclude In Rollup

For checking go to Inventory Vision Operations ( USA ) Items Organization Items Item : VIS_FDDAnd 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_CDDriveCost Type : Frozen ( 4 Types of costing 1) Frozen 2) LIFO 3) FIFO 4) AVGSelect Find Select Open Make/Buy : Buy ( Buy : purchased Items, Make : Manufactured Item )Select CostCost Element Sub Element Basis AmountMaterial Material Item 250Material Over Head

2) VIS_HDDRepeat the above steps

Costing Types information is available in the table called : CST_COST_TYPESUnit Costing information is available in the table called : CST_ITEM_COSTS

Material Transaction Cost :

Items :

1) Receivings

When received from the Suppliers, the Godown on hand stock will be increased

2) Issues When Issued to the Customers, the Godown on hand stock will be decreased

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

108

Page 109: Oracle Apps Student Matrial

Transactions are of three types 1) Buying 2) Selling 3) Manufacturing

Buying is a Receiving transaction. In oracle terminology it is called as MISC Receipt Selling is Issue transaction. In oracle terminology it is called as MISC ISSUES

Pre-requisite to create a transaction 1) Inventory Vision Operations ( USA ) Items Master Items Inventory ( tab )If Transactable flag is enabled then item comes under transactable and it can received / issued .

2) Period of transaction should be open

Checking for transactable flagInventory Vision Operations ( USA ) Items Master Items Inventory ( tab ) as shown below

2) Set Of Books Period of transaction should be open

SELECT * FROM ORG_ORGANIZATION_DEFINITIONS WHERE ORGANIZATION_CODE='M1'

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

109

Page 110: Oracle Apps Student Matrial

Take the SET_OF_BOOKS_ID value = 1

select * from GL_SETS_OF_BOOKS where SET_OF_BOOKS_ID=1

take either of the follwing SHORT_NAME :Vision OperationsNAME : Vision Operations (USA)

Go to Inventory Vision Operations ( USA ) Setup Financials BooksQuery for the any one of the following SHORT_NAME :Vision OperationsNAME : Vision Operations (USA)

Get the Calendar Name = Accounting ( copy into note pad )Get the period

Go to Inventory Vision Operations ( USA ) Setup Financials Accounting Calendar Accounting

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

110

Page 111: Oracle Apps Student Matrial

Get the name : Eg : Jan-09, feb-09, mar-09

Check Period Status is Open or Not

Inventory Vision Operations ( USA ) Accounting Close Cycle Inventory Accounting Period

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

111

Page 112: Oracle Apps Student Matrial

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

Select Transaction Lines

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

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

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

112

Page 113: Oracle Apps Student Matrial

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 : M1Sub inventory : StoresItem : VIS_MonitorSelect Find

Checking for Material transaction :Inventory Vision Operations ( USA ) Transactions Material Transactions it check between date as shown below

Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

113

Page 114: Oracle Apps Student Matrial

Steps in the purchasing of Goods (Purchase Order )

1) Requisition 2) RFQ 3) Quotations 4) PO 5) Receipts Updating Banks

The documents, which are related to above will be prepared by the clients.

1) Requisition

a) Internal Requisition It will be placed between branches ( transfer of Goods from Inventory to another

Inventory of the Company (or) on Godown to another Godown )

b) Purchase It process of purchasing from the out side. It can be from approved supplier or from the local

suppliers .

If goods are not available at approved supplier, then it will be purchased from local suppliers .

if purchase form the local suppliers, then buyer should purchase the goods with in the cost of certain limit. If

cost is more than the certain limit , the it should be approved by the Top Management .

Purchase form Approved Suppliers

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

114

Page 115: Oracle Apps Student Matrial

If the purchase from Approved Supplier then, then it involves the following steps.

2) RFQ 3) Quotations 4) PO 5) Receipts 1) AP Interface

2) Inventory Interface

RFQ ( Request for quotation )

Quotations call for to different suppliers in market. It is through the advertisement.

Quotation :

Quotations will be received from suppliers such IBM, TVS, WIPRO, ACEL

Quotations from the suppliers will be received through E-Mail, FAX, Courier, of by Hand

On receiving quotations. These will be analyzed by the purchasing committee. ( quotation analysis ).

The purchasing committee will decide the supplier. Once quotation has been approved, the supplier will be an approved

supplier of that company.

The approved supplied has to supply the goods through out the year as per the requirement.

Once quotation has been Approved, the confirmation document will be sent supplier.

Confirmation document consists of terms and conditions such Price, quality of the goods, payment terms,

Purchase Order : The Order requisition will be placed by the concerned person ( Stores Manager )

Quotation is only once and it is valid for one year. Order can be placed at any time in the year with out

any prior intimation to the supplier .

Supplying the Material : Supplier supplies the material as per the quality sample mentioned in the quotation. If not

meet the quality, then goods will be treated as inferior quality and it will be rejected.

Once goods have been received, the stores manger will issue the receipt of the goods.

Requisition Types

1) Benefits of On–line Requisitions :

You can save time, money, and paper by processing requisitions on–line. 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

generate a number of errors, waste time, and lose money. Some of the many problems you may incur with paper

requisitions include:

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

115

Page 116: Oracle Apps Student Matrial

• The requestor may not fill in the requisition completely or accurately.

• The requestor’s handwriting may be illegible.

• Someone without proper authority can potentially approve a requisition.

• The requestor might have to mail the requisition to an approver at a different location and wait a number of days to get it back.

• The approver or buyer may lose or damage the requisition.• The buyer may translate the information from the requisition to the purchase order incorrectly.

• You may lose significant quantity discounts if the buyer cannot locate all the requisitions that reference a particular item.

Implementing On–line Requisitions

Many companies want to provide on–line requisitions to everyone in the company. Others want to limit

the number of users who have access to the system. Purchasing is flexible enough to meet the needs of your company.

To give everyone access to the system, simply create a user name for each employee in the company and assign the

employee the appropriate responsibilities. You can easily designate a smaller group of individuals as requisition

preparers if you want to limit the number of requestors on the system. These people can create requisitions for anyone in

the company by identifying the appropriate requestor directly on the requisition line. You might also want to limit some

preparers to internal requisitions and others to purchase requisitions. You can also print requisitions to obtain signature

approvals if some of the approvers do not have access to the system. You can then assign an individual to update the

authorization status for these requisitions.

Purchase Requisitions

Use the Requisitions window to create requisitions. You must choose the requisition type (internal or

purchase). You can also provide a description, unlimited notes, and defaults for requisition lines. For each requisition

line, you choose the item you want to order along with the quantity and delivery location. You can get sourced pricing

from catalog quotations or open blanket purchase agreements. You can also choose a price from a list of historical

purchase order prices. In the Distributions window, you can charge the item to the appropriate 3 – 8 Oracle Purchasing

User’s 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.

Internal Requisitions

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

116

Page 117: Oracle Apps Student Matrial

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 non–Oracle 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 need–by 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 on–line to purchase an item. Instead, you can reference a paper

requisition number directly on the Requisitions 3 – 9 purchase order Distribution Details.

Prerequisite for Purchase :1) Items Purchasing Purchased and purchasable flag must be enabled2) Supplier Should in Active State3) User Must be Employee of the company and Must be a buyer

Types of Purchase1) Standard Purchase One time purchase2) Blanket Purchase Deal with Amount 3) Contract Purchase Purchase for some period ( contract may be for one year or five years etc..)4) Planned Purchase Purchase plan is base past history

Checking for Purchased and purchasable flag must be enabled

1) Items Purchasing Purchased and purchasable flag must be enabled

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

117

Page 118: Oracle Apps Student Matrial

Inventory Vision Operations ( USA ) Items Master Items Purchasing ( Tab ) Purchased and Purchasable flags must be enabled as shown below.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

118

Page 119: Oracle Apps Student Matrial

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

System Administrator Security User Define

Person : Stock, Ms.Pat ( employee )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

119

Page 120: Oracle Apps Student Matrial

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

Gender : Male Action : Create EmployementLast : MNRAO Person Type for Action : BuyerSave the above information and select Address

Address Style : IndiaAddress Details : as desired

Type : Primary ( enable )Date From

Save the above

Select Picture for Photo of the EmployeeSave the above

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

120

Page 121: Oracle Apps Student Matrial

Select Assignments : Organization : Vision Corporation Job : MM100_Manager Grade : 500.2.west Location : HR – Newark Status : Active Assignment Assignment Number : 1315 ( will be generated automatically )Save the above

Employee Master information will be stored into the table : PER_ALL_PEOPLE_F

Job information will be stored into the table: PER_JOBS

Address information will be stored into the table : PER_ADDRESSES

Assignments information will be stored into the table : PER_ASSIGNMENTS

Note : Employee will be assign to user with the help of fullname

Suppliers :

Supplier Master Information :

Supplier

Sites

Contact Points

1) Supplier Global information2) Sites Specific to Operating Unit3) Contact Points Specific to site

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

SupplierSupplier

Address1 Address2 Address3

Contact Person1 Contact Person2

121

Page 122: Oracle Apps Student Matrial

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

Supplier Name : VIS_SUPP Headers / Master infromation Alt Name : VIS_SUPP ( as desired ) General ( Tab )

Classification ( tab ) Type : Government Control ( tab ) Invoice Match Options : Purchase Order

Payment ( tab ) Terms : 45 Net Purchasing ( tab ) Ship To Location: M1- Seattle Bill To Location: V1- New York City

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

122

Page 123: Oracle Apps Student Matrial

Save the above

Select Sites ( to enter address )

Site Name : VIS_PURCHASE Alternate Name : Inactive unchek

Country : India Address : as desired ---------- ---------- City : Hyderabad State : A.P Postal Code : 500072

General ( tab) Pay ( Disable/Un Checked) Purchasing ( Checked/enable )

Communication Code Number Voice : 040 6656321 Fax : 040 6656321Contacts ( tab )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

123

Page 124: Oracle Apps Student Matrial

Last Name: MNRAOSave 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 Alternate Name :

Inactive unchek Country : India Address : as desired ---------- ---------- City : Hyderabad State : A.P Postal Code : 500072

General ( tab) Pay (Checked/enable) Purchasing (Disable/Un Checked )On creation of supplier, Supplier Number will generated automatically Supplier Master information will be stored in a table called : PO_VENDORS ( Master table )

Primary Key VENDOR_IDselect * from PO_VENDORS where trunc(creation_date)=trunc(sysdate)

Sites information will be Stored in table called : PO_VENDOR_SITES_ALL

VENDOR_ID is the foreign key between PO_VENDORS and PO_VENDOR_SITES_ALL

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

Contacts information will be stored in a table called : PO_VENDOR_CONTACTS

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

Purchasing :For the purchase Demand Sheet (or) REQ Sheet will be prepared by sales dept / Manufacturing Dept / Inventory Dept / Planning Dept / etc…..

It Involves Following Personnel

1) Requestor Employee, who is requesting the goods ( stores manger )

2) Preparer who is preparing the purchase document ( clerk )

3) Buyer who is going to buy a product ( Asst. Manager, Stores )

Demand Sheet contains :Name of the Item:Quantity :Need By :The employee, who need the item called as Requestor.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

124

Page 125: Oracle Apps Student Matrial

The above demand sheet will be forwarded to Requisition Dept, where demand sheet will be converted into Requisition .Requisition is of two types1) Internal called Internal Requisition ( IR )2) Suppliers called Purchase Requisition ( PR )Requisition :Purchasing Vision Operations (USA ) Requisitions Requisitions

Number : Type : Purchase Requisition Preparer : Stock, Ms. PatDesc : Status : Incomplete

Lines ( tab )

Sno Type Item Category Description UOM Quantity Price Need By1 Goods Hyd CD Drive MISC.MISC Each 10 2100 30-MAY-2011

00:00:00

Destination Type : Inventory Source : SupplierRequester : Stock, Ms. Pat Supplier : HYD_SUPPOrganization : Seattle Manufacturing Site : HYD_PURLocation : M1- Seattle Contact : MNRAOSubinventory : Stores

Note : If Source is Supplier , then Type is : Purchase Requisition If Source is Inventory, then Type is : Internal Requisition

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

125

Page 126: Oracle Apps Student Matrial

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

Headers information will be stored into the table : PO_REQUISITION_HEADERS_ALL

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

Lines information will be stored into the table called : PO_REQUISITION_LINES_ALL

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

Distributions (Accounting)information will be stored into the table : PO_REQ_DISTRIBUTIONS_ALL

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

Copy the Requisition Number ( 5634 ) into note pad

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

126

Page 127: Oracle Apps Student Matrial

the tables ends with ALL means Multi Arg tables provides business group information.With out ALL means Multi Arg views, provides only specific Organization information ( O.U )

Setting Organization Id to View First get Organization from the Requisition form Help Diagnostics Examine

Block : $PROFILES$Field : ORG_IDValue : 204 ( this value will be populated automatically )

Go to TOAD and execute the following package

BEGIN

FND_CLIENT_INFO. SET_ORG_CONTEXT ( '204');END;

Procedure success fully completed

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

127

Page 128: Oracle Apps Student Matrial

FND_CLIENT_INFO Is a name of the packageSET_CURRENCY_CONTEXT name of the procedure

Approval of the Requisition

Purchasing Vision Operations (USA ) Requisitions RequisitionsQuery Number : 5634

Select Approve to get approval of the requestCheck the Submit for Approval OK Once approved data will not be available for Requisition form. It will be converted into Purchase Order.

To check the requisition :Purchasing Vision Operations (USA ) Requisitions Requisition Summary

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

128

Page 129: Oracle Apps Student Matrial

The above Total purchase value in a particular request ( eg Number : 5634 ) Select lines and distributions to see the more details

To find the Request Approver and Request Submitter In the above after Find(B) Go to Tools View Action History

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

129

Page 130: Oracle Apps Student Matrial

The above RFQ will be sent to Suppliers.

Supplier will prepare the Quotation and will send the same to the purchase Dept.

Purchase dept analyze quotations and convert the RFQ into the Purchase Order.

There are 4 types of purchase orders 1) Standard Purchase One time purchase2) Blanket Purchase Deal with Amount 3) Contract Purchase Purchase for some period ( contract may be for one year or five years etc..)4) Planned Purchase Purchase plan is base past history

Conversion from Requisition to Purchase OrderPurchasing Vision Operations (USA ) Auto Create

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

130

Page 131: Oracle Apps Student Matrial

Select Clear in the above form and clear the form

Enter the Requisition : 5632 Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

131

Page 132: Oracle Apps Student Matrial

Check as shown above ( Check box at Requisition ( beginning ) ) Select Manual / Automatic If it is manual we have to create the purchase document If it is automatic System will generate the do purchase document automatically

For Manual Select Manual Supplier : VIS_SUPPSupplier Site : VIS_PURCHASE

Select Create ( Place the cursor at Requisition ) Add To Document Create

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

132

Page 133: Oracle Apps Student Matrial

Close the above

It generates the Purchase Order as Shown below.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

133

Page 134: Oracle Apps Student Matrial

Fro multiple shipments select Shipments

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

134

Page 135: Oracle Apps Student Matrial

For Multiple Distributions select Distributions

Finally Approve for the approval

Submit for Approval OK

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

135

Page 136: Oracle Apps Student Matrial

It shows status as Approved IMP Note :

Requisition Details

1) Headers2) Line3) Distributions

Here a header can have multiple linesA line can have multiple distributions

RFQ Details will be stored into the following tables Headers PO_REQUISITION_HEADERS_ALLLines PO_REQUISITION_LINES_ALLDistributions PO_REQ_DISTRIBUTIONS_ALLPurchase Order Details :

1) Headers2) Lines3) Shipments

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

136

Page 137: Oracle Apps Student Matrial

4) Distribution

A header can have multiple linesA line can have multiple ShipmentsA shipment can have Multiple Distribution

Purchase order Details will be stored into the following tableHeaders PO_HEADERS_ALLselect *from PO_HEADERS_ALL where trunc ( creation_date) = trunc(sysdate)

Lines PO_LINES_ALLselect *from PO_LINES_ALL where trunc ( creation_date) = trunc(sysdate)

Shipments PO_LINE_LOCATIONS_ALLselect *from PO_LINE_LOCATIONS_ALL where trunc ( creation_date) = trunc(sysdate)

Distributions ( A/C ) PO_DISTRIBUTIONS_ALLselect *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 Order1Line2 Purchase Order2Line3 Purchase Prder3

Purchase Order can also be created with out RFQ. Demand sheet can directly be converted into Purchase order.Purchase Order Types Summary

StandardPurchase

Order

PlannedPurchase

Order

BlanketPurchase

Agreement

ContractPurchase

Agreement

No.of Times Purchase One Time Multiple Times Multiple Times Multiple Times

Terms and Conditions Known Yes Yes Yes Yes

Goods or Services Known Yes Yes Yes No

Pricing Known Yes Yes May be No

Quantity Known Yes Yes No No

Account Distributions Known Yes Yes No No

Delivery Schedule Known Yes May be No No

Can Be Encumbered Yes Yes No No

Can Encumber Releases N/A Yes Yes N/A

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

137

Page 138: Oracle Apps Student Matrial

Creation of Standard purchase order.

Navigation :

Purchasing Vision Operations ( USA ) Purchase Orders Purchase Orders

Type : Standard Purchase OrderSupplier : VIS_SUPP Site : VIS_PURCHASE Contact : MNRAO ( auto )Ship to : M1- Seattle ( auto ) Bill To : Seattle MaintenanceBuyer : Stock, Ms. Pat

Lines :Num Types Item Category Desc UOM Quantity Price 1 Goods Hyd CD Drive MISC.MISC as desired Each 20 1275

Promised Need By05-JUN-2011 00:00:00 06-JUL-2011 00:00:00

Note : Need By Date must be greater than the Promised Date.

Enter the above details as shown in the below form.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

138

Page 139: Oracle Apps Student Matrial

Select Shipments It can be single shipments or Multiple Shipments

Select DistributionsIt 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 AgreementSupplier : REG10_SUPP Site : PUR_SRNAGAR Contact : EMP_NAME ( auto )Ship to : M1- Seattle ( auto ) Bill To : Seattle MaintenanceBuyer : Stock, Ms. Pat Amount Agreed : 10,000.00 ( it is not known in standard

purchase )

Lines :Num Types Item Category Desc UOM Quantity Price 1 Goods Hyd Printer MISC.MISC as desired Each ( Disabled ) 250

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

139

Page 140: Oracle Apps Student Matrial

Blanket will not have these Two dates Promised and Need By Date

Enter the above details as shown in the below form.

Blanket Purchase will not have the Shipments and DistributionsStandard Purchase will not have Price Breaks ( Discounts )

Select Price Breaks for Discounts enter details as shown below ( as desired )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

140

Page 141: Oracle Apps Student Matrial

Save the above ( take Purchase order No (4423 ) into note pad before approval )Select Approve and Check the Submit for Approval OKStatus 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 Org Ship To Quantity Promised Need By1 1 M1 M1- Seattle 5 31-MAY-2011 00:00:00 30-MAY-2011 00:00:00

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

141

Page 142: Oracle Apps Student Matrial

Select Agreement for terms and Conditions

Select Approved to Approve the release

The following are the steps before converting Purchase to Release

REQ ( Demand Sheet)

RFQ ( Requisition )

Quotations ( from Supplier )

Purchase Order ( to suppliers )

After finishing above steps Receiving the Goods ( Items )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

142

Page 143: Oracle Apps Student Matrial

Creation of Receiving :

Pre-requisite for receiving : 1) Purchase Status should be Open ( Approved )2) Calendar Period Should Open for ( INV, GL and PO )

Checking for Purchase Status :Purchasing Vision Operations ( USA ) Purchase Orders

Enter the Purchase Order No : 4422 ( was created in the previous step : Standard purchase )

Shipments Status Tab Received : should be less than the ordered

2) Checking for Calendar period open for ( INV, GL, PO )From the following get the get Ship-to : (M1- Seattle)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

143

Page 144: Oracle Apps Student Matrial

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

get the INVENTORY_ORGANIZATION_ID value : 207 Both are same.

select * from ORG_ORGANIZATION_DEFINITIONS WHERE ORGANIZATION_ID=207

get ORGANIZATION_CODE = M1 and ORGANIZATION_NAME = Seattle Manufacturing

get the SET_OF_BOOKS_ID = 1

select * from GL_SETS_OF_BOOKS where SET_OF_BOOKS_ID=1;get Name : Vision Operations (USA)SHORT_NAME : Vision Operations

go to Books and get the type of calendar

Navigation :Inventory Vision Operations (USA) Setup Financial Books Define

Query for the Short Name : Vision Operations

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

144

Page 145: Oracle Apps Student Matrial

Get the Calendar Name : Accounting as shown below

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

145

Page 146: Oracle Apps Student Matrial

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

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

146

Page 147: Oracle Apps Student Matrial

Shows the following

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

Prefix Type Year Quarter Num ( Month ) From To NameMay Month 2011 2 5 01-MAY-2011 31-MAY-2011 May-11

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

147

Page 148: Oracle Apps Student Matrial

Name will be generated automatically

Name : Prefix ( May) – last two Digits of the Year (11)Save the above Accounting Calendar

Now Check for period is open or not

Checking for INV

Login into inventory Inventory Vision Operations ( USA ) Accounting Close Cycle Inventory Accounting Periods M1

Go to Change Status to Open ( May -11 5 2100 )

Checking for ( PO and GL )

Login into PurchasePurchase Vision Operations ( USA ) ( Ctrl + L ) it will open all the forms

Find : %period%

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

148

Page 149: Oracle Apps Student Matrial

Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

149

Page 150: Oracle Apps Student Matrial

In the above : Control Purchasing Periods is for PO Open and Close Periods is for GLSelect Control Purchasing Periods for PO

Make the Status as Open for the period May – 11 as shown below and save it

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

150

Page 151: Oracle Apps Student Matrial

Select Open Next Period Yes your request Id is 2718521 OK

Go to SRS window and check for Request status View Request

Back End Process to Open GL Periods :

SELECT * FROM all_tablesWHERE table_name like '%PERIOD%STAT%';

SELECT * FROM GL_PERIOD_STATUSES;

UPDATE gl_period_statuses SET closing_status ='O'WHERE Period_Name ='Jun-11';

Receiving Goods ( Items ) :-

Items can be received in the following Methods

1) 2-Way 2) 3-Way 3) 4-Way

1) 2 – Way method :-

Purchase Order for the Items Receiving the Items All the items will be received and Invoice will also be prepared all Ordered Items

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

151

Page 152: Oracle Apps Student Matrial

2) 3-Way Method :-

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

3) 4 – Way Method :-

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

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

Enter the Purchase Order No : 4422 and Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

152

Page 153: Oracle Apps Student Matrial

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

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

Lines ( Tab )Quantity

Check 75

Select Headers

Save it It generates the receipt Number : 9609

Receipt Master Information will be stored in a table : RCV_SHIPMENT_HEADERS

Lines information will be stored in a table : RCV_SHIPMENT_LINES

Shipment Information will be stored in a table : RCV_TRANSACTIONS_INTERFACEselect * from RCV_TRANSACTIONS_INTERFACE where trunc(creation_date) = trunc(sysdate)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

153

Page 154: Oracle Apps Student Matrial

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

Enter the Purchase Order : 4422 and Select Find

Lines ( tab )

QuantityCheck 75Check 25As shown below

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

154

Page 155: Oracle Apps Student Matrial

Save the above

The above counting information will be stored into the table called : RCV_TRANSACTIONS

View Request to see the receiving transactions (Receiving Transaction Processor )

It moves the data from RCV_TRANSACTIONS_INTERFACE table RCV_TRANSACTIONSselect * from RCV_TRANSACTIONS where trunc(creation_date) = trunc(sysdate)

Once data has been moved it will impact on the following table 1) MTL_MATERIAL_TRANSACTIONSselect * from MTL_MATERIAL_TRANSACTIONS where trunc(creation_date) = trunc(sysdate)

2) MTL_TRANSACTION_ACCOUNTSselect * from MTL_TRANSACTION_ACCOUNTS where trunc(creation_date) = trunc(sysdate)3) MTL_ONHAND_QUANTITIES_DETAIL

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

Check Purchase Order

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

155

Page 156: Oracle Apps Student Matrial

Purchase Orders Purchase Orders

Query for the purchase order : 4422

Select Shipments Status ( tab )Check the ordered and received Number

Checking For Transactions ;

Inventory Vision Operations ( USA) Transactions Material Transactions M1

From Date : To Date :

Select Find

Payments:

REQ RFQ QUATATION PO RECV PAY

Payable Vision Operations ( USA ) Ctrl + L : %period%

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

156

Page 157: Oracle Apps Student Matrial

Ap Accounting ( period should be open )

Creating Invoice :

Pre-Req : Calendar Period Should be Open

Payable Vision Operations ( USA ) ( Ctrl + L ) Find : %period%Ap Accounting Period

Creating Invoice :

Payable Vision Operations ( USA ) Invoices Entry Invoices

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

157

Page 158: Oracle Apps Student Matrial

Type Supplier Supplier Num Site Invoice date StandardREG10_SUPP 5037 REG10_SRNAGAR 21-MAY-2011

Invoice Number Invoice Amount HYD_INV_JUN_10 15000 ( 3 items X 5000 )

Save the above Note : the above information will be stored into the table : AP_INVOICES_ALLSelect Match

Purchase Order

Num : 4422

Select FindCheck for the Match as shown below

Select Distribution

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

158

Page 159: Oracle Apps Student Matrial

Check Match and Enter the followingQuantity Invoiced : 3 Match Amount : 15,000 ( auto )

See the Control Amount and Actual Amount ( ensure that, both are same amount)Save the aboveNote : Distributions Information will be stored into the table : AP_INVOICE_DISTRIBUTIONS_ALL

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

159

Page 160: Oracle Apps Student Matrial

Checking for status :Initially Status : Never Validate

Select Actions

Check Validations as shown below and OK

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

160

Page 161: Oracle Apps Student Matrial

Status : Validated ( shows after Validate Checked )

Checking for Accounting :

Tools View Accounts ( enabled / disabled ) ( initially it will be disabled )Go to Actions and Check the Create Accounting OK Now see the

Status : Validated Accounted : Yes.

Tools View Accounts ( it will be enabled )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

161

Page 162: Oracle Apps Student Matrial

Accounting Entries in a tables

AP_ACCOUNTING_EVENTS_ALLAP_AE_HEADERS_ALLAP_AE_LINES_ALL

Once accounting completed the above tables will be impacted.

Paying Amount :

Go to ActionsCheck Pay in full OK

Type Bank Account Document Doc NumQuick BofA CHECK 2472

Save the above

Checking Status of Purchase Order ( Checking for Billing )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

162

Page 163: Oracle Apps Student Matrial

Purchasing Vision Operations ( USA ) Purchase Orders Purchase Orders Query with P.O Num : 4422 ( F11 and Ctrl + F11 )Status : Approved, Closed

Go to Shipments and Status ( tab ) it shows Billed ( No.Of Items )

Ordered Received Billed 3 3 3

Update Banks (Accounting):Payable Vision Operations ( USA ) Payments Entry Payments

Query for the Check Num as shown below :

Document Num : 2472

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

163

Page 164: Oracle Apps Student Matrial

It shows following

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

164

Page 165: Oracle Apps Student Matrial

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

Select Actions Check Create Accounting OK

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

165

Page 166: Oracle Apps Student Matrial

Close the above

Go to Actions and Select Format ( check format ) OK

Bank information will be available in the following tables :Bank Branches : AP_BANK_BRANCHESBank Accounts : AP_BANK_ACCOUNTS_ALLChecks : AP_CHECKS_ALLCheck Formats : AP_CHECK_FORMATS

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

166

Page 167: Oracle Apps Student Matrial

Updating the Bank Account :

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

Select New

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

167

Page 168: Oracle Apps Student Matrial

Enter Account name : Bofa ( Remaining Details will be populated automatically )Date : 11-JUN-2011 Statement Number : 11-JUN-2011 ( auto )GL Date : 11-JUN-2011 ( auto )Save the above Select Lines

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

168

Page 169: Oracle Apps Student Matrial

Type Number ( Check Num ) Transaction Date ( auto ) Amount Payment 2472 12-JUN-2011 15000

Save the above Bank Statements Master ( Header ) information Table : CE_STATEMENT_HEADERS_ALLBank Statements lines information Table : CE_STATEMENT_LINES

Clearing the Transactions :

Bank Statements Manual Clearing Clear Transaction

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

169

Page 170: Oracle Apps Student Matrial

In the above Enter Account Name : BofA Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

170

Page 171: Oracle Apps Student Matrial

In the Query for the Check Number

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

171

Page 172: Oracle Apps Student Matrial

Check Type ( payment

Select Clear Transaction it clears the transaction Checking for Cleared or not

Enter the Check Number and Query for it ( It will not show any details i.e it was cleared )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

172

Page 173: Oracle Apps Student Matrial

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

173

Page 174: Oracle Apps Student Matrial

Bill Of Material ( BOM )

Manufacturing Cost = Material Cost + Resources Cost + Dept Maintenance Cost Refer the Business process flow document page No.09.

Material Cost :The Purchase cost of a CPU Sub Assembly Item is as followsCPU (Sub Assembly)Mother Board 1000 USD +CD Drive 750 USD +Floppy Drive 250 USD--------------Purchase Item Cost 2000 USD=========Manufacturing Cost of CPU Sub assembly is as followsPurchase Item Cost is 2000 USDOperations CostSoldering Dept Cost 100 USDFixing Dept Cost 500 USD

600 USDDepartmental Overheads 650 USD--------------Manufacturing Cost of CPU 3250 USD========The Purchase cost of a CPU Sub Assembly Item is as followsCPU (Sub Assembly) 2000 USDMouse 100 USDPrinter 900 USDMonitor 500 USD--------------Purchase Item Cost 3500 USD=========Manufacturing Cost of CPU Sub assembly is as followsPurchase Item Cost is 3500 USDOperations CostSoldering Dept Cost 100 USD Fixing Dept Cost 500 USD Variable cost of an ItemAssembly Dept Cost 400 USD

1000 USDDepartmental Overheads 1000 USD Fixed Cost Apportionment--------------Manufacturing Cost of Dell Computer 5500 USD========Selling Price of Dell Computer is 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 byM.Nageswar Rao, B.Tech, MBA

174

Page 175: Oracle Apps Student Matrial

Fixing Dept Maintenance Cost + Soldering Maintenance Dept Cost + Assembly Dept Cost

BOM Module consists of the Following 1) Items2) Resources 3) Routing4) BOM ( child components )

Creation of Resources :

This involves following steps :

1) Create the resources 2) Create the Dept3) Create the Association between Resources and Dept.

Navigations :We can either of the following responsibilities

1) Bill OF Material 2) Manufacturing and Distribution Manager.

If not available add the above to OPERATIONS user.

Bill OF Material Routing Resources M1(or )

Manufacturing and Distribution Manager Bill Of Material Routing Resources M1

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

175

Page 176: Oracle Apps Student Matrial

Resource : FIX_RSRC1Desc : Fixing Resources One ( as desired )Type : person UOM : HRCharge Type : WIP Move

Check the Costed Absorption Account : 01-000-5810-0000-000 ( Ctrl + L ) MiscVariance Account : 01-000-5380-0000-000 ( Ctrl + L ) Misc

Company : 01Department : 000Account : 5380Sub-Account : 000Product : 000Absorption Account means actual Salary Account ( fixed one )Variance Account Allowances + Over Time + others benefits ( variable )

Select Rates

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

176

Page 177: Oracle Apps Student Matrial

Cost Type : Pending Desc : Pending Standard Cost Type Unit Cost : 125.00 ( Rate per hr)Save the above

Over head it is for Company Officials ( Conveyance and other allowances ) And for Machinery ( extra expenses such oil, grease etc )

Resources Master information is available in the table called : BOM_RESOURCES

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

Resource Cost information is available in the table called : CST_RESOURCE_COSTS

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

Similarly crate for Fixing alternative resource ( second )Similarly create for Soldering Resource ( first and second )Similarly create for Assembling ( first and second )

Creation of Dept :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

177

Page 178: Oracle Apps Student Matrial

Bill OF Material Routing Department M1

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

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

Select Resources

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

178

Page 179: Oracle Apps Student Matrial

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

Select Rates

Cost Type :pendingOver Head : Indirect Basis : Item

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

179

Page 180: Oracle Apps Student Matrial

Save the above Dept master information is available in the table called : BOM_DEPARTMENTSselect * from BOM_DEPARTMENTS where trunc(creation_date)=trunc(sysdate)

Dept resource information is available in the table called : BOM_DEPARTMENT_RESOURCES

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

Routing :It is a sequence of Manufacturing.

Eg: To Manufacture a CPU the following sequence should be required.

1) Fixing Department 2) Soldering Department.

Pre-Requisite for Routing.BOM flag of the Items should enabled Inventory Vision Operations ( USA ) Items Master Item Bills ( tab ) BOM Allowed ( should be enabled )

Navigation for Routing :Manufacturing and Distribution Manager Bills Of Material Routing Routing

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

180

Page 181: Oracle Apps Student Matrial

Item : Hyd_CPU

Main (tab)

Seq Department Effective Date WIP (TAB ) Back Flash 10 DEPT_FIX 26-MAY-2011 00:01:38 Enable ( decreasing the raw material quantity

Increasing the finished goods quantity)

ECO ( tab ) Engineering Change ( Implemented enabled )

Place the cursor on the Dept filed then select Operation Resources

Seq Resources UOM Basis Usage Inverse (auto ) Units Schedule 1 FIX_RSRC2 HR Item 4 .25 1 Yes

Similarly for Soldering Dept.

BOM Routings Master information will be stored into the table called : BOM_OPERATIONAL_ROUTINGSselect * from BOM_OPERATIONAL_ROUTINGS_V where trunc(creation_date)=trunc(sysdate)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

181

Page 182: Oracle Apps Student Matrial

BOM Sequence of Operations information will be stored into the table called : BOM_OPERATION_SEQUENCESselect * from BOM_OPERATION_SEQUENCES_V where trunc(creation_date)=trunc(sysdate)

BOM Sequence Resources information will be stored into the table called : BOM_OPERATION_RESOURCES_V

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

Routing Details where to item to be moved ( Sub Inventory Information )

Creation of BOM :

Navigation:

Manufacturing and Distribution Manager Bills Of Material Bills Bills

Enter the Child Items informationItem Seq Operation Seq Component Quantity From

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

182

Page 183: Oracle Apps Student Matrial

10 1 Hyd Mother Board 1 26-MAY-2011 00:47:11

Supply Type : Assembly Pull ( Purchase from Third party Sub Inventory Operational Pull ( Internal Purchase ) stores

Checking for the CostManufacturing and Distribution Manager Inventory Costs Item Costs

BOM Master information table : BOM_BILL_OF_MATERIALS_TEMPBOM Child Components information Table : BOM_INVENTORY_COMPONENTS_TEMPBOM Parameters : BOM_PARAMETERS

Generating Bill :Manufacturing and Distribution Manager Bills Of Material Bills BillsItem : Hyd CPU ( Query for it )Tools Rollup CostCost Type : PendingOK Submit Request Id OK Cost Rollup - Print Report ( Refresh it and View output )Checking for the CostManufacturing and Distribution Manager Inventory Costs Item Costs

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

183

Page 184: Oracle Apps Student Matrial

O-2-C Cycle ( Order – To – Cash )1) Sales Order2) Shipping3) Invoice4) Receiving5) Accounting6) Bank Updates

Creation of a Sales Order

Pre-requisite :1) Item should exist

2) Item on hand stock should be available in stores. 3) Pricing List should be defined ( Pricing )

4) Customer should exist. 5) Periods should be opened

Creation of Selling Price :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

184

Page 185: Oracle Apps Student Matrial

Pricing is a Module where we can define the pricing of an Item. Navigation :Oracle Pricing Manager Price List Price List Setup

Name : Corporate ( Query it ) it shows the following.

Go to List Lines ( tab ) and create New

Product Context Product Attribute Product Desc UOM ValueItem Item Number Hyd Computer Ea 13500

Application Method Unit Price

Pricing Master information stored in the table called : QP_LIST_HEADERSselect * 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 byM.Nageswar Rao, B.Tech, MBA

185

Page 186: Oracle Apps Student Matrial

Profile contains 1) Payment Terms 2) Collector 3) Statement ( installments )

After creating profiles it should be assign to customer.

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

Name : IMMEDIATE ( instead of creating take existing )

Seq Amount Days 1 100 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 byM.Nageswar Rao, B.Tech, MBA

186

Page 187: Oracle Apps Student Matrial

Amount : 100 or can be changed Due Date : 2 days**************

iF Name : 2/10, Net 30Amount : 100 ( 100% payment )Due Date : 30 2% discount earned if paid within 10 days. Payment terms can include a discount % for early payment and you can assign multiple discounts to each payment term line.If Name : 3/10,2/30,Net60

Multiple discount terms, if paid within 10 days a 3% discount is applied, if paid within 11-30 days 2% discount is applied, if paid after 30 days no discount is allowed.

Payment terms Master information such as NAME will be stored into the table : RA_TERMSselect * from RA_TERMS where NAME='IMMEDIATE'

Payment terms Line information will be stored into the table : RA_TERMS_LINESselect * from RA_TERMS_LINES

Payment terms Discount information will be stored into the table : RA_TERMS_LINES_DISCOUNTSselect * from RA_TERMS_LINES_DISCOUNTS

Creation of Collector :

Receivable Vision Operations ( USA ) Setup Collections Collectors

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

187

Page 188: Oracle Apps Student Matrial

Ctrl + F11 will be obtained all

Place the cursor in the lines and select New to create New Collectors information will be stored into the table called : AR_COLLECTORS

Name : Hyd_RaoEmployee name : MNRAO, RAO ( Employee of the company) from the table PER_ALL_PEOPLE

select * from AR_COLLECTORS where NAME='Hyd_Rao'select * from AR_COLLECTORS where trunc(creation_date) = trunc(sysdate);

Creation of Statement :

Receivable Vision Operations ( USA ) Setup Print Statement Cycle

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

188

Page 189: Oracle Apps Student Matrial

Query for the existing one ( ctrl + F11)

Name : Monthly / Quarterly / Weekly

Recommended one is Monthly

Statement Master information will be stored into the table called : AR_STATEMENT_CYCLES

Statement Cycle Dates information will be stored into the table : AR_STATEMENT_CYCLE_DATES

Statements Intervals information : AR_STATEMENT_CYCLE_INTERVALS

Creation of Profile :Create the profile with the following1) Payment Terms 2) Collector 3) Statement ( installments )

Receivable Vision Operations ( USA ) Customers Profile Class

Name : HYD_PROF_CLASS Desc : Profile Class for Hyderabad Company Check Active

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

189

Page 190: Oracle Apps Student Matrial

Profile Class ( Tab )

Collectors : Name : Hyd_Rao Payment Terms : IMMEDIATE

Finance Charge :Days in Period : 30

Statements :Cycle : Monthly

Dunning : Letter Set : STANDARD

Note : Dunning is for defaulters for one time settlement.

Credit Profile ( tab)Classification : Low Risk Period Review Cycle : Monthly Analyst : Stock, Ms. PatTolerance : 0

Profile Class Amount ( tab ):

Profile Class information will be stored into the table called : HZ_CUST_PROFILE_CLASSESselect * from HZ_CUST_PROFILE_CLASSES where trunc(creation_date) = trunc(sysdate)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

190

Page 191: Oracle Apps Student Matrial

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

Customers are of types : 1) Person 2) Organization

Person Purchase by the Individual Person

Organization Purchase by a Company

Customer Hierarchy :

1) Type of Customer

2) Name of the Customer Customer Master

3) Customer Number

4) Address : Address1, Address2, Address3…… ( Called as Sites )

Sites

Site use

Contacts 1) Ship To Location2) Bill To Location

Person, Mobile, FAX, E-Mail.

Global Information

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

Ship To and Bill To

1) Global Level 2) Address Level

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

Customer Master

Customer Location

Site

Site Usage

Contact Points

191

Page 192: Oracle Apps Student Matrial

Creation of a Customer :TCA ( Trading Community Architecture ) is a Customer Module in 11iNavigation :Receivable Vision Operations ( USA ) Customers Standard

Customer Type : Organization

Customer Name : HYD_CUST

Select Find Select New to create new customer

Customer Type : Organization Check ActiveName : HYD_CUST

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

192

Page 193: Oracle Apps Student Matrial

Skip the Address (tab)Classification (Tab)

Profile Class : HYD_PROF_CLASS Type : external

Order Management ( tab )Price List : Corporate

Marketing ( tab ) it is an Optional

Communication ( tab )Communication Type : Telecommunication ( Choose ) / E-mail

Country Code Area Code Telephone Number Extension Type Primary Purpose Active1 040 66361220 2 Telephone Check Business Check

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

193

Page 194: Oracle Apps Student Matrial

Contacts ( tab )Last : xxPerson and details Active ( check)

Address ( tab ) at the beginning

Select New

Country : India ( preferred United Stattes bcoz Taxation rules have been defined for US )Address : Flat No-01, Block No-A, Ameerpet, Hyderabad

Check Active

Usage Bill To ( first create Bill to )

Ship To ( don’t in the immediate line , first save the Bill to and close, then Select Address New, then Ship To Address )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

194

Page 195: Oracle Apps Student Matrial

Save the above

Bill to and Ship to Location : ( 9204 and 9206 will be generated automatically )

Customer Master information available in the table : Organization Information HZ_CUST_ACCOUNTSselect * from HZ_CUST_ACCOUNTS where trunc(creation_date) = trunc(sysdate)

Customer Information HZ_PARTIESselect * from HZ_PARTIES where trunc(creation_date) = trunc(sysdate)

All TCA tables starts with HZ

Address information HZ_LOCATIONSselect * from HZ_LOCATIONS where trunc(creation_date) = trunc(sysdate)

Sites Information ( Organization ) HZ_CUST_ACCT_SITES_ALLselect * from HZ_CUST_ACCT_SITES_ALL where trunc(creation_date) = trunc(sysdate)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

195

Page 196: Oracle Apps Student Matrial

Sites Information ( Person ) HZ_PARTY_SITESselect * from HZ_PARTY_SITES where trunc(creation_date) = trunc(sysdate)

Creation of a Sales Order

Pre-requisite :1)Item Should exist2) Cost should be defined ( Pricing )3) Check for the periods are opened

1 and 2 have already been completed .

Check for the periods are opened

Receivable Vision Operations ( USA ) – ( Ctrl + L )

Fined : %period%Select Open / Close Accounting periodMake the Status as Open as shown below

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

196

Page 197: Oracle Apps Student Matrial

Navigation to create Order Entry ( sales order )Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders

Order Information ( tab )Main ( tab )

Customer : HYD_CUST ( remaining details will be populated automatically )Order Type : Mixed ( choose ) / Standard / Returned

Standard Sending goods from the Organization to CustomerReturned Returned goods from Customer to Organization ( case of damaged goods )Mixed Both ways ( it is recommended )

Others ( tab ) ( will populated automatically, need not enter any one )Payment Terms : IMMEDIATEWhere House : M1 ( inventory location ) FOB ( fright on board ) : Standard ( Returning Damaged goods to Destination)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

197

Page 198: Oracle Apps Student Matrial

Line Items ( tab )

Lien Ordered Item Qty Unit Price Extended Price ( Qty * Unit Price ) Request Date 1.1 Hyd CD Drive 2 1500.00 3000.00 31-MAY-2011 22:49:42

Save the above it generates Order Number : 56699 ( any one ) 56703Check for availability Select Availability ( place the cursor on Qty )If items are available fine. Master Information ( Headers ) OE_ORDER_HEADERS_ALLselect * from OE_ORDER_HEADERS_ALL where trunc(creation_date) = trunc(sysdate)

Lines Information OE_ORDER_LINES_ALLselect * from OE_ORDER_LINES_ALL where trunc(creation_date) = trunc(sysdate)

to check the on hand quantity transaction period should be open ( for this check the previous in the above )If items are not available increase on hand stockCreation of a Transaction :Inventory Vision Operations ( USA ) Transactions Miscellaneous Transactions ( M1 )

Customer Service Representative will enter the all the above details and takes the confirmation from the customer based on the payment terms weather it is Immediate payment or Credit Limit.

After entering all the details Header level Status :EnteredLine 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 CancelDepending 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 HoldHold Unit : ( for next three days )Hold Comments :

Select Apply Holds OK

Holding information is available in the table called : OE_HOLD_DEFINITIONSselect * from OE_HOLD_DEFINITIONS where trunc(creation_date)=trunc(sysdate)

Once order is in Hold we can not Book the order.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

198

Page 199: Oracle Apps Student Matrial

Checking for Order is in Hold :Select Book Order and check it (or ) Select Actions Additional information

Releasing Hold

Select Actions Release HoldsReason : Configuration is valid.Comments : Customer has paid the Amount.

Select Release OK

Release information is available in a table : OE_HOLD_RELEASESselect * from OE_HOLD_RELEASES where trunc(creation_date)=trunc(sysdate)

Each line can be applied for release.

Booking Order:

Select Book OrderOrder has been booked OK

Header Status : Booked Line Status : Awaiting Shipping

After the order has been Booked, the Customer Service Representative will send following information to Shipping Department through E.Mail / FAX

Customer DetailsShip ToOrder NumSchedule Date

Shipping department will forward the same to Inventory Department.

If the items are available, then it will be delivered ( pick release ) is based on LIFO/FIFO/RANDOM Default is FIFO.

Once picked the item from the inventory, it will be moved to Security Point Called as Staging AreaThe items which are in Staging Area are called as Reserved Items

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

199

Page 200: Oracle Apps Student Matrial

Picking the Item from the Inventory :

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

From Order Number : 56703Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

200

Page 201: Oracle Apps Student Matrial

Line Status : Ready to release

Select Lines/LPNs

Actions : Launch pick release

Select GOIt shows following Number of concurrent requests launched successfully:

1. Number of requests that failed: 0.

IMP NOTE : Launch pick release will run the following three Concurrent Programs

1) Pick Selection List Generation2) Pick Slip Report3) Shipping Exceptions Report

View Request Find it shows the status above three programs

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

201

Page 202: Oracle Apps Student Matrial

Sales Order Summary :

Operations Header Level Status Line Level Status

Order Entry Level Entered Entered

Booked BookedAwaiting for

Shipping

Pick Confirm Booked Picked

Ship Booked Shipped

Acknowledgement Booked Closed

Shipping Confirmation :

1) Bill of Lading ( Weight of Item )2) Packing Slip Report ( Where to Deliver : Ship To location and Bill To location )3) Commercial Invoice ( Sales people will be collecting Money from customer and they prepare Invoice for

Material Cost only excluding tax and others and sent to Inventory . This Invoice is called as Commercial Inventory )

4) Vehicle Load Sheet Details ( LIFO, FIFO )5) Interface Trip Stop ( delivery points1, points2, points3,……. )

Some goods at point1, and some goods at point2, ….

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

202

Page 203: Oracle Apps Student Matrial

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

Enter the From Order Number : 56703Select Find

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

203

Page 204: Oracle Apps Student Matrial

Place the Cursor on Deliveries ( tab )Select Action : Ship Confirm ( as shown above )

Select GO OK delivery was successfully confirmed OK

When click on GO Ship Confirm request will call all the above five programs

Shipping Tables are

WSH_DELIVERIES

WSH_NEW_DELIVERIES

WSH_DELIVERY_DETAILS

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

204

Page 205: Oracle Apps Student Matrial

WSH_DELIVERY_ASSIGNMENTS

Trip information tables are

1) WSH_TRIPS2) WSH_TRIP_STOPS

To check the status after shipping

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

Query with Order Number : 56703

Headers Status : Booked Line Status : Shipped

Once Delivered to the Customer. Acknowledgement ( consignment ) will taken from the customer.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

205

Page 206: Oracle Apps Student Matrial

Acknowledgement ( consignment ) means taking the customer signature stating that, received the so and so goods on so and so date

Once Acknowledgement ( consignment ) has been taken from the customer, Inventory should be updated.

Updating Inventory :

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

Process Differed : YesProcess Timeout : No

Click OK Submit

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

206

Page 207: Oracle Apps Student Matrial

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_ALLRA_INTERFACE_DISTRIBUTIONS_ALLRA_INTERFACE_ERRORS_ALL

Auto invoice Import Program It will transfer the data from RA Interface tables to AR Base tables.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

207

Page 208: Oracle Apps Student Matrial

Checking for weather data has been moved or not ( Invoice has been generated or not ).Here invoice is Customer Invoice.Order Management Super User, Vision Operations ( USA ) Receivables Control Auto Invoice Interface Lines

Here Sales Order number is a Last filed. Go to Sales Order field and Query with the Sales Order number ( 56703)

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

Take the Sales order Number into a Notepad

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

208

Page 209: Oracle Apps Student Matrial

Check for the Customer :Receivable Vision Operations (USA ) Customers Standard

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

209

Page 210: Oracle Apps Student Matrial

Generating Customer Invoice:

Receivable Vision Operations (USA) Transactions Transactions

Query ( F11 )

Reference : 56703 ( Enter the Sales Order Number ) and Query for it ( CTRL + F11 )

It shows as shown below

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

210

Page 211: Oracle Apps Student Matrial

Take the Invoice Number : 10020677 and Total : 16,837.50 into a Notepad

Go to Number and Select JSP page ( Right side ) it shows the Invoice as below

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

211

Page 212: Oracle Apps Student Matrial

Select Lines Item for lines information.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

212

Page 213: Oracle Apps Student Matrial

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

CT_REFERENCE is a column where Order Number ( 56708) stores.

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

Lines information table : RA_CUSTOMER_TRX_LINES_ALL

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

Take the Invoice Number : 10020677 into a Notepad

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

213

Page 214: Oracle Apps Student Matrial

Collecting Money from the Customer :Create the receipt and collect the money from the customer

Creation of a receipt :Receivable Vision Operations ( USA ) Receipts Receipts

Payment Method : Manual Remittance

Receipt Number : 12345 ( Enter any number randomly )

Receipt Amount (USD ) : 12000Receipt Type : Standard Status : Confirmed

Details Identify By Transaction Number : 10020677 ( Paste the Invoice Number, which was taken into notepad )( remaining details will be populated automatically )

It shows as below.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

214

Page 215: Oracle Apps Student Matrial

Take the receipt number : 12345 ( into the note pad )Take the Account Number : 10271-17621-619 ( into the notepad )

Select Apply Save the above

Receipt details will be stored into the table : AR_CASH_RECEIPTS_ALL

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

Depositing into the bank :Receivable Vision Operations ( USA ) Receipts Remittance

Account Number : 10271-17621-619 ( paste from the note pad )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

215

Page 216: Oracle Apps Student Matrial

Select Auto Create

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

216

Page 217: Oracle Apps Student Matrial

Enter the Receipt Number as shown above and Click on OK

Submit Auto Creation : Yes OK

View Request find (Automatic Remittances Creation Program will be running )

After Completed Normal View the Output

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

217

Page 218: Oracle Apps Student Matrial

Confirmation to Bank people ( Approval )

Query with the Batch Number : 1050 as shown below.

Auto Create

Select Approve for Collecting and depositing into bank

Select Yes

View Request find (Automatic Remittances Creation Program)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

218

Page 219: Oracle Apps Student Matrial

Check the receipt status :

Receivable Vision Operations (USA) Receipts Receipts

Query with Receipt Number : 12345 as shown below

Select Receipt History

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

219

Page 220: Oracle Apps Student Matrial

Check the Bank statement :

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

Account Number : 10271-17621-619 ( get from the notepad and paste here )

Remaining details will be populated automatically.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

220

Page 221: Oracle Apps Student Matrial

Date : 06-JUL-2011

Receipts : 12000 ( enter the receipt amount )

Select Lines and New

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

221

Page 222: Oracle Apps Student Matrial

Line Type Number ( receipt number ) Amount

1 Receipt 12345 12000

Save the above

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

222

Page 223: Oracle Apps Student Matrial

Clearing Transactions :

Cash Management Vision Operations ( USA ) Bank Statements Manual clearing

Enter the Account Number : 10271-17621-619

Select Find

Query ( F11)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

223

Page 224: Oracle Apps Student Matrial

Enter Receipt Number : 12345 and Query

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

224

Page 225: Oracle Apps Student Matrial

Check Transaction

Select Clear Transaction

Receipt Status :

Receivable Vision Operations ( USA ) Receipts Receipts

Query with receipt Number : 12345

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

225

Page 226: Oracle Apps Student Matrial

Status : Cleared

Select Receipt History

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

226

Page 227: Oracle Apps Student Matrial

Invoice Status :

Receivable Vision Operations ( USA ) Transactions Transactions

Number : 10020677 ( Enter the Invoice Number and Query ) as shown below

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

227

Page 228: Oracle Apps Student Matrial

It shows as below

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

228

Page 229: Oracle Apps Student Matrial

To check the Payment History Click on JSP Page

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

229

Page 230: Oracle Apps Student Matrial

See the payment and Outstanding Balance details in the above

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

230

Page 231: Oracle Apps Student Matrial

Discounts :Oracle Pricing Module provides Qualifiers and Modifiers Concept for the Discount.

Qualifier The Customer, who is eligible for discount.

Modifier Defines rate of Discount which will be given to a Good Customer ( Qualifier )

If discount is given Invoice amount will reduced. If Survice charge is applied on the Customer, then invoice amount will

be increased.

Defining a Qualifier :

Before going to define a Qualifier we should run program called : Build Attribute Mapping Rules

Oracle Pricing Manager

View Request Submit New Request Single Request OK

Name : Build Attribute Mapping Rules

Submit and refresh.

Navigation :

Oracle Pricing Manager Qualifier Setup

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

231

Page 232: Oracle Apps Student Matrial

Name : REG10_QUALIFY_GROUP

Description : as desired

Context Attribute Operator Value From Start Date End Date

Customer Customer Name = REG10_CUST ( name of the customer ) 07-JUN-2011 07-JUL-2011

Start Date Must be before the End Date.

Save the above .

Qualifier Header information will be stored into the table called : QP_QUALIFIER_RULES

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

Qualifier Line information will be stored into the table called : QP_QUALIFIERS

Defining a Modifier :

Oracle Pricing Manager Modifiers Modifier Setup

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

232

Page 233: Oracle Apps Student Matrial

Type : Discount List Number : REG_10_MODIFIER Check Active

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

Check Automatic

Currency : USD Start Date : 07-JUN-2011 End Date : 07-JUL-2011

Desc : as desired

Select List Qualifier to attach the Qualifier

Check the box at Name as shown below

Select OK OK

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

233

Page 234: Oracle Apps Student Matrial

Modifier No Level Modifier Type Start Date End Date

Auto Generated Order ( i.e Header Level ) Discount 07-JUN-2011 07-JU-2011

Pricing Phase : Header Level Adjustments ( depends on Level . if it is order then, Header Level Adjustments

If it is line then, All Lines Adjustment. )

Application Method : Percent Value : 10

Save the above

Note : The above information will not be stored into any table but it will impact the table : QP_LIST_LINES

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

Create the Sales and Check for the discount .

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

Enter the Item Quantity in lines and save it, then Discount will be applied for the Item

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

234

Page 235: Oracle Apps Student Matrial

Apps Reports Using some Functional Concepts :

Eg :

SONY is a Company wants to Migrate from Main Frame Applications to Oracle Applications.

Step1:

GAP Analysis : It GAP between the Oracle ERP Package and Requirement of SONY Company.

GAP Analysis will be done by Solution Architect. He will prepare the High level document.

GAP Analysis document is called as : MD020.

Step2 :

It will be sent to Sr. F.C for more Analysis. F.C will Analyase the exact requirement to fulfill the GAP.

He define what are the RICE Components are required to fulfill the GAP.

F.C prepare the document for the Required components and sent to the T.C

Functional Document is Called as : MD050

Step3 :

Technical Consultant will go through the entire document and he will prepare the technical approach

for the requirement given by the F.C

Technical Consultant Approach Document is called as : MD070

Technical Consultant Analysis :

1) What is type of Report ( XML / RDF / (SQL or PL/SQL ) / OBIEE )

2) Type of output expected ( PDF / TEXT / XML / HTML )

3) Single Report / Multi Purpose report

After getting above information To develop the report T.C should identify the following

1) Tables 2) Columns 3) Mapping Columns 4) Join Condition / Filtering Condition.

To develop the above T.C should get information such as Application Name, Responsibility and Form

Name from the F.C

Eg:

ORGNAME ITEMNAME DESCRIPTION UOM STATUS

Application Name : Inventory Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

235

Page 236: Oracle Apps Student Matrial

Responsibility : Inventory Vision Operations ( USA )

Form : Item Master Item

Required tables

ORGNAME from the table : ORG_ORGANIZATION_DEFINITIONS

Column : ORGANIZATION_NAME

ITEMNAME from the table : MTL_SYSTEM_ITEMS_B

Column : SEGMENT1

DESCRIPTION from the table : MTL_SYSTEM_ITEMS_B

Column : DESCRIPTION

UOM from table : MTL_SYSTEM_ITEMS_B

Column : PRIMARY_UNIT_OF_MEASURE

STATUS from the table : MTL_SYSTEM_ITEMS_B

Column : INVENTORY_ITEM_STATUS_CODE

After identifying all the tales and columns then write the Query with ( n-1 ) Join conditions

Here only two table, then one Join Condition is enough.

Fro the Join condition take the Common column between two tables

Query :

SELECT ood.organization_name ORGNAME,

msib.segment1 ITEMNAME,

msib.description DESCRIPTION,

msib.primary_unit_of_measure UOM,

msib.inventory_item_status_code STATUS

FROM mtl_system_items_b msib,

org_organization_definitions ood

WHERE ood.organization_id = msib.organization_id;

Manual Development :

Data Model :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

236

Page 237: Oracle Apps Student Matrial

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 Redwood Shores, CA. USA |

| All rights reserved. |

| Oracle Manufacturing |

+=======================================================================+

Developed By :

Developed On :

Purpose :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

237

Page 238: Oracle Apps Student Matrial

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 user’s profile when the user logs on or

changes responsibility.

Your user can change the value of profile options at any time. Oracle Application Object Library provides many options

that your users can set to alter the user interface of your applications to satisfy their individual preferences.

Purpose of change of execution

Eg:

There is a company called Reliance, for which Oracle Application has been installed

Different authority at different levels are working on the same Application

For example, login are

CLERK

SUPERVISOR

MANAGER

GENERAL MANAGER

MANAGING DIRECTOR

CEO

The above all authorities will not have same limits, every authority will have their own limits

For example CLERK can purchase items for max value of $1000

SUPERVISOR ………………………………$2000

MANAGER…………………………………..$3000

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

Based on profile of the employee application is to executed

Here profile means employee personal details such as clerk limits, branch of working, dept of working, position of

working.

Every module consists of 40 to 50 profiles.

User Profile Levels

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

238

Page 239: Oracle Apps Student Matrial

1) User Level2) Responsibility Level 3) Application Level4) 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. Higher–level option values override

lower–level option values.

Each user profile option ordinarily exists at each level. For example, Oracle Application Object Library

provides a site–level Printer option, an application–level Printer option, and so on. Oracle Application Object Library

enforces the level hierarchy to ensure that higher–level option values override lower–level values. As a result, if your

Site–level Printer value is ”Printer1”, but your User–level Printer value is ”Printer2”, your reports print on the printer2.

User Level :

User is the highest user profile level and is immediately above

Responsibility. User–level option values affect the way applications run for an application user.

Responsibility Level :

Responsibility is the user profile level immediately above Application.

Responsibility–level option values affect the way applications run for all users of a responsibility.

Application Level :

Application is the user profile level immediately above Site.

Application–level option values affect the way a particular application runs.

Site Level :

Site is the lowest user profile level.

Site–level option values affect the way all applications run at a given installation.

Note : Default is site level

If we assign profile value at Site Level, then it is applicable for all users.

If we assign profile for more than on level then top level value will be given more priority

Application level profile overwrites the profile value at the SITE LEVEL

Responsibility level profile overwrites the profile value at the SITE LEVEL and APPLICATION LEVEL

User level profile overwrites the profile value at the SITE LEVEL , APPLICATION LEVEL , and

RESPONSIBILITY LEVEL.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

239

Page 240: Oracle Apps Student Matrial

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

These two are for future purpose.

Note : Most of the responsibilities will be assigned at the RESPONSIBILITY LEVEL.

Responsibility is a group of FORMS, REPORTS and PROGRAMS . It is for specific position in the organization

Application is also a group of FORMS, REPORTS and PROGRAMS . It is for specific buisiness in the organization

Application will be divided into responsibilities and the responsibilities will given to employees

Same forms will be grouped and named as responsibility and assigned user.

Diff between Application and Responsibility:

============================================

Both are Group of Forms(Menu)

Group of Concurrent Programs(Request Group)

Group of Users (Data group)

But Application as per the Business functionality requirement

Responsibility will group as per the position requirement.

Profiles : Profiles are used to change the run behavior of an application.

These are 1) Site ( Global )2) Application 3) Responsibility 4) User5) Server6) Organization

5 and 6 will be used by the DBA.

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

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

APPS ERP

AP AR GL

AP-INDIA AP-US

USER

Global /Site Level

Application Level

Responsibility Level

User Level

240

Page 241: Oracle Apps Student Matrial

Customization of profiles :

Navigation :System Administrator Profile System

Profiles are as shown below.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

241

Page 242: Oracle Apps Student Matrial

Eg :

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

242

Page 243: Oracle Apps Student Matrial

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

Level Value

Site Box

Application ( INV ) Dozen

Responsibility KG

User Each

Steps :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

243

Page 244: Oracle Apps Student Matrial

1) Identify the profile name After opening Mater Item Form : Edit Preferences Profiles

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

Take the INV: Default Primary Unit of Measure into the notepadCompiled and Developed byM.Nageswar Rao, B.Tech, MBA

244

Page 245: Oracle Apps Student Matrial

1) Customization at Site level

Go to System Administrator Profiles System

Select Site

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

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

245

Page 246: Oracle Apps Student Matrial

Save and close the form

Go to Mater Item form and check the default value at all levels

Inventory Vision Operations ( USA ) Item Master Item M1

2) Application Level

Go to System Administrator Profiles System Select Application = inventory Click on Find Application ( Inventory ) = Dozen

Save and close the form

Go to Mater Item form and check the default value at all levels

Inventory Vision Operations ( USA ) Item Master Item M1

Add Manufacturing and Distribution Manager Application to OPERATINS User and test Manufacturing and Distribution Manager Inventory Items Master Item M1

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

246

Page 247: Oracle Apps Student Matrial

3) Responsibility level Select Responsibility = Inventory, Vision Operations (USA)Profile = INV: Default Primary Unit of MeasureClick on FindResponsibility = 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 MeasureClick on FindResponsibility = Kilogram

Save and close the form

Go to Mater Item form and check the default value at all levels Inventory Vision Operations ( USA ) Item Master Item M1

To test the above create New User and

Add the following responsibilities

1) Inventory Vision Operations ( USA )

2) Manufacturing and Distribution Manager

Go to Master Item form for Testing

Inventory Vision Operations ( USA ) Items Master Item M1

Manufacturing and Distribution Manager Inventory Items Master Item M1

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

247

Page 248: Oracle Apps Student Matrial

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

Item Status

Level Value

Site Prod

Application ( INV ) Lease

Responsibility Engineer

User Active

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

248

Page 249: Oracle Apps Student Matrial

Flex Fields :

There are two types of flex fields

1) DFF ( Descriptive Flex fields )2) KFF ( Key Flex Fields )

In Oracle Applications Table contains 6 types of columns

1) Data Columns 2) Derived columns 3) Who Columns

4) Global Activity columns 5) Additional Columns 4) Key Columns

Additional Columns are used to store the DFF Data

Key Columns are used to KFF Data

Steps :

1) Obtain the profile as explained in previous exampleAfter opening Mater Item Form : Edit Preferences Profiles Query for the Profile name (INV: Default Item Status )

Follow the as in the previous example.

1) Site Level

Eg:

Users

X1 MO : Operating Unit Vision Operations

Y1 MO : Operating Unit Vision Sweden

Z1 MO : Operating Unit Vision Germany

Create the above users

Create User X1 with following responsibility

Application Developer

System Administrator

Purchasing, Vision Operations (USA)

Create User Y1 with following responsibility

Application Developer

System Administrator

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

249

Page 250: Oracle Apps Student Matrial

Purchasing, Vision Colombia

Create User Z1 with following responsibility

Application Developer

System Administrator

Purchasing Vision Australia

Login as user X1 and purchase an item

Purchasing, Vision Operations (USA)

Requisitions

Requisitions

Login as user X1 and purchase an item

Purchasing, Vision Operations (USA)

Requisitions

Requisitions

How to get the user profiles

Fnd_Profile.Get('ProfileName',

local Variable);

local Variable:= Fnd_Profile.Value('Profile Name');

Both API's will be used to retrieve the Profile value frombackend

Get() is Procedure

Value() is Function

Oracle Has provided both Procedure and Function becuase in some of the areas we can not

use procedure then we can use function.

For Ex: in SELECT clause we can not use procedure we have to go for using the Function.

Prepare the following report

Submitted By :

VendorId VendorName Cdate TotalPO

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

250

Page 251: Oracle Apps Student Matrial

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:

Go to before report trigger and write the following code

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

251

Page 252: Oracle Apps Student Matrial

function BeforeReport return boolean is

begin

srw.user_exit('FND SRWINIT' );

-- it will initialize the profile values

:P_USER:= fnd_profile.value('USERNAME');

return (TRUE);

end;

Step4:

Go to after report trigger and write the following code

function AfterReport return boolean is

begin

srw.user_exit('FNS SRWEXIT');

--it will remove the all profile values from memory and makes the memory as free

return (TRUE);

end;

Layout Model

Add the label and text field

Submitted By : < Text _ field > Map to bind parameter ( P_USER )

Responsibility Name

Take one more parameter (P_RESP )

Go to before report trigger and write the following code

function BeforeReport return boolean is

begin

srw.user_exit('FND SRWINIT' );

-- it will initialize the profile values

:P_USER := fnd_profile.value('USERNAME');

:P_RESP := fnd_profile.value('RESP_NAME'); -- It is added to previous.

return (TRUE);

end;

Layout Model

Add title responsibility name and text field

Responsibility Name : < text_field> map to P_RESP

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

252

Page 253: Oracle Apps Student Matrial

To get Name of the Operating Unit

Add place holder column ( UNIT )

Go to before report trigger and write the following code

function BeforeReport return boolean is

l_id number(9);

begin

srw.user_exit('FND SRWINIT' );

-- it will initialize the profile values

:P_USER:= fnd_profile.value('USERNAME');

:P_RESP:= fnd_profile.value('RESP_NAME');

fnd_profile.Get('ORG_ID',l_id);

select name into :UNIT from HR_OPERATING_UNITS

where organization_id=l_id;

return (TRUE);

end;

Layout Model :

Add label Organization : < Text Filed > map to UNIT

If login user is Operations then, display the Total field otherwise not requires

Right click on POTOTAL field in the Layout Model and write PL/CODE as shown below.

begin

If( : P_USER = ‘OPERATIONS’) then

return true;

else

return false;

end if;

end

PL/SQL Program

Create or replace procedure test_param_proc(

ErrBuff out varchar,

RetCode out number,

V_Id IN number,

V_Name IN varchar ) as

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

253

Page 254: Oracle Apps Student Matrial

l_id number(2);

begin

select Vendor_Id into l_id from PO_VENDORS where Vendor_ID=V_ID;

update PO_VENDORS set Vendor_Name = V_name where Vendor_Id=V_Id;

commit;

FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor name has been updated successfully '||

V_Name );

exception

when NO_DATA_FOUND then

FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor ID does not exits '|| V_Id );

when TOO_MANY_ROWS then

FND_FILE.PUT_LINE(Fnd_File.Output, 'Duplicate Vendor Found '|| V_Id );

when OTHERS then

FND_FILE.PUT_LINE(Fnd_File.Output, 'Other Errors ');

end;

5) create executable method as PL/SQL Stored Procedure

2) Create concurrent program as PL/SQL Stored Procedure

Out put format must be in text format only for PL/SQL Stored Procedure

Parameters

While supplying parameters Token is not necessary, as the parameters will be maintained in

sequential order by the stored procedures.

Input:

Vendor Id : 1

Vendor Name : DELL India Pvt. Ltd.

Important Questions

1) what is a profile

2) Which level most of the profile will be used

3) What are the important profiles

4) Tell some important profiles

5) How to get profiles from the back end.

Predefined User Profile Options

USERNAME : Your user’s current Oracle Application Object Library username.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

254

Page 255: Oracle Apps Student Matrial

USER_ID : Your user’s current Oracle Application Object Library user ID.

RESP_ID : Your user’s current responsibility ID.

APPL_SHRT_NAME : The short name of the application connected to your user’s current responsibility.

RESP_APPL_ID : The application ID of the application connected to your user’s current responsibility.

FORM_NAME : The name of the current form. Not available for concurrent programs.

FORM_ID : The form ID of the current form. Not available for concurrent programs.

FORM_APPL_NAME : The name of the application for which the current form is registered. Not available for concurrent programs.

FORM_APPL_ID : The application ID of the application for which the current form is registered. Not available for concurrent programs.

LOGON_DATE : Your user’s logon date for the current session.

LAST_LOGON_DATE : Your user’s logon date for the previous session.

LOGIN_ID : Your user’s Sign–On Audit login ID in Oracle Application Object Library.

CONC_REQUEST_ID : The request ID associated with a particular instance of your running current program. You

Can only use this profile option in a concurrent program. You use this profile option to fill the

REQUEST_ID Who column.

CONC_PROGRAM_ID : The program ID associated with a running current program. You can only use this profile

option in a concurrent program. You use this profile option to fill the PROGRAM_ID Who

column.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

255

Page 256: Oracle Apps Student Matrial

Working with FORMS

Development Of A Form

Vendor Id

Vendor Name

Cdate

Total PO :

From PO_VENDORS ( table name )

1) Download the TEMPLETE.fmb from AU_TOP\Resource Folder

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

2)Open with Forms6i builder and delete the existing Window, Canvas, Block

Delete BLOCKNAME in Windows

Create new window

Properties

Name : SUPPWIN

Sub Class Information:

Select property class : WINDOW

Delete BLOCKNAME in Canvases

Create new Canvas

Properties

Name : SUPPCAN

Sub Class Information:

Select property class : CANVAS

Delete BLOCKNAME in Block

Create new Block

Table Name: PO_VENDORS

Columns : Vendor Id, Vendor Name, Creation Date

Layout Frame

Properties

Sub Class Information :

Property Class : FRAME_RECT

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

256

Page 257: Oracle Apps Student Matrial

Text Fields

Properties ( select all fields at a time )

Sub Class Information :

Property Class : TEXT_ITEM

Data Block

Properties

Name : VENDORSBLOCK

Sub Class Information :

Property Class : BLOCK

Form Module

Modify the following Triggers

Pre-Form

FND_STANDARD.FORM_INFO('$Revision: 115.12

$', 'Template Form', 'FND',

'$Date: 2003/12/19 11:02 $', '$Author: appldev $');

app_standard.event('PRE-FORM');

app_window.set_window_position('BLOCKNAME', 'FIRST_WINDOW');

/* In place of 'BLOCKNAME' supply the new window name as shown below /*

app_window.set_window_position('SUPPWIN', 'FIRST_WINDOW');

Compile and close

WHEN-NEW-FROM-INSTANCE

FDRCSID('$Header: TEMPLATE.fmb 115.12 2003/12/19 11:02 mzasowsk ship

$');

FDRCSID('$Header: SUPPFORM.fmb 115.12 2003/12/19 11:02 mzasowsk ship

$');

In the above statement replace the name TEMPLATE with FILENAME.fmb

APP_STANDARD.EVENT('WHEN-NEW-FORM-INSTANCE');

--

-- app_folder.define_folder_block('template test', 'folder_block', 'prompt_block', 'stacked_canvas', 'window',

'disabled functions');

-- app_folder.event('VERIFY');

--

Compile and close

Program Units

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

257

Page 258: Oracle Apps Student Matrial

APP_CUSTOM ( package body )

if (wnd = '<your first window>') then

replace the <your first window>

if (wnd = 'SUPPWIN’) then

3) Compile and create .fmx file

To create fmx : File administration Compile File

Create backup folder where the fmb file is located.

When compiled any errors generated, then it will be logged into the backup folder.

4) move the fmb into the au_top

D:\oracle \ visappl \ au \ 11.5.0 \ forms \US : SUPPFORM.fmb

Move the fmx into the custom top

Here for eg PO top: D:\oracle\visappl\po\11.5.0\forms\US

5) Goto Applicaton Developer

Create Form

Application Developer Application form

Name of FMX file name

FORM APPLICATION USER FORM NAME DESRIPTION

SUPPFORM PURCHASING SUPPFORM_DETAILS ( COPY ) AS DESIRED

Create Function

FUNCTION USER FUNCTION NAME

SUPPFUNCT (any name ) SUPPFUNCT1 ( any name ) ( COPY )

Type : form

Form : SUPPFORM_DETAILS ( PASTE )

Create Menu

Menu : SUPPMENU ( any name )

User Menu Name : SUPPMENU_USER ( copy )

SEQ PROMPT SUBMENU FUNCTION

1 as desired optional SUPPFUNCT1 ( paste )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

258

Page 259: Oracle Apps Student Matrial

6) System Administrator create responsibility

Menu : SUPPMENU_USER ( paste )

Here request group is not necessary

7) attach the responsibility to user

Responsibility : RESP_SUPP.

8) go to responsibility RESP_SUPP.

Adding Total PO to existing form

Go to form layout and add label and text filed

Text filed

Properties :

Name : TOTALPO

Sub Class Property :

Property Class : TEXT_ITEM.

Write the trigger on the above text filed

For non data base item edit the Block trigger called POST-QUERY ( block level )

begin

select count(segment1) into :TOTALPO from PO_HEADERS_ALL where vendor_id=:vendor_id;

end;

Q. What is the reason to down load the existing TEMPLATE.fmb file and customize it

Ans : to acquire AOL features into the new form such as open form, querying ( f11 ) and ctrl+f11

TEMPLATE.fmb is pre defined file which was developed to get the actions such as open form, querying ( f11 ) and

ctrl+f11 . TEMPLATE.fmb was developed with triggers and packages to achieve the actions.

Creation of New Tables ( User Own tables )

Steps

1) New Table

1) First connect to Schema ( INV ) and create the table

2) Grants to APPS

3) Create Synonym

2) Register table

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

259

Page 260: Oracle Apps Student Matrial

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');

Register the columns

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');

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

SQL> EXEC AD_DD.REGISTER_COLUMN('INV','ITEM_TEST','ITEM_PRICE',4,'NUMBER',9,'N','Y');

SQL> COMMIT ;

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

260

Page 261: Oracle Apps Student Matrial

To see the above table from the front end

Go to application developer Application Database Table Query ( F11)

Q. why the table should be register

Ans : to get the AOL features such as WHO Columns, Table value sets, Flex Fields, Multi Args and Profiles

Attaching Calendar to From :

1) Select the field Property

List of values : ENABLE_LSIT_LAMP

Validate list : no

Write the item level trigger ( KEY_LISTVAL )

calendar.show(); /* API packaageName.procedure */

Attaching LOV on ITEM field of ITEM_TEST table :

Create Record Group

Based on Query :

select segment1 from MTL_SYSTEM_ITEMS_B

where ORGANIZATION_ID = fnd_profile.value('ORG_ID') ;

Properties :

Name : ITEM_RG

Create LOV :

Use the LOV Wizard

Select Return Item : ITEM_TEST.ITEM

Go to Properties of ITEM field

List of values : ITEM_LOV

Who Columns :

Values of these columns will be populated automatically

Table must be registered

Select the columns into the datablock

Eg :

Table ITEMS_INV

Contains 17 Clomns

1-7 Normal columns

8-11 Who Columns

12-17 DFF Columns

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

261

Page 262: Oracle Apps Student Matrial

Who Columns are CREATED_BY

CREATION_DATE

LAST_UPDATE_DATE

LAST_UPDATED_BY

The following Triggers are required (BLOCK LEVEL )

PRE_INSERT

Fnd_standard.set_who();

PRE_UPDATE

Fnd_standard.set_who();

PRE_INSERT is for the following Columns

CREATED_BY

CREATION_DATE

PRE_UPDATE is for the following Columns

LAST_UPDATE_DATE

LAST_UPDATED_BY

Development and Registration of Master Detail Form with Oracle Application

Requirement

Vendor Id :

Vendor Name :

Invoice Type Date Amount Paid Amount Balance

Master Table : PO_VENDORS (Vendor_Id , Vendor_Name )

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

INVOICE_TYPE_LOOKUP_CODE, INVOICE_DATE, INVOICE_AMOUNT, AMOUNT_PAID)

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

262

Page 263: Oracle Apps Student Matrial

Balance is a Non database Item.

1) Down load the form TEMPLATE.FMB

2) Remove old window, canvas, data block and Create new window, canvas, data block (master : PO_VENDORS

) as explained previously

3) Edit PRE-FORM and WHEN-NEW-FORM-INSTANCE

4) Edit program units APP_CUSTOM ( APCKAGE BODY )

5) Create detailed block ( AP_INVOICES_ALL ) VENDBLOCK

6) Relation ( join : PO_VENDORS.VENDOR_ID = AP_INVOICES_ALL.VENDOR_ID )

7) Create Layout for Master ( PO_VENDORS ) and Detailed AP_INVOICES_ALL

8) On Layout of Detailed AP_INVOICES_ALL Create Balance Create non database item balance ( bal )

9) Write Block level trigger called ( POST_QUERY )

10) POST_QUERY trigger

:BAL := :INVOICE_AMOUNT - NVL(:AMOUNT_PAID,0) ;

11) move the fmb and fmx files and the same steps

Eg :

Table Name : ITEM_INV

create table ITEM_INV( item varchar2(100),itemdesc varchar2(100),itemcost number(9),itemdate date,po_item varchar2(1),inv_item varchar2(1),INV_item varchar2(1),created_by number(9),creation_date date,last_updated_by number(9),last_update_date date,attribute_category varchar2(100),attribute1 varchar2(100),attribute2 varchar2(100),attribute3 varchar2(100),attribute4 varchar2(100),attribute5 varchar2(100));

Register the table and it’s columns as explained in previous example

Requirement :

Item :Item Desc :Item Cost :Item Date :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

O YesO No

263

Page 264: Oracle Apps Student Matrial

Inventory Item Purchase Item

Down load the template form and develop the form

Fields Mapping

Item item

Item Desc itemdescItem Cost itemcostItem Date itemdateInventory Item inv_item

Purchase Item po_item

Radio Group ( Yes / No ) INV_itemRadio Group initial valaue -> YYes Radio Button Value YNo Radio Button Value N

All steps are same as previous example.

Attaching to DFF to form :

1) Table Must be registered

2) Table Must Contain Attribute Columns

3) Attribute Columns Must be selected in the form

Create DFF columns

Application Developer Flex Fields Descriptive Register

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

264

Page 265: Oracle Apps Student Matrial

copy the title form the above (DFFTITLE )

go to segments double click F11 Title : DFFTITLE ( paste ) ctrl + F11segments Number Name Column Value set

1 Item category attribute2 15 character2 Item Location attribute3 15 character

Go to Layout form and add text filed for the DFFName : DFFDate Base Item : NO.

Write the trigger called WHEN-NEW-FROM-INSTANCE

APP_STANDARD.EVENT('WHEN-NEW-FORM-INSTANCE');

FND_DESCR_FLEX.DEFINE( BLOCK => 'ITEM_INV', FIELD => 'DFF', APPL_SHORT_NAME => 'PO', DESC_FLEX_NAME => 'ITEM_DFF');

'ITEM_DFF' Name Descriptive Field

Write the trigger called WHEN-NEW-ITEM-INSTANCE ( ITEM LEVEL TRIGGER )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

265

Page 266: Oracle Apps Student Matrial

fnd_flex.event('WHEN-NEW-ITEM-INSTANCE');

Calling a form from another form

Vendor Id : 1456 Vendor Name :

When Click on Sites

VendorId SiteCode CreationDate Address City1456 --- --- -- --

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

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, CityTable Name : PO_VENDOR_SITES_ALLData 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 formProperties :

Name : P1

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

SITES

266

Page 267: Oracle Apps Student Matrial

Data type : NumberMaximum Length : 9

7) write the trigger in the sites form

WHEN-NEW-FORM-INSTANCEGO_BLOCK ( 'PO_VENDOR_SITES_ALL');EXECUTE_QUERY();

8) Write the block level trigger

PRE_QUERY:PO_VENDOR_SITES_ALL.VENDOR_ID := :PARAMETER.P1;

--:Blockname .fieldname := :PARAMETER.Parametername

Passing Parameters at the time of creating Functions:

Form

Form Function Parameters ( read only parameters )

Menu

Responsibility

User

Application developer

Function :

Sites form make it as read only :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

267

Page 268: Oracle Apps Student Matrial

1)Develop the form ( eg : sites form )

2)Register the form

3)Create Two functions for the same form.

Application developer Application function

first function without parameters second function is with parameter called 'QUERY_0NLY="YES" '

Description Tab :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

268

Page 269: Oracle Apps Student Matrial

Properties Tab :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

269

Page 270: Oracle Apps Student Matrial

Form Tab :

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

270

Page 271: Oracle Apps Student Matrial

4) attach to menu

Call the function from following form

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

271

Page 272: Oracle Apps Student Matrial

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

272

Page 273: Oracle Apps Student Matrial

SUB MENU CREATION

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

273

Page 274: Oracle Apps Student Matrial

Eg: creation of sub menus in the following menu form

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

274

Page 275: Oracle Apps Student Matrial

Application developer Application menu

Copy the functions which are to be paced into a sub menu

VENFUN1

SITESFUN1

Delete the functions which are deleted from the menu

Create menu with above two functions

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

275

Page 276: Oracle Apps Student Matrial

Attaching System Administrator menu as sub menu of the above

Go to System administrator and get name of the menu and attach to above menu

To get the name of the menu System administrator Security responsibility define Query for the menu ( F 11 ) Responsibility Name : system administrator Copy the menu : Navigator Menu - System Administrator GUI

Hiding the forms and Menus at Responsibility level

Go to system administrator Security responsibility define Query for menu

F11 -- Responsibility Name : Supply the responsibility

Go to menu exclusion Type : menu Name : submenu name

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

276

Page 277: Oracle Apps Student Matrial

Hiding a form :

Open the required form and get the name of function

To get the function name : help About Oracle Applications Current Form Form name

Application developer application Form ( F11 ) Form : supply the name of the form ( ctrl + F11 ) Copy the value from User Form name

Select function :Form Tab :

Form : paste the copied one Description Tab :

Function : Copy ( 1st field )

Go to responsibility Menu Exclusion type : function Name : paste copied one

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

277

Page 278: Oracle Apps Student Matrial

CUSTOMIZATION OF A FORM

There are two ways to customize the form1) 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 PERSONALIZATIONCan be done to achieve the following1) Changing Labels 2) Hiding Fields 3) Making as Mandatory / Optional Fields 4) Validate 5) LOVs

The following Triggers can be modified

1) WHEN-NEW-FROM-INSTANCE

2) WHEN-NEW-BLCK-INSTANCE

3) WHEN-NEW-RECORD-INSTANCE

4) WHEN-NEW-ITEM-INSTANCE

5) WHEN-VALIDATE-RECORD

6) SPECIAL

7) ZOOM

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

278

Page 279: Oracle Apps Student Matrial

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 : ORDERGet the filed name : ORDER_NUMBER

Help Diagnostics Custom Code Personalize

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

279

Page 280: Oracle Apps Student Matrial

Seq : 1

Description : Changing label Order Number to Claim Number

Level : Function

Check Enabled

Target Event : WHEN-NEW-FORM-INSTANCE

Processing Mode : Both

Level : Responsibility

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

Actions ( Tab )

Seq : 1

Type : property

Language : All

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

280

Page 281: Oracle Apps Student Matrial

Object Type : Item

Target Object : ORDER.ORDER_NUMBER ( Block Name . Column Name )

Property Name : PROMPT_TEXT

Value : Claim Number ( It is new Label, which would like to set )

Select Validate

Select Apply Now

Save all and Call the form at different Responsibilities and Check it.

Check with Manufacturing and distribution Manager Order Management Orders, Returns Sales Orders

Eg2:

Purchase Vision Operations ( USA) Purchase orders Purchase orders

Requirement : Disabling the Description field in the following form

First step : find the name of the corresponding table and column

Place the cursor in the description field : Help Diagnostics examine

Get the BLOCK Name : PO_HEADERS,

field Name : COMMENTS

Personalization navigations : Help Diagnostics Custom Code Personalize Password : apps

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

281

Page 282: Oracle Apps Student Matrial

Seq : 1

Description : Hiding the description field

Conditions :

Trigger Event : WHEN-NEW-FROM-INSTANCE

Processing Mode : Both

( Only in Enter Query Mode i.e F11 )

( Not in Enter Query Mode )

Level : Responsibility

Actions :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

282

Page 283: Oracle Apps Student Matrial

Seq : 1

Type : Property

Language : All ( Check ) Enabled

Object Type : item

Target Object : PO_HEADERS.COMMENTS ( name column in the database table, it can be obtained by examine )

Property Name : DISPLAYED

Value : false ( true : field will be enabled, false : disabled )

Select Apply Now

Save and call the form

To enable the same field

call the form

To remove the specific personalization

Help Diagnostics Custom Code Personalize deselect the Enable option ( check box )

To remove all personalizations on the form

Help Diagnostics Custom Code Off

To get back all personalizations

Help Diagnostics Custom Code Normal.Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

283

Page 284: Oracle Apps Student Matrial

Requirement :

Making as Mandatory / Optional Fields

In the following form Source filed as Optional field

Block : LINES

Field : SOURCE_TYPE_DISP

Help Diagnostics Custom Code Personalize

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

284

Page 285: Oracle Apps Student Matrial

Seq :1

Description : Making Source Field as Optional Field

Level : function

Target Instance : WHEN-NEW-FORM-INSTANCE

Processing Mode : Both

Level : Responsibility

Actions (tab)

Type : Property

Object Type : Item

Target Object : LINES.SOURCE_TYPE_DISP

Property Name : REQUIRED

Value : false

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

285

Page 286: Oracle Apps Student Matrial

Requirement :

When the cursor enter to into lines block Description field enabled

Conditions :

Seq : 1

Description : Displaying the description field

Trigger Even : WHEN-NEW-BLOCK-INSTANCE

Target Object : PO_LINES

Action :

Seq : 1

Type : Property

Object type : item

Target Object : PO_HEADERS.COMMENTS

Property Name : displayed

Value : true

Save and call the from

Requirement :

Setting default value to Supplier field

Conditions :

Seq : 1

Description : Default value for supplier field

Trigger Even : WHEN-NEW-RECORD-INSTANCE

Target Object : PO_HEADERS

Action :

Seq : 1

Type : Property

Object type : item

Target Object : PO_HEADERS.VENDOR_NAME

Property Name : INITIAL_VALUE

Value : GE Capital

Save and call the from

Note : Initial value can be set at WHEN-NEW-RECORD-INSTANCE level only

Messages :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

286

Page 287: Oracle Apps Student Matrial

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 : 1Description : Sat and Sun User Should Not Acces the Sales Order FormLevel : Function Trigger Event : WHEN-NEW-FROM-INSTANCE

Condition : trim(to_char(sysdate, 'DAY')) in ( 'SATURDAY', 'SUNDAY')

Select Validate To validate the condition.

Processing Mode : Both

Level : Responsibility

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

287

Page 288: Oracle Apps Student Matrial

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

Actions ( tab )

Seq : 1

Type : Message

Language : All

Message Type : Error

Message Text : Sat and Sun User Should Not Acces the Sales Order Form

Select Validate to validate the Message Text

Save all the Above and Call the form

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

288

Page 289: Oracle Apps Student Matrial

Requirement :

When the cursor entered into the Ship-To field, Bill–To field should become null.

Conditions :

Seq : 1

Description : Null values

Trigger Even : WHEN-NEW-ITEM-INSTANCE

Target Object : PO_HEADERS.SHIP_TO_LOCATION

Action :

Seq : 1

Type : Property

Object type : item

Target Object : PO_HEADERS.BILL_TO_LOCATION

Property Name : ENABLED

Value : false

Save and call the from

Messages :

Any modifications in the form, then has to be displayed

Conditions :

Seq : 4

Description : Show Message

Trigger Even : WHEN-VALIDATE-RECORD

Target Object : PO_HEADERS

Action :

Seq : 1

Type : Message

Message type : Show

Target Object : PO_HEADERS.BILL_TO_LOCATION

Property Name : ENABLED

Value : false

Save and call the from

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

289

Page 290: Oracle Apps Student Matrial

FLEX FIELDS ========== Flexfield are made up with Attribute columns or Segment columns .

which are more flexible than the normal fields.

Flex fields are two types

1)DFF (Descriptive Flex Field)

2)KFF (Key Flex Field)

DFF: It will be used to capture the Additional information from the end user without change the code in the form and

without Alter the DB object. ATTRIBUTE Columns will be used to Capture the DFF data.

Eg :

EMP Form(old ) Emp Table

Emp No : empno

Emp Name : ename

Sal : sal

Additional fields

Project :

Designation :

Loc :

[ ] called as flex fields

Additional fields will be stored into attribute columns ( attr1, attr2, …..attr15)

Data Type of attribute columns is varchar2

If DFF is available then need not down load the form and customize the form

Pre-Requisite to create DFF:

1) Application Name 2) Form Name

Purchasing Vision Operations ( USA ) Items Master Item M1

Help Diagnostics Examine Password : apps

Block : $DESCRIPTIVE_FLEXFIELD$

Filed : mtl_system_items.DF

Value : Items (Inventory)

Here Item is a title

Inventory Application

Copy the Value = Items (Inventory) into some notepad

System Administrator Application Flex Fields Descriptive Segments

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

290

Page 291: Oracle Apps Student Matrial

Enter the Application : Inventory Title : Items

Query it ( ctrl + F11 )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

291

Page 292: Oracle Apps Student Matrial

Un Check Freeze Flex Field definition

Place the cursor at Global Data Elements and Select Segments

Add the require

Number Name Window Prompt Column Value Set

50 Company Company Attribut4 100 Characters

Select Open and Check Required ( as desired )

Save the above

Check Freeze Flex Filed Definition OK Compile OK OK Warning OK

Close the form

Checking for DFF

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

292

Page 293: Oracle Apps Student Matrial

Purchasing Vision Operations ( USA ) Items Master Item M1

Removing existing DFF: ( Query with the following )

Enter the Application : Inventory Title : Items

Query it ( ctrl + F11 )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

293

Page 294: Oracle Apps Student Matrial

Un Check Freeze Flex Field definition

Place the cursor at Global Data Elements and Select Segments

Uncheck the Displayed and Enabled

Save the above

Check Freeze Flex Field definition OK Compile OK Warning OK

MENUS

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

294

Page 295: Oracle Apps Student Matrial

Special triggers:

Every menu option of Oracle Application forms, will have trigger

Special Triggers : Menu Options

Special1, Special2, Special3, …………………….. Special45.

Tools Menu : Special1, Special2, Special3, …………………….. Special15

Inquiry Menu / Reports Menu : Special16, Special17, …………………….. Special30.

Action Menu : Special41, Special17, …………………….. Special45.

Adding new options to menu

Conditions :

Seq : 5

Description : Attach Menu

Trigger Even : WHEN-NEW-FORM-INSTANCE

Action :

Seq : 1

Type : Menu

Menu Entry : Special23 ( Inquiry menu ) ( as desired )

Menu Label : Procedure ( as desired )

Render line before menu : enable ( to get the separator )

Save and call the from

GO to Inquiry menu and select Procedure option, then it shows Special23 on the status bar ( no such trigger )

Requirement :

When selected the Procedure option, then

Condition :

Seq : 6

Description : Action

Trigger Even : Special23

Action :

Seq : 1

Type : Builtin

Built Type : Execute Procedure ,

Argument : num_proc

Save and call the from

GO to Inquiry menu and select procedure , then num_proc will be executed automatically

Create a table : num_test

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

295

Page 296: Oracle Apps Student Matrial

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

Create a procedure : num_proc

create or replace procedure num_proc as

begin

insert into num_test values ( 1, 'hello');

commit;

end ;

1) Built Type : Execute Procedure

Argument : num_proc

2) Built Type : Launch URL,

Argument : http://apps.ora.com:8000

Customization of a from by using CUSTOM.PLL

We can implement Following actions by using CUSTOM.pll

1) Hide the Fields

2)Make the field as Mandatory or optional

3)change field prompt

4)Change the Visuval attaribute Dynamically.

The trigger which are used in Customization of a from by using CUSTOM.PLL

WHEN-NEW-BLOCK-INSTANCE

WHEN-NEW-RECORD-INSTANCE

WHEN-NEW-ITEM-INSTANCE

WHEN-VALIDATE-RECORD

ZOOM

SPECIAL TRIGGERS

Zoom Trigger will be used to call the another forms from the standard forms.

Special triggers will be used to attach the menu options.

CUSTOM.pll will be located in AU_TOP/11.5.0/Resource/

To work with the CUSTOM.pll the following are required

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

296

Page 297: Oracle Apps Student Matrial

1) Form Name

2) Block Name

3) Field Name

4) What customization

5) When customization will be executed

Eg: When the form is opened : WHEN-NEW-FORM-INSTANCE

Steps to Customization of a from by using CUSTOM.PLL

1) down load the CUSTOM.PLL from the location

AU_TOP/11.5.0/Resource/

2) Open the CUSTOM.PLL with forms 6i

3) Go to PL/SQL Libraries CUSTOM Program units CUSTOM ( package body )

Goto Event Procedure

Write the Following Code in the place of 'Real Code Starts Here'

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

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

begin

if (event_name = 'WHEN-NEW-FORM-INSTANCE') then

if (form_name = 'APXWCARD' and block_name = 'CARDS') then

APP_ITEM_PROPERTY2.SET_PROPERTY('CARDS.DEPARTMENT_NAME', -BlockName.FieldName

DISPLAYED,

PROPERTY_OFF);

APP_ITEM_PROPERTY2.SET_PROPERTY('PO_HEADERS.SEGMENT1',

PROMPT_TEXT,

'PO Number');

APP_ITEM_PROPERTY2.SET_PROPERTY('REGIONS.REGION_LONG_NAME',

CASE_RESTRICTION,

UPPERCASE);

end if;

end if;

(attach the Library called APPCORE2.pll) as the APP_ITEM_PROPERTY2 is package form APPCORE2.pll

SET_PROPERTY is a procedure from package called APP_ITEM_PROPERTY2

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

297

Page 298: Oracle Apps Student Matrial

4) Compile the Library we can get .pll (Program link Library)

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

(File ->Administration->Compile File)

5)Transfer both .pll and .plx files into the Resource folder in the AU top. (D:\oracle\visappl\au\11.5.0\resource )

(Note: before going to copy into the server close the complete Application)

ZOOM Option :

ZOOM Icon is used to To open a form from another from

ZOOM Icon can not be used in the form personalization.

ZOOM Trigger is similar to the Button

It is a global to the Oracle Application, Using this any form can be invoked

It is a global. It can be used for all forms.

ZOOM Triggers are 1) Enable 2) Executable

Enabling ZOOM Trigger

Custom ( package body )

function zoom_available return boolean is

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

begin

if (form_name = 'POXPOEPO' ) then

return TRUE;

end if;

return FALSE;

end zoom_available;

Execute

Custom ( package body )

Go to vent procedure and write the following code

if (event_name = 'ZOOM') then

if (form_name = 'POXPOEPO' ) then

fnd_function.execute(FUNCTION_NAME=>'PO_POXPOEPO',

OPEN_FLAG=>'Y',

SESSION_FLAG=>'Y' );

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

298

Page 299: Oracle Apps Student Matrial

end if;

end if;

Note: When we are copying the custom.PLL in to the Resource folder

we have to close the application because If application is opened CUSTOM.pll being used , All the forms in oracle

applications developed with TEMPLETE.fmb contains CUSTOM.pll

If file is being used by other program we can not Update the file. thats why we will close the application.

When we are working in the project all the Users will be connected to

Oracle apps we can not ask every one to close the application. for that we will get the Alternative Path(Link File Path),

which will be provided by DBA, we will place the CUSTOM.pll in that folder only we have to reLogin we can find

the Customization

Other users no need to Logout

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

299

Page 300: Oracle Apps Student Matrial

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) COGNOS2) 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.

We can not display the output at a time in multiple formats such as PDF, HTML, TEXT, EXCEL …

Layout designing is very complicated.Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

300

Page 301: Oracle Apps Student Matrial

Discoverer :- Older one . it is not being used with current version Oracle Apps.

XML Publisher : -

It is a mostly used one in the current version of Oracle Apps. It is an extension to RDF. Easy to design the layout

BI Publisher and OBIEE:

It is an extension to XML Publisher. XML is used to develop the reports.

Working with XML Publisher

Softwares used in XML Publisher

1) MS-WORD 2) MS-Excel 3) PDF 4) RDF

Features of XML Publisher

1) Good Look and Feel

2) Easy to design Layout Designing

3) Layout can be designed in a short time

4) Multiple Outputs Can be Generated

5) Sending Report as E-Mail is a Dynamic.

6) Less development time.

7) Platform Independent platforms such as Reports-6i, Discoverer, OBIEE and any one which can generate the XML files )

8) Tool Independent ( MS-Word, MS-Excel, PDF )

9) XML Bursting Can handle E-Mail, FAX and FTPFTP through FTP Report can be sent to Server, that can be viewed by multiple users

10) Language Translation English text into local language by using XLIFF technology Just Mapping between English and local language. It will done at the on site by the language translator in Oracle reports there is a option called CLSF ( Customer Language Specific Format ) to generate the language specific report.

Disadvantages :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

301

Page 302: Oracle Apps Student Matrial

XML Coding required.

Development of Simple Report :

Eg :

Empno Ename Sal Deptno

TOTAL : 14Steps :

1) Data Model Query

SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP

Take a Summary Column for TOTAL

Properties :

Name : TOTAL

Function : count

Source : EMPNO

After Development of the above

Generate the XML file

File Generate to File XML

Supply the name of the file with extension .xml

2) Design the Layout Using MS-Word

It Can be designed in two ways

1) Automatically 2) Manually

1) Automatically

Open MS-WORD

Check for the Template Builder ( when the XML Publisher is installed this Option will be Enabled

Automatically.

Check for the Template Builder Tool Bar

View Tools Bars Template Builder ( Enable )

When it is Enabled it shows the following Tools on the Tool Bar

Data Insert Preview Tools Help

Step1: Go to Data Menu and Select Load XML Data

Select the .xml from through the Browser

Step2 : Go to Insert Menu Select All Fields

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

302

Page 303: Oracle Apps Student Matrial

Step3 : Go to Preview Menu and select Required output format ( PDF / HTML / EXCEL / RTF ) as desired

Any Headings are required, it can be inserted Directly like Normal Word Document.

2) Manual Development

1) Open the new file

2) Adjust the Margins either by dragging the Margins or By Page Setup.

3) Save the file as .rtf file

4) Prepare the Header ( go to View Menu Header and Footer Option

It will be displayed on the every page of the Report.

5) Insert the Table with Required No.of Columns ( as desired ) and Rows ( 2)

6) Place Headers on the First Row ( Select Row, Make them Bold and Rt.Click Center Align )

7) Insert the Fields on by one into Columns in the Second Row

View Tool Bars Enable the Form

Place the cursor inside the Column Select text ( ab | )

Double Click on Filed

Default Text : as desired

Add Help Text : <? FIELD-NAME ?>

FIELD-NAME Can be Obtained from the .rdf report or from the XML file.

From the .rdf :

Go to properties of the field and take XML Tag

8) Repeat the Same for Remaining Fields

9) Insert the Group to get All records in a group ( use for loop )

Place for loop Beg before the first field and place for loop end after the last filed.

Beginning <?for-each:Group-Name?>

Eg: <?for-each:G_EMPNO ?>

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

Group-Name is an Optional

10 ) Load the XML data and save the rtf file

11) Preview to Check the output

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

303

Page 304: Oracle Apps Student Matrial

Developing Apps Report and Registering with Apps Application

Eg :

UID User Name Creation Date

2004 AGENT02 08-JUL-99 2005 AGENT03 08-JUL-99 2006 AGENT04 08-JUL-99 2007 AGENT05 08-JUL-99 2008 AGENT06 08-JUL-99 2009 AGENT07 08-JUL-99 2010 AGENT08 08-JUL-99 2011 AGENT09 08-JUL-99 2012 AGENT10 08-JUL-99 2013 AGENT11 08-JUL-99 2014 AGENT12 08-JUL-99 2015 AGENT13 08-JUL-99 2016 AGENT14 08-JUL-99 2017 AGENT15 08-JUL-99 2024 CSDUMMY 15-JUL-99 2044 FRANCE 21-JUL-99

Total Users : 16

Steps to develop the above report

1) Start report developer 2) Go to data model Write the following Query

SELECT USER_ID,

USER_NAME,

CREATION_DATE

FROM FND_USER

3) Create Summary Column for Total Users;Properties :Function : countSource : user_id

4) Generate XML file File Generate to file ( user.xml )

5) Save as the report as .rdf file ( user.rdf )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

304

Page 305: Oracle Apps Student Matrial

6) Start MS – OFFICE, Design the Layout as explained in the previous example

7) Save the Word file as .rtf file ( user.rtf )

8) Go to preview and select the required option such as HTML, PDF, EXCEL, RTF

The above shows only one record as shown below

User Id User Name Creation Date 2004 AGENT02 08-JUL-99

Total No.of Users : 1851

XML Publisher front end Registration

Steps :

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

Go to data model Write the following Query

SELECT USER_ID,

USER_NAME,

CREATION_DATE

FROM FND_USER

Create Summary Column for Total Users;Properties :Function : countSource : user_id

2) Develop the .rtf and save it.

3) Register the .rdf file and take the followingWhile Defining Concurrent Program Out put format must be XMLConcurrent Program Short Name :Application name

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

Steps :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

305

Page 306: Oracle Apps Student Matrial

Users Information Report

User Id User Name Description Creation Date

FRO BEGUSER ID

USER NAME DESCCREATION DATE

FOR END

Total No of Users : TOTAL USERS

Go to XML publisher Administrator responsibility Home Data Definition

Select create data definition

Name : any name ( User DD ) Code : CP Short Name (USER_SHORT)

Application : Purchasing Starting Date : Today Date

Select Apply

Select Template

Create Template

Name : any ( user_xx) Code : Any One

Application : Purchasing Data Definition : User DD

Type : RTF

File : C:\XML\user_reports.rtf Browse

Language : EnglishTerritory : united states

Click on Apply

Result shows

Name : user_XX code : USER_SHORT ( .rtf file ) ( .rdf file )

Close the window.

Responsibility

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

306

Page 307: Oracle Apps Student Matrial

SRSName : user_xx (automatically )Lay out : user_xx (rtf file Template name automatically )

Submit

Select Options in the above for different Format outputs such PDF / XML / HTML / TEXT

Report with parameters :

Example :

( parameters )From Vendor IdTo Vendor Id

Vendor Id Vendor Name Creation Date PO Invoice

Total Suppliers :

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

307

Page 308: Oracle Apps Student Matrial

Total No.of Pos:Total No.of Invoices :

Create three parameter

P_CONC_REQUEST_ID ( Optional )

P_From : number type (10)

P_To : number type (10)

Data Model Query :

Select vendor_id, vendor_name, creation_date

from po_vendors where vendor_id between :P_FROM and :P_TO

take group level formula column for PO

function POFormula return Number isl_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 isl_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) : sum function source : Vendor_ID2) Total PO ( CS_2) : sum function source : PO3) Invoices ( CS_3) : sum function source : invoice

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

ID Vendor Name PO Creation date InvoicesBEG VENDOR_ID VENDOR_NAME PO CREATION_DATE INVOICE END

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

308

Page 309: Oracle Apps Student Matrial

Total Suppliers : CS_1

Total PO : CS_2

Total Invoices : CS_3

Master and detailed relation ship

beg-vendor-loop <?for-each:G_VENDOR?>

Vendor Id: vendor-id <?VENDOR_ID?>

Vendor Name : vendor name <?VENDOR_NAME?>

Site Id Site Code Address City

beg-sites-loop site-id site-code Address City end-sites-loop

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

<?for-each:G_SITES?> <?end for-each?>

<?split-by-page-break:?>

end-vendor-loop <?end for-each?>

INTERFACES

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

309

Page 310: Oracle Apps Student Matrial

Interface is a Connector or Bridge between two Applications.

It is used to transfer data from Legacy Applications to Oracle Application and vice-versa

Legacy Systems could be SAP, Main Frame, SIEBEL, JD Edwerds, BANN, People Soft

Interface is one of the Program which is used to transfer the data from Oracle

database tables in to flat file (or)

Flat files into Database tables

There are two types of Interfaces.

1)Inbound Interface

2)Outbound Interface

Inbound Interface :

Inbound Interface is used to upload the data from legacy system (Flat files) into Oracle Applications base tables.

If it is Only one time of time data transfer, then it is called Conversion / Migration

If it is Multiple times of data transfer ( i.e every day / week / month ), then it is inbound interface

Outbound Interface:

Outbound Interface is used to extract the data from oracle Database tables into the flat files.

While developing the outbound Interface we use UTL_File to Extract the data.

While Developing the Inbound interface we use SQL * loader to import the data

into base tables.

UTL_FILE Package :

==================

This is One of the PL/SQL Package which will be used to transfer the data from table to files and

from files to tables

But when we are transferring data from file to table SQL *Loader can also be used. It is recommended.

To transfer from table to file we don’t have alternative, we have to use only UTL_FILE.

We use following three functions to generate the file.

1)Utl_File.fopen = To open (or) Create the file

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

310

Page 311: Oracle Apps Student Matrial

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

3)Utl_File.fclose = To close the File after Data transfer.

Outbound Interface Process:

=============================

1)Develop the PL/SQL Program (Either Procedure or Package) .

2) Register the Procedure or Package as Concurrent Program and submit from SRS Window.

1)Develop the PL/SQL Program (Either Procedure or Package) with the following statements

1)Write the Cursor to retrieve the data from database tables.

2)Create file or Open the File by using UTL_File.fopen().

3)Open the Cursor

4)If any validations are there write the validations

5)Transfer the Data into File by using UTL_File.Put_Line().

6)Close the Cursor.

7)Close the File by using UTL_File.fclose();

Eg :

create or replace procedure test_proc (errbuf out varchar2,

retcode out varchar2) as

cursor c1 is select vendor_id,

segment1,

vendor_name

from po_vendors;

l_po number(9);

l_inv number(9);

l_sites number(9);

l_id utl_file.file_type ;

l_timeStamp varchar2(15);

begin

select to_char(sysdate, 'dd-MON-yyyy') into l_timeStamp from dual;

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

for x1 in c1 loop

select count(*)

into l_po

from po_headers_all

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

311

Page 312: Oracle Apps Student Matrial

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,

USER_NAME,

CREATION_DATE,

DESCRIPTION

from fnd_user

where USER_ID between From_Uid and To_Uid;

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

312

Page 313: Oracle Apps Student Matrial

File_Handler UTL_FILE.file_type;

l_rCount number default 0;

begin

File_Handler=UTL_FILE.fopen('D:\oracle\visdb\9.2.0\plsql\temp','users.txt','w');

for X in C1 loop

UTL_FILE.PUT_LINE(File_Handler, X.USER_ID ||'#'||

X.USER_NAME ||'#'||

X.CREATION_DATE ||'#'||'

X.DESCRIPTION );

l_rCount:=l_rCount+1;

end loop;

UTL_FILE.fclose(File_Handler);

fnd_file.put_line("No of Records Written to the File :'||l_rCount);

retCode:=0;

exception

when utl_file.invalid_filehandle then

fnd_file.put_line(fnd_file.log,'Invalid File Handler');

UTL_FILE.fclose_all;

retCode:=2;

when utl_file.invalid_path then

fnd_file.put_line(fnd_file.log,'Invalid File Path');

UTL_FILE.fclose_all;

retCode:=2;

when utl_file.invalid_filename then

fnd_file.put_line(fnd_file.log,'Invalid File Name');

UTL_FILE.fclose_all;

retCode:=2;

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

313

Page 314: Oracle Apps Student Matrial

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, to_orgid number)

as cursor C1 isselect 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,

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

314

Page 315: Oracle Apps Student Matrial

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_IDand msib.INVENTORY_ITEM_ID=mic.INVENTORY_ITEM_IDand msib.ORGANIZATION_ID = mic.ORGANIZATION_IDand mic.CATEGORY_ID = mc.CATEGORY_IDand 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,' ');fnd_file.put_line(fnd_file.output,'Submitted Date :'||sysdate);

retCode:=0;

exceptionwhen utl_file.invalid_filehandle thenfnd_file.put_line(fnd_file.log,'Invalid File Handler');utl_file.fclose_all;retCode:=2;

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

315

Page 316: Oracle Apps Student Matrial

when utl_file.invalid_path thenfnd_file.put_line(fnd_file.log,'Invalid File Path');utl_file.fclose_all;retCode:=2;

when utl_file.invalid_filename thenfnd_file.put_line(fnd_file.log,'Invalid File Name');utl_file.fclose_all;retCode:=2;

when utl_file.invalid_mode thenfnd_file.put_line(fnd_file.log,'Invalid Mode');utl_file.fclose_all;retCode:=2;

when utl_file.invalid_operation thenfnd_file.put_line(fnd_file.log,'Invalid Operation');utl_file.fclose_all;retCode:=2;

when utl_file.write_error thenfnd_file.put_line(fnd_file.log,'Write Error');utl_file.fclose_all;retCode:=2;

when utl_file.internal_error thenfnd_file.put_line(fnd_file.log,'Internal Error');utl_file.fclose_all;retCode:=2;

when others thenfnd_file.put_line(fnd_file.log,'Unknown');utl_file.fclose_all;retCode:=2;

end;/

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

316

Page 317: Oracle Apps Student Matrial

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 :

Bad file/ discard file SQL * LOADER ( .ctl file )

Error Tables PL/SQL Program ( Procedure / Package )

Error tables/ Columns/Reports Standard Program

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

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

Flat File

Staging Table

Interface Tables

Base Tables

317

Page 318: Oracle Apps Student Matrial

Here comm and tax columns may be conditional data columns

Eg : if sal < 2000 Comm = 250

if sal 2000 to 5000 Comm = 450

if sal 5000 to 10000 comm = 600

if sal > 10000 comm. = 800

=========================

if sal < 2000 Tax = NIL

if sal 2000 to 5000 Tax = 12% of Sal

if sal 5000 to 10000 Tax = 15% of Sal

if sal > 10000 Tax = 20% of Sal

The control file can not be developed with the controlling statement as above. Hence we can not use directly control file

to transfer data from Flat file to oracle applications base table

Inter face table : It is a built-in table need not to create by the users. Here data will be stored temporarily. Hence it is

called as temporary table. This table is used to store valid data temporarily.

SQL * Loader : It is used to load the from Flat file to staging table by using control file

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

Standard Program : It performs the post validation such validating users

( i.e whether the using is the correct user or not .)

After performing validation it loads the data into the base tables

In the above Interface table, Standard program , base tables and error table/ columns / reports are built-in need not to

develop by the user.

To develop the In-bound interface the following four actions are required

1) Staging table Creation

2) Develop the SQL * LOADER program and register

3) Develop the PL/SQL procedure and register

4) Submit standard program

SQL * LOADER

It is one of the oracle tools and it is used to load the data from flat file to oracle base table. It is used in the development

of Interfaces ( I ) and conversions ( C ) of the RICE components

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

318

Page 319: Oracle Apps Student Matrial

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 )

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.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

319

Page 320: Oracle Apps Student Matrial

LOAD DATA

INFILE ‘ Data File Path with file name ‘

INSERT INTO TABLE <Table Name>

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

TRAILING NULLCOLS

(Column1 , column2 , column3 ,......)

Order of the columns in the flat file

Eg1:

Data file Path ( C:\ MyUser\User10\emp.txt )

Data format order Empno, empname, salary, comm, deptno

1001, Smith, 5600, 300, 20

1002, Allen, 4500, , 10

1003, Ramu, 7600, , 30

1004, Krishna, 5400,, 40

Table into which data to be transferred

create table MyEmp ( empno number (10), ename varchar2(20), salary number(10), deptno number(10) )

Control file

LOAD DATA

INFILE 'C:\MNRAO\emp.txt'

INSERT INTO TABLE MyEmp

FIELDS TERMINATED by ','

(empno, ename, salary, comm, deptno )

Save as control file ( eg : C:\user\EmpLoader.ctl )

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

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

320

Page 321: Oracle Apps Student Matrial

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 )

INSERT database table should be empty

APPEND table may be with record or empty

TRUNCATE it will delete the existing records and inserts the new records into the database table

SQL LODER options

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

321

Page 322: Oracle Apps Student Matrial

D:\oracle\visdb\9.2.0\bin> SQLLDR scott/tiger@vis - LOAD n

-LOAD n To load first n No.of records of flat file into database table

-SKIP n to skip first n No. of records of flat file and to load the remaining records of flat file to the end.

-SKIP n -LOAD n to skip first n No.of records of flat file and load the next n No.of records of flat file into

the database table

D:\oracle\visdb\9.2.0\bin> SQLLDR scott/tiger@vis -SKIP n -LOAD n

-ROWS n for every n No.of records commit

FILLER to ignore the columns of the table ( it will be empty )

LOAD DATA

INFILE 'C:\MNRAO\emp.txt'

TRUNCATE INTO TABLE MyEmp1

FIELDS TERMINATED by ','

( empno, ename, salary, comm FILLER, deptno )

METHOD Method loading the data

These are of two types

3) Conventional consider all constraints and inserts the records into the table. It is a default

4) Direct No constraints will be effective ( it is a faster )

D:\oracle\visdb\9.2.0\bin> SQLLDR scott/tiger@vis DIRECT=true

Note : for DIRECT need not to precede with symbol - (hyphen)

Imp Note : if file has been received in the excel file format with extension ( .xlc ), then save the file with

extension (.cvs ) . The filed separator will be comma ( , ) ( default )

Loading data with default values

Eg:

create table EMP_DEFAULT( empno number(10),

ename varchar(50),

jdate date,

sal number(10),

comm number(10),

location varchar(50),

deptno number(10))

Test it

select * from EMP_DEFAULT

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

322

Page 323: Oracle Apps Student Matrial

Requirement

EmpNo should be generated automatically by using database sequence

Ename should be in upper case only

Jdate sysdate

Comm 10% of basic sal ( sal * 0.10)

Location ‘H’ : Hyderabad

‘B’ : Banglore

‘C’ : Chennai

: Mumbai

Deptno constant =10

Steps to develop the application for above requirement

1) create the sequence using TOAD utility

Create Sequence

Sequence owner : SCOTT

Sequence name : EMP_SEQ

Start with : 1

Code generated by TOAD utility

CREATE SEQUENCE SCOTT.EMP_SEQSTART WITH 0INCREMENT BY 1MINVALUE 0NOCACHE NOCYCLE NOORDER

2) Develop the control file ( DEFAULTS.ctl )

LOAD DATA

INFILE *

INSERT INTO TABLE EMP_DEFAULT

FIELDS TERMINATED by ','

TRAILING NULLCOLS

( empno "EMP_SEQ.nextval",

ename "UPPER(:ename)",

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

323

Page 324: Oracle Apps Student Matrial

sal,

location "DECODE ( :location, 'H','HYDERABD',

'B','BANGLORE',

'C','CHENNAI',

'MUMBAI')",

COMM "(:sal*0.1)",

jdate sysdate,

deptno constant "10" )

begindata

,Saritha,12000,H

,Ramu,13500,B

,Ranjith,5600,C

,Rakesh,8600,,

,venkat,12400,B

Leave space for the first filed (empno) as it is being generated automatically by using sequence.

Note : in the above UPPER, DECODE are the sql functions. We can use all built-in SQL functions but we can not use

the user defined functions.

3) go to command prompt and SQL * Loader

LOG file and BAD file

The log file will be generated automatically in the ORACLE bin directory. It will be generated by the name of control

file

D:\oracle\visdb\9.2.0\bin \ DEFAULTS.txt

Sample of LOG file as shown below

Number to load: ALL

Number to skip: 0

Errors allowed: 50

Bind array: 64 rows, maximum of 256000 bytes

Continuation: none specified

Path used: Conventional

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

324

Page 325: Oracle Apps Student Matrial

Table EMP_DEFAULT, loaded from every logical record.

Insert option in effect for this table: APPEND

TRAILING NULLCOLS option in effect

Column Name Position Len Term Encl Datatype

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

EMPNO FIRST * , CHARACTER

SQL string for column : "EMP_SEQ.nextval"

ENAME NEXT * , CHARACTER

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

SAL NEXT * , CHARACTER

LOCATION NEXT * , CHARACTER

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

'B','BANGLORE',

'C','CHENNAI',

'MUMBAI')"

COMM NEXT * , CHARACTER

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

JDATE SYSDATE

DEPTNO CONSTANT

Value is '10'

Table EMP_DEFAULT:

5 Rows successfully loaded.

0 Rows not loaded due to data errors.

0 Rows not loaded because all WHEN clauses were failed.

0 Rows not loaded because all fields were null.

Space allocated for bind array: 82752 bytes(64 rows)

Read buffer bytes: 1048576

Total logical records skipped : 0

Total logical records read : 5

Total logical records rejected : 0

Total logical records discarded : 0

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

325

Page 326: Oracle Apps Student Matrial

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

Run ended on Mon Mar 14 11:18:00 2011

Elapsed time was: 00:00:03.25

CPU time was: 00:00:00.03

BAD File : It will be generated in the folder, where control file is located.

Registering with Oracle Application

Ensure that, the table is already exist in the database

TOAD Login : APPS/APPS@VIS

create table EMP_TEST( empno number(10), ename varchar(50), deptno number(10))

1) Develop the control file

LOAD DATA

INFILE *

discardfile 'C:\MNRAO\test.dis'

TRUNCATE INTO TABLE EMP_TEST

FIELDS TERMINATED by ','

TRAILING NULLCOLS

( empno, ename,deptno )

begindata

1001,Ramesh,55

1002,Sirisha,43

1004,Venkat,76

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 ','Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

326

Page 327: Oracle Apps Student Matrial

TRAILING NULLCOLS

( empno, ename,deptno )

Data File

1001,Ramesh,55

1002,Sirisha,43

1004,Venkat,76

1005,Ramu,23

Note : 1) When data file is using with oracle application then, the file should be provided with new line at the

end of the data file ( if new line is not provided, then last record will not be loaded into the table )

2) When data file is using with at the command prompt then, the file should not have the new line at the

end of the data file ( if new line is provided, then empty record will be loaded into the table )

Move the file from local machine to Server

D:\oracle\visappl\po\11.5.0\bin

2) Create exe file with Execution Method as SQL * LOADER

3) Create concurrent program with Execution Method as SQL * LOADER

Repeat the remaining as explained in the previous examples

OPTIONALLY ENCLOSED BY ' " '

It is used, If the data is in the following format.

1000, “name, S/o Father Name”, 5600

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 )

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

327

Page 328: Oracle Apps Student Matrial

begindata

ACD01, Key Board , “ Computer Peripherals, Input device”, 350

BFS03, Monitor, “Computer Peripherals, Output device”, 6500

CFG21, Chair, “ Front Office, Reception”, 2300

GHT2A, Table, “Office, Conference Hall”, 8500

Control file with parameters

These are used to pass the data dynamically

For example we can pass the data file name dynamically as the input parameter

Syntax to pass the Parameters

“&1”

“&2”

“&3”

We must use the parameter names in a sequential order such as 1, 2, 3, 4…..100

The maximum parameters that we can define are 100

Eg:

Table :

create table ITEM_TEST(

Item_Code varchar2(10),

Item_Name varchar(50),

Item_desc varchar2(100),

Item_price number(10))

Control file

LOAD DATA

INFILE ‘&1’

TRUNCATE INTO TABLE ITEM_TEST

FIELDS TERMINATED by ','

TRAILING NULLCOLS

( Item_Code, Item_Name, Item_desc, Item_price )

Data file

ACD01,KeyBoard,Peripherals,350

BFS03,Monitor,Computer,6500

CFG21,Chair,Office,2300

GHT2A,Table,Conference Hall,8500

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

328

Page 329: Oracle Apps Student Matrial

2) write control file as above

3) move the control file from local machine to server

D:\oracle\visappl\po\11.5.0\bin

4) create executable with executable method as SQL * LOADER

5) create the concurrent program with executable method as SQL * LOADER

define the parameter for data file

seq, Parameter

1 Enter the Data File Path

Value Set : 100 characters

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

considered sequentially, where as with oracle reports there is no order for

the parameters ( user parameters).

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.

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

Executable

Concurrent Program

Request Group

Responsibility

User

SRS

Request Set

SQL * LOADER

PL / SQL PROGRAM

STANDARD PROGRAM

329

Page 330: Oracle Apps Student Matrial

Diff Between Inbound Interface and Conversion:

Interface Conversion

1) Interface will be used to upload the data multiple times.

Regularly every week or month or day

2) Client may be using Legacy system and also Oracle

Applications

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

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

as implementation Projects.

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

1) Conversion is one-Time Data Transfer

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

been uploaded from legacy then legacy system will be

closed.

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

4) conversions will be used in the Implementation Projects

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

Difference between Apps 11i and R-12

Apps 11i Apps R-12

There are four Executables Same

PO – AP – GL

PO_VENDORSPO_VENDOR_SITES_ALLPO_VENDOR_CONTACTS

AP_INVOICES_ALL

AP_INVOICE_DISTRIBUTIONS_ALL

AP_SUPPLIERSAP_SUPPLIER_SITES_ALLAP_SUPPLIER_CONTACT

AP_INVOICES_ALLAP_INVOICE_LINES_ALLAP_INVOICE_DISTRIBUTIONS_ALL

Profiles Same

Mutli Orgs BG

Set Of Books LE OP IP

-do-Ledgers ( Currencies, Calendar, Chart Of Accounts, Method )-do--do--do-

GL_SETS_OF_BOOKS GL_LEDGERS

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

330

Page 331: Oracle Apps Student Matrial

Only one Operating Unit for one responsibilityMOAC ( Multi Org Access Control )For single responsibility Multiple Operating Units

MO : Operating UnitMO : Operating Unit MO: Security Profile

Flex Fields Same

Forms Same

Forms 6i Forms 10g

To generate fmx F60GEN FRMCRM

Interfaces Same

OM-AR-GL

TCA in AR Module Trading Community Architecture

BanksSuppliersCustomersEmployeesHZ_PARTIES

Same

Compiled and Developed byM.Nageswar Rao, B.Tech, MBA

331