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
Stores
Raw Material
Manufacturing
Finished Goods & Semi Finished Goods
Purchase
Payments
Shipping
Production
Quality Control
Assembling
Receiving
Costing
Customers
Marketing & Sales
Accounts
Human Resources Employees Payroll Bank Transactions
Recruiting Employees
Assets
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
1
1) Development of New ERP : It may be developed by using software such as C, C++, Java, .Net, Oracle and etc…. Development of new ERP involves high risk i.e complete SDLC is to be followed. It Involves Complete SDLC such as 1)Gathering Specs, 2) System Analysis 3) Designing 4) Architecture 5) Development 6) Testing 7) Sign Off Disadvantage in Development of New ERP 1) Time taken ( long time ) 2) Project Cost is an expensive 3) Vendor Dependent ( Supplier )
4) Weather it may be succeeded or failed 5) Lot of Resources are required 6) Enhancement of the project 7) Chance of raising lot of Bugs. 8) Not is to maintain the project. 2) Existing ERP Eg : Oracle Apps and SAP Oracle Apps from the Oracle Corp. SAP form SAP Labs Development is not necessary. Simply purchasing, Simple modifications ( Customization ), Enhancement and Implementation Advantages 1) Time will be reduced 2) Minimization of Cost. 3) Vendor independent. 4) Already Successfully implemented. 5) Much enhancements and modifications not necessary 6) Enhancement and Maintenance will be look after by the Supplier ( vendor) 7) Minimization of Resources. With an existing ERPs 60 to 70 % of time will be reduced. Only 30 to 40 % modifications are required to implement the existing ERP. Generally any industry will spend only 10% of their turnover on the software. Hence clients will prefer the exiting ERPs.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
2
Existing ERPs in the Market
1) SAP 2) Oracle Apps, 3) Seibel 4) People Soft 5) JD Edwards 6) Baan SAP Best suitable for Manufacturing Oracle Apps Best suitable for Financials SEIBEL Best suitable for CRM ( Customer Relationship Management ) People Soft Best suitable for HRMS ( Human Resources Management System ) JD Edwards Best suitable for Manufacturing, Operations and Sales. Baan Best suitable for Manufacturing Recently the ERPs such as SEIBEL, People Soft, and JD Edwards were adapted by the ORACLE Corp… and Developed as Oracle Fusion. Hence with oracle apps we can handle the Financials, CRM, HRMS and Manufacturing Comparison between SAP and Oracle Apps SAP
ORACLE APPS
1) SAP is suitable for Manufacturing Modules
1) ORACLE APPS suitable for Financials, CRM, HRMS
2) SAP uses the Oracle database and uses the Sun Soft servers.
2) Its Own Data base. Since Sun micro system has been taken over by Oracle Corp, Sun servers can be used directly.
3) Client has to depend on the No.of Vendors
3) Oracle Corp is responsible for all and need not to depend on No.of vendors.
4) Implementation cost is more
4) Implementation cost is less
5) Resources expensive
5) Resources are economic
6) Only Large Scale industries can afford
6) Small Scale Industries can also afford
7) Not Easy to develop and maintain the applications
7)Easy to develop and maintain the applications
8) It is an old ERP and having no. of customers
8) New ERP having less No.of customers.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
3
Life Cycle of Business
Stores
Raw Material
Manufacturing
Finished Goods & Semi Finished Goods
Purchase Shipping
Payments
Production
Quality Control
Assembling Costing
Customers
Receiving
Marketing & Sales
Accounts
Human Resources Employees Payroll
Recruiting Employees
Bank Transactions Assets
The above transactions will be maintained by the ORACLE Apps ERP, with Integration between the Modules. Integration of Oracle Apps Modules
INV
P.O
WIP Q.A
A.P BOM CM
A.R
OM
FPT G.L
FA PAY
HRMS
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
4
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 project Resolving Functional issues and Technical issues 3) Migration Project :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
5
It is a moving data from Older version Oracle Apps to New Version of Oracle Apps 4) Up Gradation Project : Adding new modules to existing Oracle application to obtain new features Project Process:
1) Requirement Gathering Sr. F.C 2) Preparing the Setup documents How the client is going to use different modules such PO, AP, AR, GL and etc Sr. F.C
3) GAP Analysis Analyzing gap between existing Oracle ERP and Client requirement, Use of RICE Object By the Solution Architect
4) Preparing Functional Requirement Documents ( MD050) by Jr. F.C This will be sent to client for approval
5) Preparing Technical Requirement Document ( MD070) by the T.C and it will be sent Technical Lead ( T.L ) for review After review by the T.L it will be sent client. 6) Creating Development Instance and Providing Access to Developers by the DBA
7) Code development by the Jr. and Cr. T.C s 8) Creating Test Instance and Providing Access to Testers by the DBA
9) Testing testing the functionality of the application. By the F.C and T.C 10) Creating Production Instance and Providing Access to Testers by the DBA
11) System Integration Test Integration of different Modules by the both F.C and T.C 12) Creating Quality Instance and Providing Access to Testers by the DBA 13) Performance Testing
14) User Acceptance at On site 15) GO – LIVE 16) Supporting / Maintenance Documents used in the development of Oracle Application AIM ( Application Implementation Methodology ) Documentation 1) MD020 ( Methodology document ) HLD ( High Level Document ) It will be prepared by Solution Architect 2) BR030 or BR100 Setup document ( Business Requirement ) It will be prepared by Sr. F.C
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
6
3) MD050 Functional Design Document It will be prepared by the Jr. F.C 4) MD070 Technical Design Document It will be prepared by T.C 5) MD120 Migration Document ( instance moving from phase to another phase ) It will be prepared by DBA 6) UTD Unit Test Document or TE040 7) CV040 Conversion Functional Design Document It will be prepared by Functional Consultant 8) CV060 Conversion Technical Design Document It will be prepared by Technical Consultant 9) CR Document ( support ), Change Request It will be prepared by the Technical Consultant Migration Documents are of two types
1) Installation Process : Installation stages are four 1) development 2) testing 3) production and 4) Quality. When A form or a report is moving form one instance to other instance, after it has been developed, 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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
7
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 ) ) 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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
8
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. 5) Development of Components / Objects 6) Testing the Components / Objects 7) Deliver the object to Testing Department 8) Support the testers 9) Interaction with DBA, Functional Consultant and some times with client. Types of Objects used in the Oracle Apps The objects/components, which are involved in Oracle apps are 1) RICE Components and 2) Functional Components RICE Components are
R Reports I
=== Reports 6i
Interfaces === SQL, PL/SQL and other Programs
C Conversions
= SQL, PL/SQL and other Programs
E Extensions
= Forms 6i
During an Implementation development of RICE components involves: 1. Creation of Reports that are not available as standard reports in the oracle apps modules. 2. Creation of the Interfaces to external systems. 3. Creation of Conversion programs to transfer data from a legacy system to the new system. 4. Enhancements (or extensions) to the existing system to add additional functionality to existing system without disturbing the core software functionality of the system. Functional Components are
1) P – 2 – P Cycle 2) O – 2 – C Cycle P – 2 – P Cycle == PO AP CM GL
INV INV Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
9
O – 2 – C Cycle == OM AR CM GL
Software used in development of Oracle Application 1) SQL
Standard Version is 11.5.10 Modules provided by the Oracle Apps Application is combination of Front and Back Front end is Forms, Reports, Programs Back end is tables, views Oracle Apps has been developed with around 260 modules. Dept of the Company is called as Module in Oracle Applications
Oracle Applications
Finance
SCM
CRM
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
HRMS
10
Oracle Financial Module It provides the following
1) Oracle Payable (or) Account Payable ( A.P ) Forms, Reports, Programs Ex: payment for today/next day/ next week/ next month/nest quarter and etc… 2) Oracle Receivables (or) Account Receivables ( A.R )
3) Oracle Cash Management ( CE = Cash Entry ) Cheques and Cash ( Bank Statement of the company ) 4) Oracle Assets (or) Fixed Assets ( FA) Registration where abouts of the assets responsible person Insurance Tax payments 5) General Ledger ( GL) : it is a main module of Oracle Apps It is a balance sheet of the company 6) Financial Statement Generated Report ( FSG ) 7) Oracle financial Service ( OFS ) 8) Project Account ( P.A )
9) …………. Around 25 modules provided by the oracle financials 2) SCM ( Supply Chain Management ): Also called as Distributions Distribution: 1) Purchasing
2) Stores
3) Sales
Manufacturing:
1) 2) 3) 4) 5)
Bill Of Material What is the raw Material is required Production Quality Planning Costing
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
11
6) Pricing
3) CRM : 1) 2) 3) 4) 5)
Service Request Dept Service Receiving Field Service Service Updates Install base ( updating service request )
All the above are under the customer care HRMS ( Human Resources Management System ) 1) Recruiting 2) Core H.R ( Structure of the organization )
3) Payroll Module ( Employees Salaries ) UK Payrolls, US Payrolls, Indian Payrolls 4) Self Service H.R ( SSHR) Employee information such as change of address, loans, leaves and etc… 5)
Oracle Advanced Benefits ( OAB )
6) Oracle Time and Labor ( OTL ) -- ( over time by the employees ) 7) Oracle Training Module
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
12
Application Architectures Single Tier Architecture : Data and Application will be running in the same memory. Application and Data both are on the same system. Eg:
C / Java / .Net Applications working files
Two Tier Architecture : Data is in one memory and Application is in another memory. Application and Data both can be on the same system or different systems in a network. Eg: D2k Form / Reports/ Java Console Application / VB Forms ( Any Desktop Application )
Client / User Tier ( Desktop App ) D2k Form/ Report/ Java Console Application/ C-Program/ VB Form
Database Tier
Request
Response
Database
Three Tier Architecture : It is a Web Application. Web Application can be Java / .Net / Oracle Applications or any other application working with Application Servers.
Client – Tier HTTP Request
WEB CLIENT
Application - Tier Application Components
Database - Tier
Request
Servlet / JSP/ Oracle Application Response Forms, JSP Compiled and Developed by Pages M.Nageswar Rao, B.Tech, MBA
Data Base 13
HTTP Response
Four Tier / Multi-Tier Architecture : It is an Enterprise Application.
Client – Tier
Application - Tier
Middle - Tier
Database – Tier
HTTP Request Application Components WEB CLIENT HTTP Response
Middleware : Java EJB Components are used as Middleware Components. Some Middleware Components can be Distributed. If Application –Tier and Middle-Tier are on the Same system, then it is called as Enterprise Application. If multiple Middleware components are running on different systems in a network, then it is called as distributed application.
Oracle Applications architecture Oracle Applications architecture is a framework for multi-tiered, distributed computing, that supports Oracle Applications products. In this model, various services are distributed among multiple levels, or tiers. User Tier
Application Tier Request
Browsers based Web Client
Response
AP | AR | GL | INV Front End Object Forms and Reports JSP Pages
Database Tier Request
Response
Tables Views Packages Procedures Functions
SERVICE
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
14
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.
TIER A tier is a grouping of services, potentially across physical machines. desktop tier, which provides the user interface display. Only the presentation layer of Oracle Applications is on the desktop tier in the form of a plug-in to a standard Internet browser. The application tier, which manages Oracle Applications and other tools; The tiers that, manages the Oracle database is a Database-Tier;
Clients are generally windows Application and Data base on Linux/Sun Solaris
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
15
The Desktop Tier The client interface is provided through HTML for the Self-Service interface, and a Java applet for the professional, forms-based interface using a Java-enabled Web browser. The desktop client with Oracle JInitiator downloads the applet on demand and the applet is cached locally for future use.
Forms Client Applet The forms client applet is a general-purpose presentation applet that supports all Oracle Applications forms-based products, including those with customizations and extensions. The Forms client applet is packaged as Java archive (JAR) files. The JAR files contain all Java classes required to run the presentation layer of Oracle Applications forms. The Forms client applet and commonly used JAR files are downloaded from the Web server at the beginning of the 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 JInitiatorenabled Web browser.
Oracle JInitiator
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
16
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.
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 9i 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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
17
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 by M.Nageswar Rao, B.Tech, MBA
18
Oracle Apps file Architecture APPL_TOP
CUS_TOP
PO_TOP
11.5.0
11.5.0
forms
reports
US
US
sql
INV_TOP
WIP_TOP
11.5.0
11.5.0
plsql
admin
include
bin
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
lib
GL_TOP
AR_TOP
11.5.0
11.5.0
java
Log
out
driver
19
Applications Directory and File Types Subdirectory Name Forms
Reports
Description Contains Oracle Forms generated runtime (.fmx) files (Oracle Forms form files). Contains Oracle Reports .rdf files for each product, which are platform-specific binary report files. Reports for each language are stored in subdirectories of the reports directory.
Sql
Contains SQL*Plus scripts used to upgrade data, and .pkh, .pkb, and .pls scripts to create PL/SQL stored procedures.
Plsql
Location where .pll files (PL/SQL library files for Oracle Reports) are unloaded, later in the installation they are moved to the plsql subdirectory in the AU_TOP directory. Contains output files for concurrent programs: ■ .mgr (master log file for concurrent manager)
log and out
■ .req (log file for a concurrent process) Note: Log and out subdirectories under a product directory are not used if you set up a common directory for log and output files (except in FND_TOP).
Forms display messages at the bottom of the screen and in popup boxes. Concurrent programs also Mesg
print messages in the log and output files. These messages are translated and stored in message files separate from the forms and concurrent programs. This directory contains the .msb files (binary message files used at runtime), and language-specific message files (such as a US.msb file for American English and a D.msb file for German.) PROD_TOP/admin contains files used by Auto Upgrade to upgrade each product. Note that this
Admin
directory is not the APPL_TOP/admin directory. The APPL_TOP/admin directory contains upgraderelated files for all products. This PROD_TOP/admin directory contains product-specific upgrade files.
Bin Driver
Contains concurrent program Contains .drv files (driver files). Auto Upgrade processes in several phases, and each phase is controlled by a driver file.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
20
Import
Contains DataMerge files used to upgrade seed data.
Odf
Contains object description files (.odf files) used to create tables and other database objects.
Help
Contains the online help source files. Within this directory are subdirectories for each language you choose to install.
Html
HTML, Javascript, and Java Serve Page files, primarily for Self-Service Applications products.
Include
Contains C language header (.h) files that my be linked with files in the lib directory. Not all products require this directory. Contains files used to relink concurrent programs with the Oracle server libraries. These files include: object files (.o) with compiled code specific to one of the product’s programs;
Lib
■ a library file (.a) with compiled code common to the product’s programs; ■ a makefile (.mk) that specifies how to link executables. Contains JAR files (Java Archive files) and Java dependency files. Copies of JAR files are also
Java
located in JAVA_TOP.
Media
The desktop client displays text and graphics from the .gif files in this directory.
Patch
Updates to the data or data model use this directory to store the patch files.
resource
Contains .pll files (PL/SQL library files for Oracle Forms), which, like the plsql directory files, are later copied to AU_TOP.
Custom Top : This module is to support customer new requirements other than provided by oracle Corp. Custom Top is used to create the customer ( client ) own forms / reports / or other data base objects as per the requirement of the customer. It will be created by the customer. DBA is the responsible to create this module. At least on custom top is required for every client. Multiple custom tops can also be created as per the demand. Client need not to develop the modules such AP, PO, INV, AR, GL and etc. These will be provide by the oracle corp. If any customer developed the database objects like forms/reports/ or any other objects inside the modules provided by the Oracle Corp., these will be over written when the patches are applied to the oracle application.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
21
Custom Top module can be uploaded and down loaded from the server where as other modules can only be down loaded from the server but can not be uploaded to the server. US folder : This folder is a language specific. Default language is American English. Regional languages such as Japanese, German, Hindi, Chinese and etc can be used for better under standing of the end users. This folder is applicable only for Forms and Reports as they contain G.U.I components. To display the available languages use the following query. Select * from FND_LANGUAGES Select * from FND_LANGUAGES where installed_flag in (‘B’, ‘D’); B Base languages, D Disabled languages, I Installed languages. 11.5.0 folder : It depends version of Oracle Application. Functional consultant must have the clear idea about the version of the Oracle Application and its features Most of the applications are being developed with 11.5.0 and R-12. Oracle Database Architecture The compatibility of version : Apps 9i / 11i Database 9i Apps R-12 Database 10 G ( minimum )
The basic things which are required in development of Oracle apps 1) Schema
2) Synonym
Schema
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
22
Schema is an area in the oracle database, where we can create database objects. One schema or more than one schema can be created in one database as per the client requirement. Schema contains database objects such as Tables, procedures, functions, triggers, views, indexes, synonyms, packages. One schema is required for every module. Synonym is an alternative name for any database object. If any user logged into any schema he can access concerned objects only. He can not have the access to other schema objects. To other schemas user must have privileges. Eg: There are two schemas called X and Y . if user logged into schema X then he can access the objects of schema X only . He can not have the access to Schema Y. If user wants access the Schema Y, then user must be granted permissions by the Schema Y. There is no integration between schemas. To integrate the all schemas in a database oracle provides Apps Schema. APPS schema: Oracle provides Apps Schema, which enable the user to access all schemas in a database. Apps schema integrate all the schemas in a database. The APPS schema has access to the complete Oracle E-Business Suite datamodel. It is analogous to the SYSTEM schema, which has access to the entire database. Oracle Applications responsibilities connect to an APPS schema and the environment variable FNDNAM is set to the name of the APPS schema. APPS schema contains only synonyms to the database objects in other schemas. Every object in the base product schema will have a synonym in the APPS schema.
APPS and Base Product Schemas There is one schema for each 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.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
23
There is one APPS schema for every product installation group. The following code objects are installed in the APPS schema: ■ Views ■ Packages ■ Procedures ■ Functions ■ Triggers The following objects are installed in the base product schemas: ■ Tables ■ Sequences ■ Indexes ■ Constraints In addition, there are grants from the tables and sequences to the APPS schema, as well as synonyms from the APPS schema to those objects. Integration of base product schema by using APPS schema
PO Schem a AP Schem a Apps Schem a
INV Schem a
AR Schem a
HRMS Schem a
Ex: Item information Report Item Details
Supplier Details
Name of the Employee who received the item
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Issued Cheque No
24
Item
details
obtained
will
form
be Supplier
details
the obtained
form the supplier
inventory table
table
( Inventory Schema )
( P.O Shcema )
will
be
Employee details will be Cheque
details
will
be
obtained from emp table
obtained form cheque table
( HRMS schema )
( A.P Schema )
We have to select the data from four tables. Apps Schema provides corresponding synonym for every table in other Schemas, so as to enable the user to access the data from tables of different schemas. Eg: A.P Schema is having 50 objects P.O Schema is having 100 objects INV schema is having 100 objects A.R Schema is having 50 objects HRMS Schema is having 100 objects Then apps Schema will maintain 350 ( A.P + P.O + INV + A.R + HRMS ) synonyms. For convenient name of the synonym and database object will be the same. Select * form emp, item, supplier where …… emp, item, supplier are synonyms available in the Apps Schema Emp HRMS.emp,
item INV.item,
supplierPO.supplier ,
Difference between Apps Schema and base product schemas Apps Schema 1) It will not maintain any data
Base Product Schemas 1) It will maintain data in the form of tables
2) only synonyms and few of Multi Org views
2) all Database Objects
3) User will always be connected to Apps schema
3) User will never be connected. Some times may be connected to particular schema only.
4) Apps is having grants to other schemas
4) Do not have the grants.
In development of oracle applications, we use 95 % DML and TCL commands and 5 % DDL commands.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
25
If customer want to add own custom schema, then we have create the custom schema and grant the privileges to Apps schema. It is a job of DBA. The Technical consultant must have idea of all important tables, which are used in the application. Connection to Apps Schema User id : apps Password : apps SID
: vis
Sql > conn apps/apps@vis Sql > select count (*) from tab; 62561 Sql > conn po/po@vis; Sql > select count (*) from tab; 124 Sql > conn ap/ap@vis; Sql > select count (*) from tab; 213 Sql> desc AP_CHECKS_ALL; Sql> conn apps/apps@vis Sql> desc AP_CHECKS_ALL; Utilities used in the development of Oracle Application are 1) TOAD 2) FTP 3) Win SCP
Application Object Library ( AOL )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
26
Application : It is a combination of development and customization Object : These are developed and customized objects Library : It is a registry AOL is a key where we are going to complete Technical and Functional aspects. It involves two aspects 1) System Administrator 2) Application Developer System Administrator : Creation of users Security Groups Responsibility Profiles Programs Application Developer : Forms Reports Menus Form function Messages Application Tables These are object registry by the application developer Creation of a user
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
27
1) Start Browser for login : http://apps.ora.com:8000 User Name : operations Password
: welcome
2) System Administrator ( single click ) ( left side pane )
3) Go to right side pane Security : User Define ( click ) 4) Users form
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
28
User Name : mnaro10 Password
: xxxxxx ( at least 5 chars )
( re-enter password ) ( it shows on the status bar of the form ) Description : any one ( purpose of user ) ( is an optional ) Responsibility
Place the cursor in the responsibility cell and click ( right side …) Find : appl%
enter key and select application developer , then OK
Place the cursor in the responsibility next row and click ( right side …) Find : system administrator %
enter key and select application developer, then OK
Save the form ( save button ) Status bar shows that : Transaction complete : 3 records applied and saved. Close the form
5) Checking for User Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
29
1st way Go to Oracle Application Home for checking weather the user created or not Security : user Define Users form : press f11 to query When pressed F11, users forms enters into the query mode User Name : mnrao% and Ctrl + F11 , it shows user details 2nd way Using query Select * from FND_USER ; Using Toad Utility : User name : apps Password : apps Database : vis Click on Connect Go to editor then execute following query ( Ctrl + Enter to execute query ) Select * from FND_USER where trunc(creation_date)=trunk(sysdate) Creation of one more user Users form: New button ( + ) ( 1st one on the tool bar with green color ) Repeat the above procedure and save it. For checking users form : F11 to get into query mode, User Name : mnrao% : Ctrl + F11 it queries for the users starting with user Down arrow key display the users one by one . Find button : ( 2nd one in the tool bar ) To display users Click and find : user % ( enter key ) Close Form : to close the form Clear form : to clear the current form Delete : this will be in the disabled position, to disable the user set effective dates From : To : Set the To date same as the form date. Significance of colors in the form
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
30
1) Yellow color mandatory field 2) White Optional 3) Gray read only ( it is not a navigable item ) Finding Table Name Go to users form F11 query the user ( user name : ctrl + F11 ) After getting user details go to Help menu Record History It shows as below Created By: OPERATIONS Creation Date: 04-MAR-2011 17:24:42 Table Name: FND_USER Updated By: OPERATIONS Update Date: 04-MAR-2011 17:24:42 The above details will be obtained from the Table called FND_USER Column names Help diagnostics examine Block : USER Filed : USER_NAME, to see the more fields click at right side, it shows all the columns in the table (or) using toad utility we can query the fields Select * from FND_USER Value : mnrao10 To find the current login user Help about application Oracle Applications Copyright (c) 2004 Oracle Corporation, Redwood Shores, California. All Rights Reserved. Site : UNKNOWN
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
31
Application : System Administration Responsibility : System Administrator Security Group : Standard User Name : OPERATIONS User Login: 1) Logout form the administrator Go to home page and logout 2) User Name : mnrao10 Password : xxxx For the fist login, it will be prompted for Current Password : New password : we should change password for security purpose Re-Enter new password: Types of executables : These are programs Oracle Application supports 12 types of languages Older version supports only 11 languages Apps 11i version supports 12 languages.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
32
Once the above programs have been transferred to oracle application, then these are called as concurrent programs. concurrent program : Instance of executable file along with input parameters and incompatible programs. Development of sample report and Move to oracle apps and execution Report Registration Steps: 1) Develop the report (.rdf) as per client requirement by using Reports 6i Builder 2) Move the report from the local machine in to the server a. CUS_TOP\11.5.0\reports\US .rdf (or) b. PO_TOP\11.5.0\reports\US .rdf 3) Select System Administrator a. Create Executable b. Executable name c. Application Name d. Execution Method e. Report (.rdf) file name 4) Create Concurrent Program and attach a. Executable b. Parameters c. Incompatibilities 5) Create Request group and attach Concurrent Programe 6) Create Responsibility a. Request Group – Collection of Concurrent Programs b. Data Group – Collection of User IDs c. Menu – Collection of forms 7) Create user attach Responsibility to the user 8) Switch responsibility and go to SRS (Standard Request Submission) window submit the request Executable => Concurrent Program => Request Group => User=> SRS
Development and execution of Sample Report Requirement : First Page : Users Information Report Second Page : UserId
UserName
CreationDate
Last Page : Total No.of Users : 2836
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
33
Step 1 : Develop the report using report builder 1) Data Model : Query : SELECT USER_ID, USER_NAME, CREATION_DATE FROM FND_USER Summary Column for total no of users 2 ) Layout Model Header Section Main Section Trailer Section 3) Save and test it ( eg : saved as C:\MyApps\user.rdf )
STEP 2 : Move the report from Local machine into Server
D:\oracle \VIS \apps \apps_st \appl \po \12.0.0 \reports \US STEP 3: Select System Administrator and create EXECUTABLE Select System Administrator Concurrent : Program Executable
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
34
Executable Short Name
: user_reports ( name can be any one ) : user_reports ( important it is to be attach with concurrent program in the next step, executable name ) Application : purchasing ( click right side and find : pur% ) Description : purpose of the report as desired by the client Execution Method : Oracle Report Execution File Name : user ( name of the file which was developed in the oracle reports ) SAVE THE RECORD ( click on save button ) STEP 4 : Create Concurrent Program and attach EXECUTABLE Concurrent : Program Define
Program : user_prog ( any name ) ( copy this next step, it will be supplied in the next step for REQUEST NAME), THE SEME NAME WILL BE ADDED IN THE SUBMITTION REQUEST )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
35
Short Name : It can be any one Application : purchasing Description : as desired by the client Executable : Name : user_reports ( the short name in the 3rd is to be supplied here ) or click right side will be populated Method : Oracle report ( automatically ) Output : Format : PDF ( choose from the list provided ) Save : enable to save the report for the future Disable if not required for the future Print : disable as the printing is not required Style : A4 ( choose from the list provided ) SAVE THE RECORD ( click on save button ) STEP 5: Create Request Group and attach Concurrent Program
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
36
Security : Responsibility Request Group : user_group1 ( any name ) Application : purchasing Code : any one Description : any one Request Type
Name
Applicatio
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
37
Program
user_reports_prog
purchasing ( automatically )
(program name supplied in the 4th step ) SAVE THE RECORD ( click on save button ) Request group is a collection of Concurrent Programs and Reports we can group All concurrent Programs. STEP 6: Create Responsibility
:
1)Request Group, 2)Data
Group, 3)Menu
Go to application home page. Security : Responsibility Define
Responsibility Name
: user_resp ( any name )
Application
: purchasing
Responsibility Key
:any one
Description
: any one
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
38
Data Group Name
: standard
Application
: purchasing
Request group Name
: user_group1 ( supplied Group value in the 5th step )
Application
: purchasing
Menu
: Position Control, Vision University ( supply some, which is already existing one )
SAVE THE RECORD ( click on save button ) Responsibility is a Level of Authority which Combines Forms, Report and Application User ID's. Eg: ( LG company : clerk, senior clerk, manager, General Manager, Managing Director, CEO ) Data Group is a Collection of Oracle Application UserID's. it will be for Security purpose.(STANDARD will be used) Request group is a collection of Concurrent Program add the request group whatever we have created. it will automatically retrieves the Application Name. Menu : Menu is a collection of Forms and Sub Menus select any one of Existing Menu. Note : Once we create the Responsibility we can not delete instead of that we can disable by using Effective start Date and End date.
STEP7 : attach Responsibility to the user. Go to application home page Security : user
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
39
Define add the responsibility to user Query for the user ( F11 ) Name : MNRAO
( CTRL + F11)
Responsibility : user_reports_resp ( it is created in the 6th step ) STEP 8 : Select the Responsibility Click on this and select responsibility
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
40
Click on OK view menu Request
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
41
Submit New Request ( single request ) OK Name : user_reports_resp( automatically/select from the list ) Click on submit ( at the bottom ) Submit another request Yes/No No Click on Find Click View output : to see the out put View Log : to see the log details View details : to see the of the request details such as name the request, date submitted, requestor, date started, date completed Diagnostics : it shows as below This request completed successfully. The request started at 05-MAR-2011 19:47:06 and ended on 05-MAR2011 19:47:23. Executable: After moving .rdf in to the server, we will crate executable by specifying execution name execution method and application name. Request Set: Request set is a collection of report / Programs that you group together and can be submitted to run is a single interaction. Request Id: When submit a request oracle application assigns a request id to the request. We can use this request id to search for request. Concurrent Manager: A concurrent manager is a component of concurrent processing that monitors and runs tasks without typing up your computer. Refresh Data: This button will show you the latest status of the concurrent program
Find Request: This button will take you to request find window Submit New Request: This button will take you to SRS window Diagnostics: This button will show the completion details of the concurrent program
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
42
Hold Request: This button will help to hold the running request for same time and period Cancel Request: This button will help to stop the running request. View LOG: Using this we can see the technical details of the concurrent programs. View Output: Using this we can see the actual result data. Concurrent Program: After creation of executable we will create concurrent Program by attaching Executable, if parameters are there we will attach parameter if incompatibility Programs are there we will add those programs , for single executable we create Multiple concurrent programs with different parameters. Request Group: After creation of concurrent program we must add the program to the request Group. Request Group is nothing but collection of Concurrent Programs and Reports. Responsibility: It is level of authority where we will combine Data Group, Request Group and Menu. Request Group is optional, where as menu and data group is mandatory. Data Group: Data Group is nothing but collection of applications names and Oracle User Names based on this Username data will be retrieved from database. Menu: Menu is nothing but collection of functions (forms) and submenus. Value Set: values set is nothing but list values. It will be used to validate values while entering the parameters. Token: Token is one the field will be used to map concurrent Program parameters with report builder find variable. We will enter the find variable name in the toke field so that parameters will be passed to the find variable. Required check box: By using this check box we can’t make the parameters mandatory or optional Enabled Check Box: By using this we can enable or disable the parameter. Display Check Box: By using this we can hide or display the parameters in SRS Window.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
43
Range Option: While defining the form and to parameters if we wanted to accept Values in accession order menus from values is low and to value is high we will Select the options called low and high. Default Types: If we are hiding the parameters user can’t enter the values that Time we can pass default values by using default type and default value filed. SRS Window – Copy Button: This will be used to find out recent Concurrent Program list with parameters in SRS Window. Scheduling: Using this we can schedule the program to run periodically or on specific time also we coy a schedule for future. Scheduling the Concurrent program We can submit the Concurrent program future date or date by using the schedule button in SRS window 1. As soon as possible: This is default option whenever we submit the request it will submit the as soon as possible 2. Once: It will submit the rest only once for future date. 3. Periodically: WE can specify the from_date and to_date to submit program periodically no of. Days months, hours, minutes and so on. 4. Specific Days: If we want submit concurrent program in the specific days we write select this option 5. Save this Schedule: This check box will be used to save the schedule and apply same schedule to other concurrent programs by selecting the button called ‘Apply save schedule’ Print & Notify: Using this we can notify the concurrent program run details and also control the print option.
***************************** Application Responsibility1, Responsibility2, Responsibility3 Responsibility Sharing by users Responsibility Combination of 1) Menu Group 2) Request Group
3) Data Group
Menu Group Function1, Function2, Function3 Request Group C.P1, C.P2, C.P3,….
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
44
Data Group Each functions is a form Form Block1, Block2, Block3,…. Block Filed1, Fileds2, Filed3,… Fields Maps to table Columns Top Ten list navigations as below
Step1: login Step2: system administrator Step3: select concurrent : program Define and close the form Step4: select the required form the left pane and to top ten list Eg: 1)
Concurrent : Program Executable Click on add
2)
Concurrent : Program Define Click on add
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
45
3)
Security : responsibility Request Click on add
4)
Security : responsibility Define Click on add
5)
Security : user Define Click on add
Note : click on one of the option from the LIST for auto navigation
Different Types of Tables in Oracle Apps 1) Interface Tables 2) Base Tables 1) Global Tables 2) Org Specific Tables 3) Language Specific Tables Interface Tables : These are intermediate tables between apps base tables and external tables. Oracle Program is used to transfer data from other tables to Apps Interface tables. Apps interface program is used to transfer data from Interface tables to Base tables.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
46
Eg: AP_INVOICE_HEADER_INTERFACE AP_INVOICE_LINES_INTERFACE Base Tables : These are actual tables where the data will be stored. These tables will not be updated from the back end . A from is dependent on one or more tables. Eg: AP_INVOICE_ALL Based on storage of data, base tables are divided into following 1) Global Tables 2) Org Specific Tables 3) Language Specific Tables Global Tables : The data in this tables is not specific to any organization of a business. This data can be shared across all the organizations of business group. Eg:
Employs data, Suppliers data, Accounting data, Bank Transactions data
Org specific Tables : The data stored in this tables are specific to particular organization. Eg: Invoice Details Org Specific tables will have ALL as their suffix AP_INVOICE_ALL Language Tables : Apps supports the multiple languages. These tables will maintain the language specific data. These table will have TL as 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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
47
3) Who Columns : These are called as history columns. This data will be gerated automatically by the oracle application form. These columns are 1) CREATED_BY 2) CREATION_DATE 3) LAST_UPDATED_BY 4) LAST_UPDATE_DATE 5) LAST_UPDATE_LOGIN Every apps table has the above columns 4) Global Attribute Columns : These columns will maintain the functionality information, which is provided by the ORACLE Corp. GLOBAL_ATTRIBUTE1 GLOBAL_ATTRIBUTE2, …. 10. 5) Additional Cols : These columns are used to store the data, which is from additional fields added to the existing form during the customization of a form. ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3….. 15 6) Key Columns : These are called as segment columns. Used to maintain the key flex field data. A field will have subfields Eg: Account Num : COMPANY-COUNTRY-DEPARTMENT-ACCOUNT LG-IND-SALES-4523 SEGMENT1, SEGMENT2, …. SEGMENT20. Developing one more report and to application and execute Eg: Employees information report EmpId
EmpName
Startdate
1) develop the report 2) transfer form client machine to server machine
3) create executable 4) create concurrent program and attach executable 5) Create Request Group and attach Concurrent Program
6) create responsibility and attach 1)Request Group 2)Data
Group
3)Menu 7) add the responsibility to user
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
48
8) go to srs execute Report with input Parameters STEP 1: Develop the report with parameters Requirement: First Page : Title from the user input Second Page : UserId
UserName
CreationDate
Last Page : Total Users : Input parameters are Enter From Id : Enter To Id : Enter Title
1) Create three parameter P_From : number type (10) P_To
: number type (10)
P_Title : char (100) 2) Data Model Query : SELECT USER_ID, USER_NAME, CREATION_DATE FROM FND_USER WHERE USER_ID BETWEEN :P_FROM AND :P_TO
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
49
Create Summary column for total count : USER_COUNT 3) Layout model Header Section : text filed map with P_TITLE Main Section
: required layout and map the text fields with required fields
Trailer Section : Text Field map with USER_COUNT 4) compile and test the report 5) save in the local machine : file name : user-param.rdf STEP 2: transfer the file user-param.rdf from local machine to the server STEP 3 : LOGIN INTO APPLICATION Create executable file STEP 4: Create concurrent program and attach the executable Map the parameters Click on parameters button ( at the bottom ) Seq
: it is serial number ( unique value )
Parameter
: Enter From Id ( its prompt value )
Description
: as desired (optional)
Value Set
: data type ( 10/number or FND_NUMBER pre-defined )
Token
: P_From ( it is a name of the input parameter in the report for mapping )
Required
: enable mandatory field Disable optional filed
Range
: low for validation ( lower than other filed value )
STEP 5 : create request group and attach the concurrent program STEP 6 : create responsibility and attach Request Group
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
50
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
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 ;
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
51
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 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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
52
Working with date : Requirement Input : From Date : To Date : UserId
UserName
CreationDate
Total Users : Step1: Develop the report 1) Create Parameters P_FROM :
Date type : date, input mask : YYYY/MM/DD HH24:MI:SS
P_TO
Date type : date, input mask : YYYY/MM/DD HH24:MI:SS
:
2) Data Model Query SELECT USER_ID, USER_NAME, CREATION_DATE FROM FND_USER WHERE CREATION_DATE BETWEEN :P_FROM AND :P_TO create a summary column : TOTAL_COUNT
3) Layout Model Header Section : Prepare the required title Main Section: UserId
UserName
CreationDate
Trailer Section : Total Users : Repeat the other steps such registry and running as explained in the previous examples Step 5 : while creation of concurrent program : Parameters : Pre defined Date value set : FND_STANDARD_DATE In all the above example we have followed following steps 1) Executable 2) Concurrent Program 3) Request Group 4) Responsibility
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
53
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 with different applications different input parameters eg: Client1 requires : only one parameter ( From Date) Client2 requires : two parameters ( From Date ) ( To Date ) different output forms: eg: Client1 requires in PDF format Client2 requires in XML format Other client requires in excel sheet format What is the advantage in using Request group ? To group the multiple programs What is the advantage in using Responsibility group ? Menu we can add different menus with different Concurrent Program and Form can also be attached Request Group : Nothing Data Group : Nothing Default Types 1) Constant 2) SQL Statement 3) Segment 4) Current Date 5) Current Time 6) Profile
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
54
Constant To pass the constant values such as numbers, chars, String , Date. Enter From Id Enter To Id Enter Tile : Eg: Enter Tile : Default Type : constant
Default Value : Users Information Report
SQL Statement Enter From Id Enter To Id Enter Tile : Enter From Id : Default Type : sql statement
Default Value : select min(user_id) from fnd_user
The above select query returns user_id : -1, -ve value will not be considered for 10/number, we have to change data type as 15 char Enter To Id : Default Type : sql statement
Default Value : select max(user_id) from fnd_user
Segment : This is to get previous parameter value to the next parameter Enter From Id: Enter To Id : Default Type: segment Value Sets :
Default Value : Enter From Id
System provides built-in ( pre-defined ) value sets Value set is a list of values with validations which will be used to restrict the user without entering the invalid data in the Parameters value sets are used in two scenarios. 1)Concurrent Program parameters 2)Flex fields These are of 8 types of Validation types 1) NONE
2) Dependent 3) Independent
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
55
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. Creation of user defined value sets These will be created based on some conditions. NONE type Eg 1: conditions
1) only digits ( 0-9) 2) Max 4 digits 3) Min Value : 150 4) Max Value : 5600
Steps to create value sets System Administrator Application validation set
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
56
Value St Nme : CUST_4DIG_NUM Description : Customized value set for 4 digits number ( as desired ) List of Values : list of values ( we can others such as poplist, long list of values )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
57
pplist if values are <10 list of values 10 to 200 long list of values > 200 Format Type : Number
Maximum Size : 4 ( digits )
Precession : 4
( format Types are
1) Char 2) Date 3) Date Time 4) Number 5) Standard Date 6) Standard Date Time 7) Number ) Numbers only : enable ( 0-9) Min Value
: 150
( as desired )
Max Value : 5600 ( as desired )
Validation type : None Note : After define use in the concurrent program, while defining parameters Eg 2: conditions 5) Max 15 chars 6) Upper 7) If user input is number, it should precede with zeros
Value set name : CUST_15CHARS
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
58
Description : 15 chars text ( as desired ) List of Values : list of values Format Type : Char
Max Size : 15
( max no.of chars)
Upper Case only : enable ( A-Z) Validation type : None Note : After define use with parameters of concurrent program
INDEPENDENT Independent provides the list of values, user has to select the value from the list Value set Name : CUST_DEPT_LIST List Type : List of Values Format Type : Number
Max Size : 5
Validation Type : Independent Find By Value : select Value Set Click on
Name : us_dept_list
find
Entering values System Administrator Application validation set Values
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
59
Find Value By
Name : CUST_DEPT_LIST
Check Value Set Select Find
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
60
Enter the values Supply the desired values in the value column Value:
Translated Value
Description
10 200 500 Note : The above use with parameters of concurrent program
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
61
DEPENDENT Provides list of values but depending on another Independent values Eg: Country : India City : Hyderabad Banglore Chennai Delhi Mumbai Country : USA
City : Dellos California Detroit
Country : UK
City : London Anderson
Report output First Page: Employees information India : Hyderabad Second Page : EmpNo EmpName
Salary
Comm
Last Page: Total Employees : 50 Step1 : create the independent values set ( list = India, US, UK ) System Administrator Application Validation Set Value Set ( form ) Value Set Name : CUST_COUNTRY Description : List of Countries ( as desired ) List of values : List of values Format type : Char
Max Value : 50 ( as desired )
Validation Type : Independent SAVE THE FORM
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
62
Providing the values : System Administrator Application Validation Values Find By Value : Check Value Set Click on
Name : CUST_COUNTRY
find
Value
Translated Value
INDIA
INDIA
UK
UK
US
US
Description
Enabled
Save the above Step2 : Create the dependent values set Country : India City : Hyderabad Banglore Chennai Delhi Mumbai Value Set ( form ) Value Set Name : CUST_CITY Description : List of cities in a country List of values : List of values Format type : Char
Max Value : 50 ( as desired )
Validation Type : dependent
Select Edit Information
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
63
Dependent value set information Independent value set : CUST_COUNTRY Dependent Default value : INDIA ( as desired ) Description
: Default value
Providing Values : Values Check Value Set Name : CUST_CITY ( auto ) 1) Independent
Value : INDIA ( default,
use down arrow key to list )
Select Find
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
64
Value Hyderabad, Chennai, Banglore, Delhi, Mubai SAVE THE FORM
2)
Independent Value :
US
Select Find Values ( California, Chicago, Detroit ) SAVE THE FORM 3) Independent Value : UK ( London, Anderson ) Use the above dependent and independent value sets in the application. Note : use the above in Concurrent Program Parameters Tables : Values will be provided from the database table Translated Independent and
6) Translated Dependent are to display translation values
Speed and 8) Pairs are to display flex fields data values
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
65
TABLE value set Defining table type value set Here values will be obtained from the table ( query ) Eg:
User Name should be obtained from the list
The following should be identified 1) Table Name FND_USER 2) Column Name USER_NAME 3) Data Type
VARCHAR2
4) Size
100
5) Application Name Application Object Library 1) Table Name System Administrator User Define
After getting above form Query for all users ( Ctrl + F11 ) ) user down arrow key to move to next user. Place the cursor in the User Name filed go to Help Record History get the Table Name : FND_USER 2) Column Name
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
66
Go to Help Diagnostics Examine Password : apps Get the Column Name : USER_NAME 3) Data Type Application Developer Application Database Table Table Name : FND_USER ( Query for it )
Get the Column Type : VARCHAR2 Width : 100 Application Name : Application Object Library Creation of Table Value Set System Administrator Application Validation Set Value Set Name : CUST_USER_NAMES_TAB List Type : List of Values Format Type : Char
Max Size : 100 ( must be less then or equal to size of the column )
Validation Type : Table
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
67
Select
Edit Information
Table Application : Application Object Library
Table Name : FND_USER
Table Columns Name Value : USER_NAME Where/Order by Select
: USER_NAME LIKE '%USER%'
Test
Save the above and close the form Working with Stored Procedures and Packages Stored Procedure : 1) It is sub a program, which contains set of statements. 2) It is a pre-compiled program at server side. 3) It carries three type of parameters, In, Out , InOut In Parameter to pass the value Out Parameter to return the value InOut Prameter to pass as well as to return the value. 4) It can not return the values directly from the stored procedure. It returns the values through the out parameter or InOut Parameter.
Advantages: 1) We can obtain more performance as it is a precompiled program at server side. 2) Since It will be stored at the server side , it can be shared by multiple clients at time. Developing and Registering with Oracle Application 1 ) Develop the stored procedure Syntax : Create Or Replace Procedure (ErrBuff OUT varchar2, RetCode OUT varchar2, P1
IN NUMBER,
P2
IN VARCHAR2,
P3
IN DATE) AS
Local variables, Cursor, Collections Declare; Begin If statement For Loop Procedure Calling
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
68
Fnd_File API will be used instead of DBMS_OUTPUT.Put_Line FND_FILE.PUT_LINE(Fnd_File.Log ,'Message'||Variable Name); FND_FILE.PUT_LINE(Fnd_File.Output, 'Message'||Variable Name); Exception When Other then -Exception Statements; End [ ]; ErrBuff : to get the runtime error messages into the log file RetCode: To get status of the concurrent program
0 Normal termination 1 Warning 2 Error Eg: Create or replace procedure test_proc( ErrBuff out varchar, RetCode out number) as l_name varchar2(100):='MNRAO'; begin FND_FILE.PUT_LINE(Fnd_File.Log , 'Employye name into the log file'|| l_name ); FND_FILE.PUT_LINE(Fnd_File.Output, 'Employye name into the log file '|| l_name ); end; 1) create executable method as PL/SQL Stored Procedure 2) Create concurrent program as PL/SQL Stored Procedure 3) Out put format must be in text format only for PL/SQL Stored Procedure Repeat the remaining as explained in the previous examples.
Stored Procedure with parameters Create or replace procedure test_param_proc( ErrBuff out varchar, RetCode out number, V_Id IN number, V_Name IN varchar ) as l_id number(2); begin
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
69
select Vendor_Id into l_id from PO_VENDORS where Vendor_ID=V_ID; update PO_VENDORS set Vendor_Name = V_name where Vendor_Id=V_Id; commit; FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor name has been updated successfully '|| V_Name ); exception when NO_DATA_FOUND then FND_FILE.PUT_LINE(Fnd_File. Log, 'Vendor ID does not exits '|| V_Id ); when TOO_MANY_ROWS then FND_FILE.PUT_LINE(Fnd_File. Log, 'Duplicate Vendor Found '|| V_Id ); when OTHERS then FND_FILE.PUT_LINE(Fnd_File. Log, 'Other Errors '); end; 1) create executable method as PL/SQL Stored Procedure 2) Create concurrent program as PL/SQL Stored Procedure Out put format must be in text format only for PL/SQL Stored Procedure Parameters While supplying parameters Token is not necessary, as the parameters will be maintained in sequential order by the stored procedures. Repeat the remaining as explained in the previous examples. Key Flex Fields : KFF: it will be used to Capture the Key information from the User in code language for every code there will be a specific meaning. SEGMENT Columns will be used Capture the KFF Data We can find all the flex field details in Application Developer Responsibility General Ledger Vision Operations ( USA ) Setup Financials Flexfields Key Segments CTRL+F11 for all KFF Down arrow key and select Application : General Ledger
Flexfiled Tiltle : Accounting Flexfield
Create New Flex Filed ( + )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
70
Un Check Freeze Flexfiled Definition Select Period ( - ) Select Segments
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
71
Save the above Place the cursor in the first line COMPANIES Select Flexfiled Qualifier
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
72
COMPANIES : Intercompany Segment ( Check ) BRANCHES : Balancing Segment ( Check ) ACCOUNTS : Natural Account Segment Save the above and close form Check Freeze Flexfield Definition OK Compile OK OK
Creating Values for the above flex fields
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
73
General Ledger Vision Operations ( USA ) Setup Financials Flexfields Key Values
Enter the Structure : LGS_INDIA_KFF Select Find as shown below
FUNCTIONAL MODULES Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
74
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.
Major Features Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
75
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. It is in seven levels.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
76
1) Business Group 2) Set Of Books 3) Legal Entity 4) Operating Unit 5) Inventory Organization 6) Sub Inventory 7) Stock Location
Head Office
Business Group
CCC
CCC
CCC
Set Of Books
Tax1
Tax2
Tax3
Legal Entity
INDIA
HYD
SR Nagar
Rack/bin
BANG
KP
Rack/bin
USA
UK
DELHI
DSNR
Rack/bin
Operating Unit
Inventory Org
Sub Inventory
Stock Location
Business Group The business group represents the highest level in the organization structure, such as the consolidated enterprise, a major division, or an operation company. The business group secures human resources information. For example, when you request a list of employees, you see all employees assigned to the business group of which your organization is a part. Employment will also be created. Eg : Head Office , Regional Level Head Quarter Note: This is true in all applications except the HR applications, which support more granular security by a 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 by M.Nageswar Rao, B.Tech, MBA
77
It is a logical entity. A financial reporting entity that uses a particular chart of accounts, functional currency, and accounting calendar. Oracle General Ledger secures transaction information (such as journal entries and balances) by set of books. When you use Oracle General Ledger, you choose a responsibility that specifies a set of books. You then see information for that set of books only. Legal Entity A legal company for which you prepare fiscal or tax reports and submitted to the government. You assign tax identifiers and other legal entity information to this type of organization. Operating Unit An organization that uses Oracle Cash Management, Order Management and Shipping Execution, Oracle Payables, Oracle Purchasing, and Oracle Receivables. It may be a sales office, a division, or a department. An operating unit is associated with a legal entity. Information is secured by operating unit for these applications. Each user sees information only for their operating unit. To run any of these applications, you choose a responsibility associated with an organization classified as an operating unit. Inventory Organization An organization for which you track inventory transactions and balances, and/or an organization that manufactures or distributes products. Examples include (but are not limited to) manufacturing plants, warehouses, distribution centers, and sales offices. The following applications secure information by inventory organization: Oracle Inventory, Bills of Material, Engineering, Work in Process, Master Scheduling/MRP, Capacity, and Purchasing receiving functions. To run any of these applications, you must choose an organization that has been classified as an inventory organization. Business group at the top of each hierarchy. When you define new organizations, they are automatically assigned to the business group associated with your current session. Each organization is part of a business group. The business group is usually the top box on an enterprise organization chart.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
78
The business group is the largest organization unit you set up in Human Resources to represent your enterprises as an employer. After defining one or more business groups for your enterprise, you set up one or more government reporting entities (GREs) within each business group. The GRE is the organization that federal, state, and local governments recognize as the employer. Below this level, you represent the groupings in which employees work, such as branches, departments, or sections, by means of internal organizations. To enable the assignment of employees to an internal organization, you classify the internal organization as an HR organization. You can define external organizations in the same way as internal organizations, so that you can represent organizations that are not part of your enterprise (such as training vendors or tax offices). The major difference between internal and external organizations is that you cannot assign people to an external organization.
Accounting / Distribution / Materials Management Organization Model Using the accounting, distribution, and materials management functions in Oracle Applications, you define the relationships among inventory organizations, operating units, legal entities, and sets of books to create a multilevel company structure, as shown in Figure
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
79
Multilevel Company Structure Example
Legal Entities Post to a Set of Books Each organization classified as a legal entity identifies a set of books to post accounting transactions. Operating Units Are Part of a Legal Entity Each organization classified as an operating unit is associated with a legal entity. Inventory Organizations are Part of an Operating Unit Each organization classified as an inventory organization references an operating unit. Inventory Organization Determines Items Available to Order Management The Item Validation Organization parameter specifies which Oracle Manufacturing organization is used to validate inventory items. You must define all transactable items in this organization. Some inventory item attributes for Receivables and Order Management, including Tax Code and Sales Account, are specific to an operating unit or an accounting flexfield structure. Therefore, you should define an item validation organization for each operating unit. Inventory Organization Determines Items Available to Purchasing The inventory organization you specify in the financial options for each operating unit determines the items available in Purchasing. You can only choose an inventory organization that uses the same set of books as your operating unit.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
80
C C C : Currency, Calendar, Char Of Accounts ( Set Of Books ) Currency INR, USD, EUR, POUND, RNG Calendar Yearly, Quarterly, Monthly, Weekly Chart Of Accounts Bank account details Calendar Yearly, Quarterly, Monthly, Weekly Eg: Quarterly = 13 weeks ( 91 Days ) Month1 Month2 4 weeks 4 5 4
Month3 5 ( 91 days ) 4 ( 91 days )
Checking for weather the System supports Multi Orgs Concept : SELECT MULTI_ORG_FLAG FROM FND_PRODUCT_GROUPS If MULTI_ORG_FLAG value is Y, then the System supports the Mutli Orgs concept Creation of a Business Group It involves two steps 1) create the location ( address ) 2) create the business group 1) Creation of a Location : Login : Operations Navigation steps : Inventory Vision Operations ( USA ) Setup Organizations Location
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
81
Scope : Global It can be accessed by all levels of organization Name : VIS_CORPORATE ( registration / location name ) Desc : Location of the the company ( as desired ) Inactive date : it is required when the location is not in use Name, Desc and Inactive Date, Address Style, Address, Time Zone will be stored into the table called : HR_LOCATIONS LOCATION_ID is a Key filed select * from HR_LOCATIONS where trunc ( creation_date)= trunc(sysdate) select * from HR_LOCATIONS where LOCATION_CODE=' VIS_CORPORATE ' Address Details ( tab ) : Fill the address as desired Save the Above The above address information will be stored into the table called Shipping Location: location of Raw Material Storage. 2) Creation of a Business Group : Navigation steps : Inventory Vision Operations ( USA ) Setup Organizations Organizations New
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
82
Save the above details and enter the Organization Classification Name as Business Group Select enabled Save the above and select Others for Additional Organization Information. Business Group Info OK Additional Organization Information Pres Tab [ - ] shows the following
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
83
Click on OK OK Do you want to save the changes yes The Business Group information will be stored into the table called : HR_ORGANIZATION_UNITS select * from HR_ORGANIZATION_UNITS where trunc ( creation_date)= trunc(sysdate) select * from HR_ORGANIZATION_UNITS where NAME =’VIS_BG' Here key field is ORGANIZATION_ID Business Group Classification, Others information will be stored into the table called : HR_ORGANIZATION_INFORMATION select * from HR_ORGANIZATION_UNITS where NAME ='VIS_BG' obtain the ORGANIZATION_ID and check the following select * from HR_ORGANIZATION_INFORMATION where ORGANIZATION_ID = 5128 Set Of Books : It is a combination of Currency, Calendar and Chart Of Accounts
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
84
Currency : Depending on the territory it will be changed . Eg : India : INR : United States United States United States
: Indian Rupee
: : :
USD USN USS
: : :
United Kingdom:
GBP
:
: Pound Sterling
Australia
AUD
:
: Australian Dollar
:
$ $ $
: US dollar : US dollar (next day ) : US dollar (same day )
Navigation General Ledger Vision Operations ( USA ) Setup Currencies Define Enter the Issuing Territory and Query for currency details
Currency Information will be stored into the table called : FND_CURRENCIES select * from FND_CURRENCIES where trunc(creation_date) = trunc(sysdate) it shows 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 : #
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
85
Calendar :
It defines the financial year calendar
Navigation : General Ledger Vision Operations ( USA ) Setup Financial Accounting Calendar Types Shows the types of Calendars
Calendar Type Information will be stored into the table called : GL_PERIOD_TYPES Standard Calendar : Navigation : General Ledger Vision Operations ( USA ) Setup Financial Calendar Accounting Query it ( Ctrl + F11 ) use arrow key
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
86
Indian Calendar information will be stored into the table called : GL_PERIODS Calendar is different type : Yearly : Month1
LG_US_INV_1005 LG_IND_PO_1003 LG_UK_AP_1008 The information is to stored in the Key cols of the table Navigation steps to create the key flex fields for the above data. System Administrator Application Flex Fields Key Flex Segments Application : General Ledger
( query with this ) ( as it is a creation of Chart Of Accounts )
Flex Field Title : Accounting Flexfield ( Note : for Currency, Calendar and Chart Of Accounts , the application name is : General Ledger ) Go to Code column place the cursor any where and select New(
+)
for the New filed
Eg: Code : TEST_27_APR_ACFF Title : TEST_27_APR_ACFF ( auto ) Desc : TEST_27_APR_ACFF ( as desired ) Segment Separator : Period ( . )
( as desired )
Select Segments
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
88
After entering the above information save it The above flex fields information will be stored into the table called : FND_ID_FLEX_SEGMENTS_VL Deselect
Freeze Flexfield Definition OK Save ( compiling ) OK OK
Select Company Felxfiled Qualifier Intercompany Segment ( enable ) save it Country Felxfiled Qualifier Cost Center Segment ( enable ) Dept Felxfiled Qualifier Balancing Segment ( enable ) Account Felxfiled Qualifier Natural Account Segment ( enable )
Freeze Flexfield Definition OK compile OK OK Select
on compilation it will be submitted for flex filed generation ( Name of the Request : Flexfield View Generator ) Creation of Set Of Books : Navigation : General Ledger, Vision Operations ( USA ) Setup financials Books Define Query for the existing one ( Ctrl + F11 and down arrow key )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
89
Set of Books : Vision Operations (USA) Copy the following into some notepad ) Chart of Accounts : Operations Accounting Flex Retained Earnings : 01-000-3310-0000-000 Translation Adjustment : 01-000-3500-0000-000
Create new set books from the above
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
90
Set of Books : Test_29_Apr_SOB Short Name : Test_29_Apr_SOB ( same or any one ) Desc : as desired Chart of Accounts : Operations Accounting Flex ( from the above copied one ) Functional Currency : USD Calendar Name : Accounting future period : 1 ( auto ) Period Type : Month ( auto ) Retained Earnings : 01-000-3310-0000-000 ( copy the previously taken into notepad ) Translation Adjustment : 01-000-3500-0000-000 ( copy the previously taken into notepad ) Company Department Account Sub Account Product
: 01 : 000 : 3310 : 0000 : 000
Paste the above one by one from the above Retained Earnings :
0100033100000000 Company- Department- Account- Sub Account- Product
Select OK
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
91
Similarly Translation Adjustment Translation Adjustment : 01-000-3500-0000-000 Paste into respective fields as above Select OK Note : The above set of books information will be stored into the table called GL_SETS_OF_BOOKS_ select * from GL_SETS_OF_BOOKS where trunc(creation_date)=trunc(sysdate) Legal Entity : create the organization Navigation : Inventory Vision Operations ( USA ) Setup Organizations Organizations New Name : Test_29_APR_LE Location : REG10_SRNAGAR ( select from existing Ctrl + F11 ) Save the above Organization Classification : Name : GRE / Legal Entity
select Enabled
Save the above Select Others ( link between Set Of Books and Legal Entity ) Select : Legal entity accounting Press Tab Set of Books : Test_29_Apr_SOB ( supply the above created set of books ) OK OK Yes or save Note : The above information will be stored into the table called : HR_ORGANIZATION_UNITS select * from HR_ORGANIZATION_UNITS where trunc(creation_date)=trunc(sysdate) Operating Unit : Creating Operating Unit Create the organization of Organization Classification as Operating Unit Navigation Inventory Vision Operations ( USA ) Setup Organizations Organizations New Name : Test_29_APR_OU Location : VIS_CORPORATE ( select from existing Ctrl + F11 ) Save the above Organization Classification : Name : Operating Unit Save the above Select Others
select Enabled
( link between Set Of Books, Legal Entity
and operating unit )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
92
Select : Operating Unit Information Press Tab Set of Books : Test_29_Apr_SOB ( supply the above created set of books ) OK and save Legal Entity : Test_29_APR_LE Set Of Books : Test_29_Apr_SOB ( auto ) Click on OK and Save it ( Yes ) Inventory Organization : It is a place where actual business transactions takes place ( called as transaction point ) Inventories can be classified into two 1) Master Inventory 2) Child Inventory Master Inventory : It defines the total products. It is a logical one Child Inventory : It defines the particular products ( quantity and type ). It is a physical one Eg : SONY HYD
IND MUMB
PUNE
USA NY WSH
UK LOND
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 models here total 100 Models is a Master Inventory and 50, 70, 100, 90, 20 are Child Inventory First step We have to identify the Master and Child based on Company Name. ( SONY, LOGTECH, LG, SAMSUNG ) How to Identify the Master and Child based on Company Name. ORG_ORGANIZATION_DEFINITIONS and MTL_PARAMETERS The tables provides, Multi Organizations information. ORG_ORGANIZATION_DEFINITIONS table provides All High Level information such as Business Group, Set Of Books, Legal Entity, Operating Unit MTL_PARAMETERS table provides actual inventory information such as INV OrG
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
93
For example Name of the business group : Vision Corporation Back End Process Step1 : select * from HRFV_BUSINESS_GROUPS where BUSINESS_GROUP_NAME = 'Vision Corporation' Get the BUSINESS_GROUP_ID ( or ) BUSINESS_GROUP_ID = 202 Step2 : select * from ORG_ORGANIZATION_DEFINITIONS where BUSINESS_GROUP_ID =202 Get the ORGANIZATION_CODE form the above ( select any one as desired eg; M1 ) ORGANIZATION_CODE = M1 Step 3: select * from MTL_PARAMETERS where ORGANIZATION_CODE = 'M1' get the MASTER_ORGANIZATION_ID from the above result MASTER_ORGANIZATION_ID = 204 Step4 : select * from ORG_ORGANIZATION_DEFINITIONS where ORGANIZATION_ID = 204
Sub Inventory : INV
Raw Material
Row-Rack-Bin
Finished Goods
Semi Finished Goods
Damaged Goods
Sub-INV
Stock Location
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
94
Creation of Sub Inventory : Navigation Inventory Vision Operations ( USA ) Setup Organizations Sub Inventories M1 ( Inv Org Name )
Name : VIS_SINV ( allows only 9 chars ) ( Name as desired ) ( Copy this name into note pad ) Desc : as desired Status : Active Locator Control : Dynamic Entity Type : Storage The above sub inventory information is available in table called : MTL_SECONDARY_INVENTORIES select * from MTL_SECONDARY_INVENTORIES where trunc(creation_date) = trunc(sysdate) Create the Storage Location : Eg : Row Rack Bin 1 - A - 2 2 - A - 1 1 - B - 4 2 - A - 3 1) Create the Flex fields for the above 2) Create the Stock Location
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
95
1) Create the Flex fields for the above requirement Navigation System Administrator Application Flex Fields Key Segments
Application : Inventory Un Freeze FlexField Definition
FlexField Title : Stock Locators ( use down arrow key to get ) OK
Period ( . )
Select Segments
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
96
In the Required only Row, Rack and Bin. Hence disable the ( Displayed and Enabled for remaining ) Make Value set as empty for Row, Rack, Bin To set the fields as mandatory select the field and open Eg : Row and Rack as Mandatory Select Row and Open , check the Required Save the above and freez the FlexField Definition, OK compile OK OK Copy the Flex Field Title (Stock Locators ) into note pad (Stock Locators) : it is a mapping to Stock locator
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
97
2) Create the Stock Location Select locator Row : Inventory Vision Operations ( USA ) Setup Organizations Stock Locators M1 ( Inv Org Name )
Select New Locator ( Click here ) : Row :1
Rack : A
Bin: 1
Locator : 1.A.1 Status : Active Save and Close Status : Active Subinventory : VIS_SIN
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
98
Again go to Sub inventory ( query for VIS_SINV )
Select locators ( 1.A.1 ) Locator Information will be stored into the table called : MTL_ITEM_LOCATIONS
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
99
Inventory : Dell Computers 1) Inventory Module : INV Purchase AP CM GL called as P-2-P cycle 2) Manufacturing : BOM WIP Quality 3) Sales : Customer AR OM Shipping Receiving CM GL called as O-2-C O-2-C : Order – TO – Cash Inventory Module : Product is called as ITEM in Oracle Applications ITEMS
DIRECT ITEMS
INDIRECT ITEMS
Direct Items : It is main product . It will impact on the business Eg : Computer Indirect Items : Stationary Items. It is a secondary. It will not impact on the business. It is called as Expensive Item ( Technical Term ) Eg: White Papers, Pens and etc Direct Items are : 1) Purchased Items 2) Sub Assembly Items 3) Manufacturing Items 4) finished Goods 5) Sales Items 6) Service Items
Master
Manufacturing Center
Raw Material
Distribution Center
Finished Goods
Finished Goods
All the tables of inventory starts with MTL ( Materials )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
100
Creating of an Item Navigation Inventory Vision Operations ( USA ) Item Master Items V1 ( Vision Operations ) The following form contains 16 tabs such as Main, Inventory and etc. If it is manually user have to fill the all 16 tabs.
To enter all the above fields tame taken. Templates are provided to reduce the time of work.
Pre requisite to create an Item : 1) INV Organization setup 2) UOM ( Unit Of Measure ) setup 3) Templates setup In the above 1st and 2nd are mandatory where as 3rd one is an optional 1) Creation of INV Organization setup has already been discussed. It is a Multi Orgs concept. Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
101
Creation of UOM ( Unit Of Measure ): Navigation : Inventory Vision Operations ( USA ) Setup Unit Of Measure Unit Of Measure
Click in name column and select new for new unit of measure. And enter as shown above (Yellow Colour) Save and go to conversions Unit : VIS_DOZ
Class : Quantity ( auto )
Conversion : 14 ( as desired ) Basic unit : Each ( auto )
All Unit Of Measure information will be stored into the table called : MTL_UNITS_OF_MEASURE select * from MTL_UNITS_OF_MEASURE where trunc(creation_date) = trunc(sysdate) Template : It is a group of attributes. Used to create template. Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
102
Setup of the template : Navigation : Setup Items Templates Template : click to check existing New to create New Template Template : Desc : Show : All groups / Main / Inventory / Bill of Materials and etc We can use the already existing : eg : Purchased Item. Creating an Item : It involves two steps : 1) Create the Master 2) Assign to Child Step1 : Creation of Master : It can be created in two ways 1) template basis 2) Items basis Navigation : Inventory Vision Operations ( USA ) Items Master Item M1 Template basis
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
103
In the above Master Item form enter only Item and description Tools Copy From : Template : Purchased Item ( template basis ) Apply and Done Unit of Measure : Primary : Each Display Attributes : Master
Org
All
Select the master and observe, some fields will be disabled colour, those fields can not be entered in the master level Similarly select Org, some fields will be disabled colour, those fields can not be entered in the Org level All all fields are allowed to enter data Save the above The above all items information will stored in the table called : MTL_SYSTEM_ITEMS_B Step2 : Assign the item Child After save the Master go to Tools Organization Assignment
In the above go to Assigned select V1 ( auto ), M1, M2 Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
104
Here Assign All is not recommended in the real time. Child items information will be stored into the table called : MTL_SYSTEM_ITEMS_B select * from MTL_SYSTEM_ITEMS_B where trunc(creation_date) = trunc(sysdate) Item names will be stored into the Segment1. Reason is that, Item name is a Key information. Creation of 2nd Item ( Printer ) Item Basis : Repeat the above and select item basis Enter item : VIS_Printer, Desc : Printer Tools Copy From Select Item as shown below ( take the already entered item : previous VIS_Monitor )
Apply Done All the properties of REG10_ Monitor Item will be inherited to REG10_Printer ( such as V1. M1, M2 .. ) Save the above Assign to Child Compiled and Developed by 105 M.Nageswar Rao, B.Tech, MBA
Tools Organization Assignment ( if not saved it will be disabled ) Select V1, M1, M2 and save it . Create item for Mother Board Create master VIS_MotherBoard ( Template Basis or Item basis ) and save it Assign to Child and save it ------------------Create Item for HDD : Create master VIS_HDD ( Template Basis or Item basis ) and save it Assign to Child and save it ------------------Create Item for CD Drive : Create master VIS_CDDrive ( Template Basis or Item basis ) and save it Assign to Child and save it -------------------Create Item for CPU : ( Mother Board, HDD. CDDrive are part of CPU ) Mother Board, HDD. CDDrive are part of CPU are purchasing from the outside and assembling CPU in the organization. Hence CPU is a manufacturing Item. It comes under sub assembly. Select template as subassembly save it and Assign to Child ( V1, M1. M2 ) and save it. ----------Create Item for Dell Computer Dell Computer is a Finished Goods. It comes under Finished Goods. Select template as Finished Good save it and Assign to Child ( V1, M1. M2 ) and save it.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
106
Categorizing the items : Eg : CROMA is a distribution Center for different products such as Computer, Mobiles, HDD, IPOD Distribution Center
Distribution Stores
Computer
Mobiles
HDD
IPOD
-->Category Set
--------------------------------------------------------------------------------------------------------------------------- Category Code HCL IBM LEN SONY DELL
---------------------------------------------------------------------In real applications 1st create Category Code , 2nd create Category set and then assign to Item. Creation of Category Code : It is Key flex filed. Storing in two fields called : COUNTRY - COMPANY IND – HCL IND – DELL Category Set Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
107
IND – LENOVE Eg : VIS_CAT_CODE Navigation : System Administrator Application Flex Fileds Key Segments Application : Inventory ( Query ) FlexFileds Title : Item Categories ( Down Arrow Key )
Go to Code Column and create New Code : VIS_CAT_CODE Title : VIS_CAT_CODE Segment Separator : Pipe (| ) Select Segments Num Name 1 COUNTRY 2 COMPANY
Desc :
Column SEGMENT1 SEGMENT2
Save and select Freeze FelxField Definition OK Compile OK OK
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
108
Entering values into flex fields : Navigation : Inventory Vision Operations ( USA ) Setup Items Categories Category Codes New
The above information will be stored into the tables called : MTL_CATEGORIES and MTL_CATEGORIES_KFV Creation of Category Sets and Mapping with Category Code: Navigation : Inventory Vision Operations ( USA ) Setup Items Categories Category Sets M1
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
109
Assigning item to Category Navigation : Inventory Vision Operations ( USA ) Items Master Item Item : Query for ( VIS_Monitor : which was created earlier ) Tools Categories
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
110
Category Set : VIS_CAT_SET Control Level : master ( auto ) Category : IND|HCL Save it . all the above information will stored into the table called : MTL_ITEM_CATEGORIES Item Cost : In Oracle the cost is called Material Cost Transportation Cost Material Over Head Cost Labor Cost is called as Resource Cost Item Cost = (Material Cost + Material Over Head Cost + Resource Cost ) Inventory Vision Operations ( USA ) Items Master Items (or ) Inventory Vision Operations ( USA ) Items Organization Items Master Item form contains 16 Tabs : one of the tab is Costing tab Under the Costing tab the following details Costing Enabled Inventory Asset Value Include In Rollup If the all the above are checked, then it will be available for costing
Costing is at the organization level Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
111
Item Cost is only for Purchased Item not for Manufacturing and Sales Items Login to the organization level for Costing an Item Inventory Vision Operations ( USA ) Costs Item Costs Item : Click here and Query for the Item, It shows all Costing items. If the following are disabled at time of Items creation, then it will not shows in the list Costing Enabled Inventory Asset Value Include In Rollup For checking go to Inventory Vision Operations ( USA ) Items Organization Items Item : VIS_FDD And go to Costing Tab, uncheck the above three and save, then check for the Cost using Inventory Vision Operations ( USA ) Costs Item Costs M1 Costing an item : 1) Eg : VIS_CDDrive Item : VIS_CDDrive Cost Type : Frozen ( 4 Types of costing 1) Frozen 2) LIFO 3) FIFO 4) AVG Select Find Select Open Make/Buy : Buy ( Buy : purchased Items, Make : Manufactured Item ) Select Cost Cost Element Sub Element Basis Amount Material Material Item 250 Material Over Head 2) VIS_HDD Repeat the above steps Costing Types information is available in the table called : CST_COST_TYPES Unit Costing information is available in the table called : CST_ITEM_COSTS
Material Transaction Cost : Items :
1) Receivings When received from the Suppliers, the Godown on hand stock will be increased 2) Issues When Issued to the Customers, the Godown on hand stock will be decreased
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
112
Transactions are of three types 1) Buying 2) Selling 3) Manufacturing Buying is a Receiving transaction. In oracle terminology it is called as MISC Receipt Selling is Issue transaction. In oracle terminology it is called as MISC ISSUES
Pre-requisite to create a transaction 1) Inventory Vision Operations ( USA ) Items Master Items Inventory ( tab ) If Transactable flag is enabled then item comes under transactable and it can received / issued . 2) Period of transaction should be open
Checking for transactable flag Inventory Vision Operations ( USA ) Items Master Items Inventory ( tab ) as shown below
2) Set Of Books Period of transaction should be open SELECT * FROM ORG_ORGANIZATION_DEFINITIONS WHERE ORGANIZATION_CODE='M1'
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
113
Take the SET_OF_BOOKS_ID value = 1 select * from GL_SETS_OF_BOOKS where SET_OF_BOOKS_ID=1 take either of the follwing SHORT_NAME :Vision Operations NAME : Vision Operations (USA)
Go to Inventory Vision Operations ( USA ) Setup Financials Books Query for the any one of the following SHORT_NAME :Vision Operations NAME : Vision Operations (USA)
Get the Calendar Name = Accounting ( copy into note pad ) Get the period Go to Inventory Vision Operations ( USA ) Setup Financials Accounting Calendar Accounting
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
114
Get the name : Eg : Jan-09, feb-09, mar-09 Check Period Status is Open or Not Inventory Vision Operations ( USA ) Accounting Close Cycle Inventory Accounting Period
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
115
Creation of a Transaction : Inventory Vision Operations ( USA ) Transactions Miscellaneous Transactions ( M1 )
Select Transaction Lines Item Name : VIS_Monitor Sub Inventory : Stores Account : 01-580-7740-0000-000 (Miscellaenous )
UOM : Ea
Quantity : 10
All the transaction type information is available in the table : MTL_TRANSACTION_TYPES select * from MTL_TRANSACTION_TYPES Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
116
WHERE TRUNC(CREATION_DATE)=TRUNC(SYSDATE) Transaction information is available in the table : MTL_MATERIAL_TRANSACTIONS select * from MTL_MATERIAL_TRANSACTIONS WHERE TRUNC(CREATION_DATE)=TRUNC(SYSDATE) Checking for on hand quantity Inventory Vision Operations ( USA ) On-hand, Availability On-hand Quantity On hand Quantity = ( Total Quantity – Reservable Quantity )
Checking for Material transaction : Inventory Vision Operations ( USA ) Transactions Material Transactions it check between date as shown below
Select Find
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
117
Steps in the purchasing of Goods (Purchase Order ) 1) Requisition 2) RFQ 3) Quotations 4) PO 5) Receipts
Updating Banks
The documents, which are related to above will be prepared by the clients. 1) Requisition a) Internal Requisition It will be placed between branches ( transfer of Goods from Inventory to another Inventory of the Company (or) on Godown to another Godown ) b) Purchase It process of purchasing from the out side. It can be from approved supplier or from the local suppliers . If goods are not available at approved supplier, then it will be purchased from local suppliers . if purchase form the local suppliers, then buyer should purchase the goods with in the cost of certain limit. If cost is more than the certain limit , the it should be approved by the Top Management .
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
118
Purchase form Approved Suppliers If the purchase from Approved Supplier then, then it involves the following steps. 2) RFQ 3) Quotations 4) PO 5) Receipts
1) AP Interface 2) Inventory Interface
RFQ ( Request for quotation ) Quotations call for to different suppliers in market. It is through the advertisement. Quotation : Quotations will be received from suppliers such IBM, TVS, WIPRO, ACEL Quotations from the suppliers will be received through E-Mail, FAX, Courier, of by Hand On receiving quotations. These will be analyzed by the purchasing committee. ( quotation analysis ). The purchasing committee will decide the supplier. Once quotation has been approved, the supplier will be an approved supplier of that company. The approved supplied has to supply the goods through out the year as per the requirement. Once quotation has been Approved, the confirmation document will be sent supplier. Confirmation document consists of terms and conditions such Price, quality of the goods, payment terms,
Purchase Order : The Order requisition will be placed by the concerned person ( Stores Manager ) Quotation is only once and it is valid for one year. Order can be placed at any time in the year with out any prior intimation to the supplier . Supplying the Material : Supplier supplies the material as per the quality sample mentioned in the quotation. If not meet the quality, then goods will be treated as inferior quality and it will be rejected. Once goods have been received, the stores manger will issue the receipt of the goods. Requisition Types 1) Benefits of 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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
119
generate a number of errors, waste time, and lose money. Some of the many problems you may incur with paper requisitions include: • The requestor may not fill in the requisition completely or accurately. • The 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.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
120
Internal Requisitions Unlike purchase requisitions, which are supplied from purchase orders, internal requisitions are supplied from internal sales orders. Internal requisitions are not picked up when you AutoCreate RFQs or purchase orders, nor can they be assigned to a buyer in the Assign Requisitions window. Requisition Templates Use the Requisition Templates window to define requisition templates for items you purchase frequently. For example, if you frequently buy certain office supplies, you can set up an office supplies template for your requestors. This template consists of a list of all items, prices, and sourcing information you want available to the requestor. When you want to order items from this template, use the Supplier Item Catalog, choose the office supplies template, and indicate the quantity you want to order. Purchasing supplies default sourcing and delivery information. Imported Requisitions Purchasing lets you import or reschedule requisitions from other Oracle or 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 enabled 2) Supplier Should in Active State 3) User Must be Employee of the company and Must be a buyer Types of Purchase 1) Standard Purchase One time purchase 2) Blanket Purchase Deal with Amount 3) Contract Purchase Purchase for some period ( contract may be for one year or five years etc..) 4) Planned Purchase Purchase plan is base past history Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
121
Checking for Purchased and purchasable flag must be enabled 1) Items Purchasing Purchased and purchasable flag must be enabled Inventory Vision Operations ( USA ) Items Master Items Purchasing ( Tab )
Purchased and Purchasable flags must be enabled as shown below.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
122
User Must be Employee of the company and Must be a buyer System Administrator Security User Define
Person : Stock, Ms.Pat ( employee )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
123
Creation of Employee : Human Resources, Vision Enterprises People Enter and Maintain Select New
Gender : Male Action : Create Employement Last : MNRAO Person Type for Action : Buyer Save the above information and select Address Address Style : India Address Details : as desired Type : Date From
Primary ( enable )
Save the above Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
124
Select Picture for Photo of the Employee Save the above Select Assignments : Organization : Vision Corporation Job : MM100_Manager Grade : 500.2.west Location : HR – Newark Status : Active Assignment Assignment Number : 1315 ( will be generated automatically ) Save the above Employee Master information will be stored into the table : PER_ALL_PEOPLE_F Job information will be stored into the table: PER_JOBS Address information will be stored into the table : PER_ADDRESSES Assignments information will be stored into the table : PER_ASSIGNMENTS Note : Employee will be assign to user with the help of fullname Suppliers : Supplier Master Information : Supplier
Address1
Contact Person1
Address2
Contact Person2
Supplier
Address3
Sites
Contact Points
1) Supplier Global information 2) Sites Specific to Operating Unit 3) Contact Points Specific to site Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
125
Creation of a Supplier : Navigation Purchasing Vision Operations (USA ) Supplier Base Supplier
Supplier Name : VIS_SUPP Headers / Master infromation Alt Name : VIS_SUPP ( as desired ) General ( Tab ) Classification ( tab ) Type : Government Control ( tab ) Invoice Match Options : Purchase Order Payment ( tab ) Terms : 45 Net Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
126
Purchasing ( tab ) Ship To Location: M1- Seattle Bill To Location: V1- New York City Save the above Select Sites ( to enter address )
Site Name : VIS_PURCHASE Country : India Address : as desired ------------------City : Hyderabad General ( tab) Pay ( Disable/Un Checked)
Alternate Name : Inactive unchek
State : A.P
Postal Code : 500072
Purchasing ( Checked/enable )
Communication Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
127
Code Number Voice : 040 6656321 Fax : 040 6656321 Contacts ( tab ) Last Name: MNRAO Save the above For the Address2 ( OFFICE ) place the cursor at Site Name and select New and repeat the above steps Address2 ( OFFICE ) Site Name : VIS_OFFICE Country : India Address : as desired ------------------City : Hyderabad
Alternate Name : Inactive unchek
State : A.P
Postal Code : 500072
General ( tab) Pay (Checked/enable) Purchasing (Disable/Un Checked ) On creation of supplier, Supplier Number will generated automatically Supplier Master information will be stored in a table called : PO_VENDORS ( Master table ) Primary Key VENDOR_ID select * from PO_VENDORS where trunc(creation_date)=trunc(sysdate) Sites information will be Stored in table called : PO_VENDOR_SITES_ALL VENDOR_ID is the foreign key between PO_VENDORS and PO_VENDOR_SITES_ALL select * from PO_VENDOR_SITES_ALL where trunc(creation_date)=trunc(sysdate) Contacts information will be stored in a table called : PO_VENDOR_CONTACTS select * from PO_VENDOR_CONTACTS where trunc(creation_date)=trunc(sysdate) Purchasing : For the purchase Demand Sheet (or) REQ Sheet will be prepared by sales dept / Manufacturing Dept / Inventory Dept / Planning Dept / etc….. It Involves Following Personnel
1) Requestor Employee, who is requesting the goods ( stores manger ) 2) Preparer who is preparing the purchase document ( clerk ) 3) Buyer who is going to buy a product ( Asst. Manager, Stores ) Demand Sheet contains : Name of the Item: Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
128
Quantity : Need By : The employee, who need the item called as Requestor. The above demand sheet will be forwarded to Requisition Dept, where demand sheet will be converted into Requisition .Requisition is of two types 1) Internal called Internal Requisition ( IR ) 2) Suppliers called Purchase Requisition ( PR ) Requisition : Purchasing Vision Operations (USA ) Requisitions Requisitions
Number : Desc :
Type : Purchase Requisition Status : Incomplete
Preparer : Stock, Ms. Pat
Lines ( tab ) Sno Type 1 Goods
Item Category Description Hyd CD Drive MISC.MISC
Destination Type : Inventory Requester : Stock, Ms. Pat Organization : Seattle Manufacturing Location : M1- Seattle Subinventory : Stores
Note : Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
129
If Source is Supplier , then Type is : Purchase Requisition If Source is Inventory, then Type is : Internal Requisition Save the above : Once saved the Requisition Number will be generated Automatically (5632, 5633 ) these copy into notepad for the following transaction Select Distributions for Account, Total No.of items will be distributed to multiple accounts or some times Single account.
Headers information will be stored into the table : PO_REQUISITION_HEADERS_ALL select *from PO_REQUISITION_HEADERS_ALL where trunc ( creation_date) = trunc(sysdate) Lines information will be stored into the table called : PO_REQUISITION_LINES_ALL select *from PO_REQUISITION_LINES_ALL where trunc ( creation_date) = trunc(sysdate) Distributions (Accounting)information will be stored into the table : PO_REQ_DISTRIBUTIONS_ALL select *from PO_REQ_DISTRIBUTIONS_ALL where trunc ( creation_date) = trunc(sysdate) Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
130
Copy the Requisition Number ( 5634 ) into note pad the tables ends with ALL means Multi Arg tables provides business group information. With out ALL means Multi Arg views, provides only specific Organization information ( O.U ) Setting Organization Id to View First get Organization from the Requisition form Help Diagnostics Examine
Block : $PROFILES$ Field : ORG_ID Value : 204 ( this value will be populated automatically ) Go to TOAD and execute the following package BEGIN FND_CLIENT_INFO.SET_ORG_CONTEXT ( '204'); END; Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
131
Procedure success fully completed FND_CLIENT_INFO Is a name of the package SET_CURRENCY_CONTEXT name of the procedure Approval of the Requisition Purchasing Vision Operations (USA ) Requisitions Requisitions Query Number : 5634 Select Approve to get approval of the request Check the Submit for Approval OK Once approved data will not be available for Requisition form. It will be converted into Purchase Order. To check the requisition : Purchasing Vision Operations (USA ) Requisitions Requisition Summary
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
132
In the above enter the Requisition Number : 5632 ( which was generated earlier ) And Select Find(B)
The above Total purchase value in a particular request ( eg Number : 5634 ) Select lines and distributions to see the more details To find the Request Approver and Request Submitter In the above after Find(B) Go to Tools View Action History
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
133
The above RFQ will be sent to Suppliers. Supplier will prepare the Quotation and will send the same to the purchase Dept. Purchase dept analyze quotations and convert the RFQ into the Purchase Order. There are 4 types of purchase orders 1) Standard Purchase One time purchase 2) Blanket Purchase Deal with Amount 3) Contract Purchase Purchase for some period ( contract may be for one year or five years etc..) 4) Planned Purchase Purchase plan is base past history Conversion from Requisition to Purchase Order Purchasing Vision Operations (USA ) Auto Create
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
134
Select Clear in the above form and clear the form Enter the Requisition : 5632 Select Find
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
135
Check as shown above ( Check box at Requisition ( beginning ) ) Select Manual / Automatic If it is manual we have to create the purchase document If it is automatic System will generate the do purchase document automatically For Manual Select Manual Supplier : VIS_SUPP Supplier Site : VIS_PURCHASE Select Create ( Place the cursor at Requisition ) Add To Document Create
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
136
Close the above It generates the Purchase Order as Shown below.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
137
Fro multiple shipments select Shipments
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
138
For Multiple Distributions select Distributions Finally Approve for the approval Submit for Approval OK
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
139
It shows status as Approved IMP Note : Requisition Details 1) Headers 2) Line 3) Distributions Here a header can have multiple lines A line can have multiple distributions RFQ Details will be stored into the following tables Headers PO_REQUISITION_HEADERS_ALL Lines PO_REQUISITION_LINES_ALL Distributions PO_REQ_DISTRIBUTIONS_ALL Purchase Order Details : 1) Headers 2) Lines 3) Shipments Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
140
4) Distribution A header can have multiple lines A line can have multiple Shipments A shipment can have Multiple Distribution Purchase order Details will be stored into the following table Headers PO_HEADERS_ALL select *from PO_HEADERS_ALL where trunc ( creation_date) = trunc(sysdate) Lines PO_LINES_ALL select *from PO_LINES_ALL where trunc ( creation_date) = trunc(sysdate) Shipments PO_LINE_LOCATIONS_ALL select *from PO_LINE_LOCATIONS_ALL where trunc ( creation_date) = trunc(sysdate) Distributions ( A/C ) PO_DISTRIBUTIONS_ALL select *from PO_DISTRIBUTIONS_ALL where trunc ( creation_date) = trunc(sysdate) Click on lines Shipments Distributions and go to More tab it shows the requisition number ( way to identify the requisition number from purchase order) Requisition Line1 Purchase Order1 Line2 Purchase Order2 Line3 Purchase Prder3 Purchase Order can also be created with out RFQ. Demand sheet can directly be converted into Purchase order. Purchase Order Types Summary Standard Purchase Order
Planned Purchase Order
Blanket Purchase Agreement
Contract Purchase Agreement
One Time
Multiple Times
Multiple Times
Multiple Times
Terms and Conditions Known
Yes
Yes
Yes
Yes
Goods or Services Known
Yes
Yes
Yes
No
Pricing Known
Yes
Yes
May be
No
Quantity Known
Yes
Yes
No
No
Account Distributions Known
Yes
Yes
No
No
Delivery Schedule Known
Yes
May be
No
No
Can Be Encumbered
Yes
Yes
No
No
Can Encumber Releases
N/A
Yes
Yes
N/A
No.of Times Purchase
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
141
Creation of Standard purchase order. Navigation : Purchasing Vision Operations ( USA ) Purchase Orders Purchase Orders Type : Standard Purchase Order Supplier : VIS_SUPP Site : VIS_PURCHASE Contact : MNRAO ( auto ) Ship to : M1- Seattle ( auto ) Bill To : Seattle Maintenance Buyer : Stock, Ms. Pat Lines : Num 1
Types Goods
Item Hyd CD Drive
Category Desc MISC.MISC as desired
UOM Quantity Each 20
Price 1275
Promised Need By 05-JUN-2011 00:00:00 06-JUL-2011 00:00:00 Note : Need By Date must be greater than the Promised Date. Enter the above details as shown in the below form.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
142
Select Shipments It can be single shipments or Multiple Shipments Select Distributions It can be single Distribution or Multiple Distribution Save the above ( take Purchase order No (4422 ) into note pad before approval ) Select Approve and check the Submission for Approval OK Creating Blanket Purchase Order : Type : Blanket Purchase Agreement Supplier : REG10_SUPP Site : PUR_SRNAGAR Contact : EMP_NAME ( auto ) Ship to : M1- Seattle ( auto ) Bill To : Seattle Maintenance Buyer : Stock, Ms. Pat Amount Agreed : 10,000.00 ( it is not known in standard purchase ) Lines : Num 1
Types Goods
Item Hyd Printer
Category Desc UOM Quantity MISC.MISC as desired Each ( Disabled ) Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Price 250 143
Blanket will not have these Two dates Promised and Need By Date Enter the above details as shown in the below form.
Blanket Purchase will not have the Shipments and Distributions Standard Purchase will not have Price Breaks ( Discounts ) Select Price Breaks for Discounts enter details as shown below ( as desired )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
144
Save the above ( take Purchase order No (4423 ) into note pad before approval ) Select Approve and Check the Submit for Approval OK Status Converts into Approved Note : In the case of conversion form RFQ to Purchase order, once converted from RFQ to Purchase, then RFQ details will not be available Conversion of Blanket Purchase to Release Order: Only blanket purchase convert into the release order Navigation : Purchasing Vision Operations ( USA ) Purchase Orders Releases PO, Rev : 4423 ( Purchase Order Number : enter this only remaining automatically populated ) Shipments ( tab ) Num Line 1 1
Org M1
Ship To M1- Seattle
Quantity 5
Promised 31-MAY-2011 00:00:00
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Need By 30-MAY-2011 00:00:00
145
Select Agreement for terms and Conditions Select Approved to Approve the release The following are the steps before converting Purchase to Release REQ
( Demand Sheet)
RFQ
( Requisition )
Quotations ( from Supplier ) Purchase Order ( to suppliers ) After finishing above steps Receiving the Goods ( Items ) Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
146
Creation of Receiving : Pre-requisite for receiving : 1) Purchase Status should be Open ( Approved ) 2) Calendar Period Should Open for ( INV, GL and PO ) Checking for Purchase Status : Purchasing Vision Operations ( USA ) Purchase Orders Enter the Purchase Order No : 4422 ( was created in the previous step : Standard purchase ) Shipments Status Tab Received : should be less than the ordered
2) Checking for Calendar period open for ( INV, GL, PO ) From the following get the get Ship-to : (M1- Seattle)
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
147
Go to Back end select * from HR_LOCATIONS where LOCATION_CODE = 'M1- Seattle'
get the INVENTORY_ORGANIZATION_ID value : 207 Both are same. select * from ORG_ORGANIZATION_DEFINITIONS WHERE ORGANIZATION_ID=207 get ORGANIZATION_CODE = M1 and ORGANIZATION_NAME = Seattle Manufacturing get the SET_OF_BOOKS_ID = 1 select * from GL_SETS_OF_BOOKS where SET_OF_BOOKS_ID=1; get Name : Vision Operations (USA) SHORT_NAME : Vision Operations go to Books and get the type of calendar Navigation : Inventory Vision Operations (USA) Setup Financial Books Define Query for the Short Name : Vision Operations
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
148
Get the Calendar Name : Accounting as shown below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
149
Go to Calendar and check for status of period open or not Inventory Vision Operations (USA) Setup Financial Calendar Accounting Query for the Calendar : Accounting as shown below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
150
Shows the following
In the above if period is not available then create new period by using new ( green Colour ) Prefix May
Type Month
Year 2011
Quarter Num ( Month ) From To 2 5 01-MAY-2011 31-MAY-2011 Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Name May-11 151
Name will be generated automatically Name : Prefix ( May) – last two Digits of the Year (11) Save the above Accounting Calendar Now Check for period is open or not Checking for INV Login into inventory Inventory Vision Operations ( USA ) Accounting Close Cycle Inventory Accounting Periods M1
Go to Change Status to Open
( May -11
5
2100
)
Checking for ( PO and GL ) Login into Purchase Purchase Vision Operations ( USA ) ( Ctrl + L ) it will open all the forms Find : %period% Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
152
Select Find
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
153
In the above : Control Purchasing Periods is for PO Open and Close Periods is for GL Select Control Purchasing Periods for PO Make the Status as Open for the period May – 11 as shown below and save it
Again ( Ctrl + L ) Find : %period% Select Open and Close Periods for GL
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
154
Select Open Next Period Yes your request Id is 2718521 OK Go to SRS window and check for Request status View Request Back End Process to Open GL Periods : SELECT * FROM all_tables WHERE table_name like '%PERIOD%STAT%'; SELECT * FROM GL_PERIOD_STATUSES; UPDATE gl_period_statuses SET closing_status ='O' WHERE Period_Name ='Jun-11'; Receiving Goods ( Items ) :Items can be received in the following Methods 1) 2-Way
2) 3-Way
3) 4-Way
1) 2 – Way method : Purchase Order for the Items Receiving the Items All the items will be received and Invoice will also be prepared all Ordered Items Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
155
2) 3-Way Method :
Purchase Order for the Items Receiving the Items. Counting the Items. Invoice will be prepared for only received items ( Count ).
3) 4 – Way Method :
Purchase Order for the Items Receiving the Items. Counting the Items. Inspecting Items Invoice will be prepared for only items with out damage. Inferior Quality Items will be rejected and Invoice will be prepared after quality inspection.
Creation of a Receipt :Purchasing Vision Operations ( USA ) Receiving Receipts
Enter the Purchase Order No : 4422 and Select Find Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
156
In the above we can select New Receipt / Add to receipt Receipt Date : 30-dec-2010 ( it should be open ) Comments : Receipt for the Purchase Order No.4422 Close the form Lines ( Tab ) Check
Quantity 75
Select Headers Save it It generates the receipt Number : 9609 Receipt Master Information will be stored in a table :
RCV_SHIPMENT_HEADERS
Lines information will be stored in a table : RCV_SHIPMENT_LINES Shipment Information will be stored in a table : RCV_TRANSACTIONS_INTERFACE select * from RCV_TRANSACTIONS_INTERFACE where trunc(creation_date) = trunc(sysdate) Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Enter the Purchase Order : 4422 and Select Find Lines ( tab ) Quantity Check 75 Check 25 As shown below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
158
Save the above The above counting information will be stored into the table called : RCV_TRANSACTIONS View Request to see the receiving transactions (Receiving Transaction Processor ) It moves the data from RCV_TRANSACTIONS_INTERFACE table RCV_TRANSACTIONS select * from RCV_TRANSACTIONS where trunc(creation_date) = trunc(sysdate) Once data has been moved it will impact on the following table 1) MTL_MATERIAL_TRANSACTIONS select * from MTL_MATERIAL_TRANSACTIONS where trunc(creation_date) = trunc(sysdate) 2) MTL_TRANSACTION_ACCOUNTS select * from MTL_TRANSACTION_ACCOUNTS where trunc(creation_date) = trunc(sysdate) 3) MTL_ONHAND_QUANTITIES_DETAIL select * from MTL_ONHAND_QUANTITIES_DETAIL where trunc(creation_date) = trunc(sysdate) Check Purchase Order Purchase Orders Purchase Orders Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
159
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% Ap Accounting ( period should be open ) Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
160
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 Type
Supplier REG10_SUPP
5037
Supplier Num Site Invoice date REG10_SRNAGAR 21-MAY-2011 Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Standard 161
Invoice Number HYD_INV_JUN_10
Invoice Amount 15000 ( 3 items X 5000 )
Save the above Note : the above information will be stored into the table : AP_INVOICES_ALL Select Match Purchase Order Num : 4422 Select Find Check for the Match as shown below
Select Distribution
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
162
Check Match and Enter the following Quantity Invoiced : 3 Match Amount : 15,000 ( auto ) See the Control Amount and Actual Amount ( ensure that, both are same amount) Save the above Note : Distributions Information will be stored into the table : AP_INVOICE_DISTRIBUTIONS_ALL
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
163
Checking for status : Initially Status : Never Validate Select Actions Check Validations as shown below and OK
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
164
Status : Validated ( shows after Validate Checked ) Checking for Accounting : Tools View Accounts ( enabled / disabled ) ( initially it will be disabled ) Go to Actions and Check the Create Accounting OK Now see the Status : Validated Accounted : Yes. Tools View Accounts ( it will be enabled )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
165
Accounting Entries in a tables AP_ACCOUNTING_EVENTS_ALL AP_AE_HEADERS_ALL AP_AE_LINES_ALL
Once accounting completed the above tables will be impacted. Paying Amount : Go to Actions Check Pay in full OK Type Quick
Bank Account BofA
Document CHECK
Doc Num 2472
Save the above Checking Status of Purchase Order ( Checking for Billing ) Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
166
Purchasing Vision Operations ( USA ) Purchase Orders Purchase Orders Query with P.O Num : 4422 ( F11 and Ctrl + F11 ) Status : Approved, Closed Go to Shipments and Status ( tab ) it shows Billed ( No.Of Items )
Ordered 3
Received 3
Billed 3
Update Banks (Accounting): Payable Vision Operations ( USA ) Payments Entry Payments Query for the Check Num as shown below : Document Num : 2472
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
167
It shows following
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
168
Go to Tools View Accounting ( it will be disable mode ) Select Actions Check Create Accounting OK Go to Tools View Accounting ( it will be enable mode )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
169
Close the above Go to Actions and Select Format ( check format ) OK Bank information will be available in the following tables : Bank Branches : AP_BANK_BRANCHES Bank Accounts : AP_BANK_ACCOUNTS_ALL Checks : AP_CHECKS_ALL Check Formats : AP_CHECK_FORMATS
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
170
Updating the Bank Account : Cash Management Vision Operations ( USA ) Bank Statements Bank Statements and Reconciliation
Select New
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
171
Enter Account name : Bofa ( Remaining Details will be populated automatically ) Date : 11-JUN-2011 Statement Number : 11-JUN-2011 ( auto ) GL Date : 11-JUN-2011 ( auto ) Save the above Select Lines
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
172
Type Payment
Number ( Check Num ) 2472
Transaction Date ( auto ) 12-JUN-2011
Amount 15000
Save the above Bank Statements Master ( Header ) information Table : CE_STATEMENT_HEADERS_ALL Bank Statements lines information Table : CE_STATEMENT_LINES Clearing the Transactions : Bank Statements Manual Clearing Clear Transaction
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
173
In the above Enter Account Name : BofA Select Find
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
174
In the Query for the Check Number
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
175
Check Type ( payment Select Clear Transaction it clears the transaction Checking for Cleared or not Enter the Check Number and Query for it ( It will not show any details i.e it was cleared )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
176
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
177
Bill Of Material ( BOM ) Manufacturing Cost = Material Cost + Resources Cost + Dept Maintenance Cost Refer the Business process flow document page No.09. Material Cost : The Purchase cost of a CPU Sub Assembly Item is as follows CPU (Sub Assembly) Mother Board 1000 USD + CD Drive 750 USD + Floppy Drive 250 USD -------------Purchase Item Cost 2000 USD ========= Manufacturing Cost of CPU Sub assembly is as follows Purchase Item Cost is 2000 USD Operations Cost Soldering Dept Cost 100 USD Fixing Dept Cost 500 USD 600 USD Departmental Overheads 650 USD -------------Manufacturing Cost of CPU 3250 USD ======== The Purchase cost of a CPU Sub Assembly Item is as follows CPU (Sub Assembly) 2000 USD Mouse 100 USD Printer 900 USD Monitor 500 USD -------------Purchase Item Cost 3500 USD ========= Manufacturing Cost of CPU Sub assembly is as follows Purchase Item Cost is 3500 USD Operations Cost Soldering Dept Cost 100 USD Fixing Dept Cost 500 USD Variable cost of an Item Assembly Dept Cost 400 USD 1000 USD Departmental Overheads 1000 USD Fixed Cost Apportionment -------------Manufacturing Cost of Dell Computer ======== Selling Price of Dell Computer is
5500 USD 6000 USD
Resources : 1) Man Power 2) Machine Power Total Cost Material Cost + Fixing Resources Cost + Soldering Resources Cost + Assembling Resources Cost + Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
178
Fixing Dept Maintenance Cost + Soldering Maintenance Dept Cost + Assembly Dept Cost BOM Module consists of the Following 1) Items 2) Resources 3) Routing 4) BOM ( child components ) Creation of Resources : This involves following steps : 1) Create the resources 2) Create the Dept 3) Create the Association between Resources and Dept. Navigations : We can either of the following responsibilities 1) Bill OF Material 2) Manufacturing and Distribution Manager. If not available add the above to OPERATIONS user. Bill OF Material Routing Resources M1 (or ) Manufacturing and Distribution Manager Bill Of Material Routing Resources M1
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
179
Resource : FIX_RSRC1 Desc : Fixing Resources One ( as desired ) Type : person UOM : HR Charge Type : WIP Move Check the Costed Absorption Account : 01-000-5810-0000-000 ( Ctrl + L ) Misc Variance Account : 01-000-5380-0000-000 ( Ctrl + L ) Misc Company : 01 Department : 000 Account : 5380 Sub-Account : 000 Product : 000 Absorption Account means actual Salary Account ( fixed one ) Variance Account Allowances + Over Time + others benefits ( variable ) Select
Rates
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
180
Cost Type : Pending
Desc : Pending Standard Cost Type
Unit Cost : 125.00 ( Rate per hr)
Save the above Over head it is for Company Officials ( Conveyance and other allowances ) And for Machinery ( extra expenses such oil, grease etc ) Resources Master information is available in the table called : BOM_RESOURCES select * from BOM_RESOURCES where trunc(creation_date)=trunc(sysdate) Resource Cost information is available in the table called : CST_RESOURCE_COSTS select * from CST_RESOURCE_COSTS where trunc(creation_date)=trunc(sysdate) Similarly crate for Fixing alternative resource ( second ) Similarly create for Soldering Resource ( first and second ) Similarly create for Assembling ( first and second ) Creation of Dept : Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
181
Bill OF Material Routing Department M1 (or ) Manufacturing and Distribution Manager Bill Of Material Routing Department M1( if not showing go to change Organization and Change to M1 )
Dept : DEPT_FIX Desc : Fixing Department Location : HYD_AMEERPET ( value from HR_LOCATIONS table ) Select Resources
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
182
Save the above Borrowed barrowed from the other dept or from the out side. When un checked available for 24 hours, then Shifts ( tab ) will be enabled Save the above Select Rates
Cost Type :pending Over Head : Indirect
Basis : Item Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
183
Save the above Dept master information is available in the table called : BOM_DEPARTMENTS select * from BOM_DEPARTMENTS where trunc(creation_date)=trunc(sysdate) Dept resource information is available in the table called : BOM_DEPARTMENT_RESOURCES select * from BOM_DEPARTMENT_RESOURCES where trunc(creation_date)=trunc(sysdate) Routing : It is a sequence of Manufacturing. Eg: To Manufacture a CPU the following sequence should be required. 1) Fixing Department
2) Soldering Department.
Pre-Requisite for Routing. BOM flag of the Items should enabled Inventory Vision Operations ( USA ) Items Master Item Bills ( tab ) BOM Allowed ( should be enabled ) Navigation for Routing : Manufacturing and Distribution Manager Bills Of Material Routing Routing
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
184
Item : Hyd_CPU Main (tab) Seq 10
Department DEPT_FIX
Effective Date 26-MAY-2011 00:01:38
WIP (TAB ) Back Flash Enable ( decreasing the raw material quantity Increasing the finished goods quantity)
ECO ( tab ) Engineering Change ( Implemented enabled ) Place the cursor on the Dept filed then select Operation Resources
Seq 1
Resources FIX_RSRC2
UOM HR
Basis Item
Usage Inverse (auto ) Units 4 .25 1
Schedule Yes
Similarly for Soldering Dept. BOM Routings Master information will be stored into the table called : BOM_OPERATIONAL_ROUTINGS select * from BOM_OPERATIONAL_ROUTINGS_V where trunc(creation_date)=trunc(sysdate) Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
185
BOM Sequence of Operations information will be stored into the table called : BOM_OPERATION_SEQUENCES select * from BOM_OPERATION_SEQUENCES_V where trunc(creation_date)=trunc(sysdate) BOM Sequence Resources information will be stored into the table called : BOM_OPERATION_RESOURCES_V select * from BOM_OPERATION_RESOURCES_V where trunc(creation_date)=trunc(sysdate) Routing Details where to item to be moved ( Sub Inventory Information ) Creation of BOM : Navigation: Manufacturing and Distribution Manager Bills Of Material Bills Bills
Enter the Child Items information Item Seq Operation Seq Component Quantity From Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
186
10
1
Hyd Mother Board
1
Supply Type : Assembly Pull ( Purchase from Third party Operational Pull ( Internal Purchase )
26-MAY-2011 00:47:11 Sub Inventory stores
Checking for the Cost Manufacturing and Distribution Manager Inventory Costs Item Costs BOM Master information table : BOM_BILL_OF_MATERIALS_TEMP BOM Child Components information Table : BOM_INVENTORY_COMPONENTS_TEMP BOM Parameters : BOM_PARAMETERS Generating Bill : Manufacturing and Distribution Manager Bills Of Material Bills Bills Item : Hyd CPU ( Query for it ) Tools Rollup Cost Cost Type : Pending OK Submit Request Id OK Cost Rollup - Print Report ( Refresh it and View output ) Checking for the Cost Manufacturing and Distribution Manager Inventory Costs Item Costs
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
187
O-2-C Cycle 1) 2) 3) 4) 5) 6)
( Order – To – Cash ) Sales Order Shipping Invoice Receiving Accounting Bank Updates
Creation of a Sales Order Pre-requisite : 1) 2) 3) 4) 5)
Item should exist Item on hand stock should be available in stores. Pricing List should be defined ( Pricing ) Customer should exist. Periods should be opened
Creation of Selling Price : Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
188
Pricing is a Module where we can define the pricing of an Item. Navigation : Oracle Pricing Manager Price List Price List Setup Name : Corporate ( Query it ) it shows the following.
Go to List Lines ( tab ) and create New Product Context Item
Product Attribute Item Number
Product Desc Hyd Computer
UOM Ea
Value 13500
Application Method Unit Price Pricing Master information stored in the table called : QP_LIST_HEADERS select * from QP_LIST_HEADERS where NAME='Corporate' Pricing Lines information will be stored in the table : QP_LIST_LINES select * from QP_LIST_LINES where trunc(creation_date)=trunc(sysdate) Creation of a Customer : To create a customer profile should defined Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
189
Profile contains 1) Payment Terms
2) Collector
3) Statement ( installments )
After creating profiles it should be assign to customer. Creation Payment Terms : Receivable Vision Operations ( USA ) Setup Transactions Payment Terms
Name : IMMEDIATE ( instead of creating take existing ) Seq 1
Amount 100
Days 0
If Name : IMMEDIATE Amount : 100 ( 100% payment ) Due Date : 0 Payment terms for amounts due immediately: chargebacks, quickpay, grants ************** If Name : 2 Net Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
190
Amount : 100 or can be changed Due Date : 2 days ************** iF Name : 2/10, Net 30 Amount : 100 ( 100% payment ) Due Date : 30 2% discount earned if paid within 10 days. Payment terms can include a discount % for early payment and you can assign multiple discounts to each payment term line. If Name : 3/10,2/30,Net60 Multiple discount terms, if paid within 10 days a 3% discount is applied, if paid within 11-30 days 2% discount is applied, if paid after 30 days no discount is allowed. Payment terms Master information such as NAME will be stored into the table : RA_TERMS select * from RA_TERMS where NAME='IMMEDIATE' Payment terms Line information will be stored into the table : RA_TERMS_LINES select * from RA_TERMS_LINES Payment terms Discount information will be stored into the table : RA_TERMS_LINES_DISCOUNTS select * from RA_TERMS_LINES_DISCOUNTS
Creation of Collector : Receivable Vision Operations ( USA ) Setup Collections Collectors
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
191
Ctrl + F11 will be obtained all Place the cursor in the lines and select New to create New Collectors information will be stored into the table called : AR_COLLECTORS Name : Hyd_Rao Employee name : MNRAO, RAO ( Employee of the company) from the table PER_ALL_PEOPLE select * from AR_COLLECTORS where NAME='Hyd_Rao' select * from AR_COLLECTORS where trunc(creation_date) = trunc(sysdate);
Creation of Statement : Receivable Vision Operations ( USA ) Setup Print Statement Cycle Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
192
Query for the existing one ( ctrl + F11)
Name : Monthly / Quarterly / Weekly Recommended one is Monthly Statement Master information will be stored into the table called : AR_STATEMENT_CYCLES Statement Cycle Dates information will be stored into the table : AR_STATEMENT_CYCLE_DATES Statements Intervals information : AR_STATEMENT_CYCLE_INTERVALS Creation of Profile : Create the profile with the following 1) Payment Terms 2) Collector
3) Statement ( installments )
Receivable Vision Operations ( USA ) Customers Profile Class Name : HYD_PROF_CLASS
Desc : Profile Class for Hyderabad Company Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Check Active 193
Profile Class ( Tab ) Collectors : Name : Hyd_Rao
Payment Terms : IMMEDIATE
Finance Charge : Days in Period : 30 Statements : Cycle : Monthly Dunning : Letter Set : STANDARD Note : Dunning is for defaulters for one time settlement. Credit Profile ( tab) Classification : Low Risk Period Review Cycle : Monthly Analyst : Stock, Ms. Pat Tolerance : 0 Profile Class Amount ( tab ):
Profile Class information will be stored into the table called : HZ_CUST_PROFILE_CLASSES select * from HZ_CUST_PROFILE_CLASSES where trunc(creation_date) = trunc(sysdate) Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
194
Profile Amount information will be stored into the table called : AR_CUST_PROF_CLASS_AMOUNTS select * from AR_CUST_PROF_CLASS_AMOUNTS where trunc(creation_date) = trunc(sysdate)
Customers are of types : 1) Person
2) Organization
Person Purchase by the Individual Person Organization Purchase by a Company Customer Hierarchy : 1) Type of Customer
2) Name of the Customer
Customer Master
3) Customer Number
4) Address : Address1, Address2, Address3…… ( Called as Sites ) Sites Site use Contacts
1) Ship To Location2) Bill To Location Person, Mobile, FAX, E-Mail.
Customer Master
Customer Location
Global Information Address ( Physical Location ) ( INDIA, USA, UK )
Site
Site Usage
Contact Points
Ship To and Bill To
1) Global Level
2) Address Level
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
195
Creation of a Customer : TCA ( Trading Community Architecture ) is a Customer Module in 11i Navigation : Receivable Vision Operations ( USA ) Customers Standard Customer Type : Organization Customer Name : HYD_CUST
Select Find
Select
Customer Type : Organization Name : HYD_CUST
New to create new customer Check Active
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
196
Skip the Address (tab) Classification (Tab) Profile Class : HYD_PROF_CLASS
Type : external
Order Management ( tab ) Price List : Corporate Marketing ( tab ) it is an Optional Communication ( tab ) Communication Type : Telecommunication ( Choose ) / E-mail Country Code Area Code 1 040
Telephone Number Extension Type Primary 66361220 2 Telephone Check
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Purpose Business
Active Check
197
Contacts ( tab ) Last : xxPerson and details
Active ( check)
Address ( tab ) at the beginning Select
New
Country : India ( preferred United Stattes bcoz Taxation rules have been defined for US ) Address : Flat No-01, Block No-A, Ameerpet, Hyderabad Check Active Usage Bill To ( first create Bill to ) Ship To ( don’t in the immediate line , first save the Bill to and close, then Select Address New, then Ship To Address )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
198
Save the above Bill to and Ship to Location : ( 9204 and 9206 will be generated automatically ) Customer Master information available in the table : Organization Information HZ_CUST_ACCOUNTS select * from HZ_CUST_ACCOUNTS where trunc(creation_date) = trunc(sysdate) Customer Information HZ_PARTIES select * from HZ_PARTIES where trunc(creation_date) = trunc(sysdate) All TCA tables starts with HZ Address information HZ_LOCATIONS select * from HZ_LOCATIONS where trunc(creation_date) = trunc(sysdate) Sites Information ( Organization ) HZ_CUST_ACCT_SITES_ALL select * from HZ_CUST_ACCT_SITES_ALL where trunc(creation_date) = trunc(sysdate)
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
199
Sites Information ( Person ) HZ_PARTY_SITES select * from HZ_PARTY_SITES where trunc(creation_date) = trunc(sysdate) Creation of a Sales Order Pre-requisite : 1)Item Should exist 2) Cost should be defined ( Pricing ) 3) Check for the periods are opened 1 and 2 have already been completed . Check for the periods are opened Receivable Vision Operations ( USA ) – ( Ctrl + L ) Fined : %period% Select Open / Close Accounting period Make the Status as Open as shown below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
200
Navigation to create Order Entry ( sales order ) Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders
Order Information ( tab ) Main ( tab ) Customer : HYD_CUST ( remaining details will be populated automatically ) Order Type : Mixed ( choose ) / Standard / Returned Standard Sending goods from the Organization to Customer Returned Returned goods from Customer to Organization ( case of damaged goods ) Mixed Both ways ( it is recommended ) Others ( tab ) ( will populated automatically, need not enter any one ) Payment Terms : IMMEDIATE
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
201
Where House : M1 ( inventory location ) Destination)
FOB ( fright on board ) : Standard ( Returning Damaged goods to
Line Items ( tab ) Lien 1.1
Ordered Item Hyd CD Drive
Qty 2
Unit Price Extended Price ( Qty * Unit Price ) Request Date 1500.00 3000.00 31-MAY-2011 22:49:42
Save the above it generates Order Number : 56699 ( any one ) 56703 Check for availability Select Availability ( place the cursor on Qty ) If items are available fine.
Master Information ( Headers ) OE_ORDER_HEADERS_ALL select * from OE_ORDER_HEADERS_ALL where trunc(creation_date) = trunc(sysdate) Lines Information OE_ORDER_LINES_ALL select * from OE_ORDER_LINES_ALL where trunc(creation_date) = trunc(sysdate) to check the on hand quantity transaction period should be open ( for this check the previous in the above ) If items are not available increase on hand stock Creation of a Transaction : Inventory Vision Operations ( USA ) Transactions Miscellaneous Transactions ( M1 )
Customer Service Representative will enter the all the above details and takes the confirmation from the customer based on the payment terms weather it is Immediate payment or Credit Limit. After entering all the details Header level Status :Entered Line Level Status : Entered If do not have the credit limit order to be cancelled or it put into hold. Canceling the Order Select Actions Cancel To Cancel specific line only, place the cursor on the specific line and select Actions and Cancel Depending on credit limit Cancellation of entire order / specific line. Select the reasons for cancel and Specify the comments Stopping order temporarily ( holding the order ) Place the cursor header level and select Actions and Apply Holds Apply Hold Name : Booking Hold Hold Unit : ( for next three days ) Hold Comments : Select Apply Holds OK Holding information is available in the table called : OE_HOLD_DEFINITIONS Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
202
select * from OE_HOLD_DEFINITIONS where trunc(creation_date)=trunc(sysdate) Once order is in Hold we can not Book the order. Checking for Order is in Hold : Select Book Order and check it (or ) Select Actions Additional information
Releasing Hold Select Actions Release Holds Reason : Configuration is valid. Comments : Customer has paid the Amount. Select Release OK
Release information is available in a table : OE_HOLD_RELEASES select * from OE_HOLD_RELEASES where trunc(creation_date)=trunc(sysdate) Each line can be applied for release. Booking Order: Select Book Order Order has been booked OK Header Status : Booked Line Status : Awaiting Shipping After the order has been Booked, the Customer Service Representative will send following information to Shipping Department through E.Mail / FAX Customer Details Ship To Order Num Schedule Date Shipping department will forward the same to Inventory Department. If the items are available, then it will be delivered ( pick release ) is based on LIFO/FIFO/RANDOM Default is FIFO. Once picked the item from the inventory, it will be moved to Security Point Called as Staging Area The items which are in Staging Area are called as Reserved Items
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
203
Picking the Item from the Inventory : Order Management, Super User Vision Operations ( USA ) Shipping Transactions
From Order Number : 56703 Select Find
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
204
Line Status : Ready to release Select Lines/LPNs Actions : Launch pick release Select GO It shows following Number of concurrent requests launched successfully: 1. Number of requests that failed: 0. IMP NOTE : Launch pick release will run the following three Concurrent Programs 1) Pick Selection List Generation 2) Pick Slip Report 3) Shipping Exceptions Report View Request Find it shows the status above three programs
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
205
Sales Order Summary : Operations
Header Level Status
Line Level Status
Order Entry Level
Entered
Entered
Booked
Booked
Awaiting for Shipping
Pick Confirm
Booked
Picked
Ship
Booked
Shipped
Acknowledgement
Booked
Closed
Shipping Confirmation :
1) Bill of Lading ( Weight of Item ) 2) Packing Slip Report ( Where to Deliver : Ship To location and Bill To location ) 3) Commercial Invoice ( Sales people will be collecting Money from customer and they prepare Invoice for Material Cost only excluding tax and others and sent to Inventory . This Invoice is called as Commercial Inventory ) 4) Vehicle Load Sheet Details ( LIFO, FIFO ) 5) Interface Trip Stop ( delivery points1, points2, points3,……. ) Some goods at point1, and some goods at point2, ….
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
206
Navigation : Order Management Super User, Vision Operations ( USA ) Shipping Transactions
Enter the From Order Number : 56703 Select Find
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
207
Place the Cursor on Deliveries ( tab ) Select Action : Ship Confirm ( as shown above ) Select
GO OK
When click on
GO
delivery was successfully confirmed
OK
Ship Confirm request will call all the above five programs
Shipping Tables are WSH_DELIVERIES WSH_NEW_DELIVERIES WSH_DELIVERY_DETAILS
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
208
WSH_DELIVERY_ASSIGNMENTS Trip information tables are 1) WSH_TRIPS 2) WSH_TRIP_STOPS To check the status after shipping Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders Query with Order Number : 56703
Headers Status : Booked Line Status : Shipped Once Delivered to the Customer. Acknowledgement ( consignment ) will taken from the customer.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
209
Acknowledgement ( consignment ) means taking the customer signature stating that, received the so and so goods on so and so date Once Acknowledgement ( consignment ) has been taken from the customer, Inventory should be updated.
Updating Inventory : Order Management Super User, Vision Operations ( USA ) View Request and run program called : Workflow Background Process.
Process Differed : Yes Process Timeout : No Click OK Submit
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
210
Workflow Background Process in turn will run the 1) Autoinvoice Master Program and 2) Autoinvoice Import Program. Request Id (2727521 , 2727522, 2727523, 2727524 ) in the following screen. Note : Autoinvoice Master Program is the parent of Autoinvoice Import Program. It showing in the following screen.
Auto invoice Master Program it will transfer the data from O.M base tables to RA Interface tables RA Interface tables RA_INTERFACE_LINES_ALL RA_INTERFACE_DISTRIBUTIONS_ALL RA_INTERFACE_ERRORS_ALL
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
211
Auto invoice Import Program It will transfer the data from RA Interface tables to AR Base tables. Checking for weather data has been moved or not ( Invoice has been generated or not ). Here invoice is Customer Invoice. Order Management Super User, Vision Operations ( USA ) Receivables Control Auto Invoice Interface Lines Here Sales Order number is a Last filed. Go to Sales Order field and Query with the Sales Order number ( 56703)
If no lines getting, then successfully data has been moved from RA Interface tables to AR Base tables. If getting any lines, then error in moving data Click on Errors to see the errors. Take the Sales order Number into a Notepad
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
212
Check for the Customer : Receivable Vision Operations (USA ) Customers Standard
Select Find It shows Customer Bill to and Ship To Addresses It shows Customer Number : 3845 and party Number : 31197
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Reference : 56703 ( Enter the Sales Order Number ) and Query for it ( CTRL + F11 ) It shows as shown below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
214
Take the Invoice Number : 10020677 and Total : 16,837.50 into a Notepad Go to Number and Select JSP page ( Right side ) it shows the Invoice as below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
215
Select Lines Item for lines information.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
216
Receivable / Customer Invoice Master information will be stored in a table : RA_CUSTOMER_TRX_ALL CT_REFERENCE is a column where Order Number ( 56708) stores. select * from RA_CUSTOMER_TRX_ALL where trunc(creation_date)=trunc(sysdate) Lines information table : RA_CUSTOMER_TRX_LINES_ALL select * from RA_CUSTOMER_TRX_LINES_ALL where trunc(creation_date)=trunc(sysdate) Take the Invoice Number : 10020677 into a Notepad
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
217
Collecting Money from the Customer : Create the receipt and collect the money from the customer Creation of a receipt : Receivable Vision Operations ( USA ) Receipts Receipts Payment Method : Manual Remittance Receipt Number : 12345 ( Enter any number randomly )
Receipt Amount (USD ) : 12000 Receipt Type : Standard Status : Confirmed Details Identify By Transaction Number : 10020677 ( Paste the Invoice Number, which was taken into notepad ) ( remaining details will be populated automatically ) It shows as below.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
218
Take the receipt number : 12345 ( into the note pad ) Take the Account Number : 10271-17621-619 ( into the notepad ) Select Apply Save the above Receipt details will be stored into the table : AR_CASH_RECEIPTS_ALL select * from AR_CASH_RECEIPTS_ALL where trunc(creation_date)=trunc(sysdate) Depositing into the bank : Receivable Vision Operations ( USA ) Receipts Remittance Account Number : 10271-17621-619 ( paste from the note pad )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
219
Select Auto Create
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
220
Enter the Receipt Number as shown above and Click on OK Submit Auto Creation : Yes OK View Request find (Automatic Remittances Creation Program will be running )
After Completed Normal View the Output Take the Batch number : 1050 ( into the Notepad ) it can be from the output / remittance form
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
221
Confirmation to Bank people ( Approval ) Query with the Batch Number : 1050 as shown below.
Auto Create Select Approve for Collecting and depositing into bank Select Yes View Request find (Automatic Remittances Creation Program)
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
222
Check the receipt status : Receivable Vision Operations (USA) Receipts Receipts Query with Receipt Number : 12345 as shown below
Select Receipt History
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
223
Check the Bank statement : Cash Management Vision Operations (USA) Bank Statements Bank Statements and reconciliation Account Number : 10271-17621-619 ( get from the notepad and paste here ) Remaining details will be populated automatically.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
224
Date : 06-JUL-2011 Receipts : 12000 ( enter the receipt amount ) Select Lines and New
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
225
Line
Type
Number ( receipt number )
Amount
1
Receipt
12345
12000
Save the above
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
226
Clearing Transactions : Cash Management Vision Operations ( USA ) Bank Statements Manual clearing
Enter the Account Number : 10271-17621-619 Select Find Query ( F11)
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
227
Enter Receipt Number : 12345 and Query
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
228
Check Transaction Select
Clear Transaction
Receipt Status : Receivable Vision Operations ( USA ) Receipts Receipts Query with receipt Number : 12345
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
229
Status : Cleared Select Receipt History
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
230
Invoice Status : Receivable Vision Operations ( USA ) Transactions Transactions Number : 10020677 ( Enter the Invoice Number and Query ) as shown below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
231
It shows as below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
232
To check the Payment History Click on JSP Page
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
233
See the payment and Outstanding Balance details in the above To find table information of JSP Page Select About this Page and View Option
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
234
Discounts : Oracle Pricing Module provides Qualifiers and Modifiers Concept for the Discount. Qualifier The Customer, who is eligible for discount. Modifier Defines rate of Discount which will be given to a Good Customer ( Qualifier ) If discount is given Invoice amount will reduced. If Survice charge is applied on the Customer, then invoice amount will be increased. Defining a Qualifier : Before going to define a Qualifier we should run program called : Build Attribute Mapping Rules Oracle Pricing Manager View Request Submit New Request Single Request OK Name : Build Attribute Mapping Rules Submit and refresh. Navigation : Oracle Pricing Manager Qualifier Setup
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
235
Name : REG10_QUALIFY_GROUP Description : as desired Context
Attribute
Customer
Customer Name
Operator =
Value From
Start Date
REG10_CUST ( name of the customer ) 07-JUN-2011
End Date 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 by M.Nageswar Rao, B.Tech, MBA
236
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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
237
Select OK OK
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
238
Modifier No
Level
Modifier Type Start Date
End Date
Auto Generated
Order ( i.e Header Level )
Discount
07-JU-2011
07-JUN-2011
Pricing Phase : Header Level Adjustments ( depends on Level . if it is order then, Header Level Adjustments If it is line then, All Lines Adjustment. ) Application Method : Percent
Value : 10
Save the above Note : The above information will not be stored into any table but it will impact the table : QP_LIST_LINES select * from QP_LIST_LINES where trunc(creation_date)=trunc(sysdate) Create the Sales and Check for the discount . Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders Enter the Item Quantity in lines and save it, then Discount will be applied for the Item
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
239
Apps Reports Using some Functional Concepts : Eg : SONY is a Company wants to Migrate from Main Frame Applications to Oracle Applications. Step1: GAP Analysis : It GAP between the Oracle ERP Package and Requirement of SONY Company. GAP Analysis will be done by Solution Architect. He will prepare the High level document. GAP Analysis document is called as : MD020. Step2 : It will be sent to Sr. F.C for more Analysis. F.C will Analyase the exact requirement to fulfill the GAP. He define what are the RICE Components are required to fulfill the GAP. F.C prepare the document for the Required components and sent to the T.C Functional Document is Called as : MD050 Step3 : Technical Consultant will go through the entire document and he will prepare the technical approach
for the requirement given by the F.C Technical Consultant Approach Document is called as : MD070 Technical Consultant Analysis : 1) What is type of Report ( XML / RDF / (SQL or PL/SQL ) / OBIEE ) 2) Type of output expected ( PDF / TEXT / XML / HTML ) 3) Single Report / Multi Purpose report After getting above information To develop the report T.C should identify the following 1) Tables
To develop the above T.C should get information such as Application Name, Responsibility and Form Name from the F.C Eg: ORGNAME ITEMNAME
DESCRIPTION
UOM
STATUS
Application Name : Inventory Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
240
Responsibility : Inventory Vision Operations ( USA ) Form : Item Master Item Required tables ORGNAME from the table : ORG_ORGANIZATION_DEFINITIONS Column :ORGANIZATION_NAME ITEMNAME from the table : MTL_SYSTEM_ITEMS_B Column : SEGMENT1 DESCRIPTION from the table : MTL_SYSTEM_ITEMS_B Column : DESCRIPTION UOM from table : MTL_SYSTEM_ITEMS_B Column : PRIMARY_UNIT_OF_MEASURE STATUS from the table : MTL_SYSTEM_ITEMS_B Column : INVENTORY_ITEM_STATUS_CODE After identifying all the tales and columns then write the Query with ( n-1 ) Join conditions Here only two table, then one Join Condition is enough. Fro the Join condition take the Common column between two tables Query : SELECT
ood.organization_name
ORGNAME,
msib.segment1
ITEMNAME,
msib.description
DESCRIPTION,
msib.primary_unit_of_measure
UOM,
msib.inventory_item_status_code STATUS FROM
mtl_system_items_b
msib,
org_organization_definitions WHERE
ood
ood.organization_id = msib.organization_id;
Manual Development : Data Model : Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
241
Query as above Layout Model : Tools Report Wizard Title : Item Details Report Choose Table Option Next Next Next Shuttle the fields to display Next Next Next Choose No Template ( as desired ) Finish Save the above report : Naming Conventions used in the Name of the Report : CustomerName ApplicationShortName Purpose .rdf ( extension must be lower case ) Here : XXINVITEMDETAILS.rdf Parameters : P_CONC_REQUEST_ID ( not mandatory ) Type : Number Go to Properties of the Report Comments write the following $Header:
+=======================================================================+ Developed By : Developed On : Purpose :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
242
User Profiles A user profile is a set of changeable options, which will be used to change the way of applications execution. Oracle Application Object Library establishes a value for each option in a 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.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
243
User Profile Levels 1) User Level 2) Responsibility Level 3) Application Level 4) 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 by M.Nageswar Rao, B.Tech, MBA
244
Latest Version Provides two more 1) SERVER LEVEL 2) ORGANISATION These two are for future purpose. Note : Most of the responsibilities will be assigned at the RESPONSIBILITY LEVEL. Responsibility is a group of FORMS, REPORTS and PROGRAMS . It is for specific position in the organization Application is also a group of FORMS, REPORTS and PROGRAMS . It is for specific buisiness in the organization Application will be divided into responsibilities and the responsibilities will given to employees Same forms will be grouped and named as responsibility and assigned user. Diff between Application and Responsibility: ============================================ Both are Group of Forms(Menu) Group of Concurrent Programs(Request Group) Group of Users (Data group) But Application as per the Business functionality requirement Responsibility will group as per the position requirement. Profiles : Profiles are used to change the run behavior of an application. These are 1) 2) 3) 4) 5) 6)
Site ( Global ) Application Responsibility User Server Organization
5 and 6 will be used by the DBA. Priority : 1) User 2) Responsibility 3) Application 4) Site ( Bottom to Top ) Access : 1) Site 2) Application 3) Responsibility 4)User ( Top to Bottom )
APPS ERP
AP
AP-INDIA USER
AR
AP-US
Global /Site Level
GL
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Application Level 245 Responsibility Level User Level
Customization of profiles : Navigation : System Administrator Profile System
Profiles are as shown below.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
247
In the form change of default value of Primary filed as per the following requirement. Level
Value
Site
Box
Application ( INV )
Dozen
Responsibility
KG
User
Each
Steps :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
248
1) Identify the profile name After opening Mater Item Form : Edit Preferences Profiles
Query for the profile Profile Name ( F11 ) INV% ( ctrl + F11 )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
249
Take the INV: Default Primary Unit of Measure into the notepad 1) Customization at Site level Go to System Administrator Profiles System
Select Site Profile = INV: Default Primary Unit of Measure ( paste, which was copied into the notepad )
Click on find and site level value as BOX as shown below
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
250
Save and close the form Go to Mater Item form and check the default value at all levels Inventory Vision Operations ( USA ) Item Master Item M1 2) Application Level Go to System Administrator Profiles System Select Application = inventory Click on Find Application ( Inventory ) = Dozen Save and close the form Go to Mater Item form and check the default value at all levels Inventory Vision Operations ( USA ) Item Master Item M1 Add Manufacturing and Distribution Manager Application to OPERATINS User and test Manufacturing and Distribution Manager Inventory Items Master Item M1
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
251
3) Responsibility level Select Responsibility = Inventory, Vision Operations (USA) Profile = INV: Default Primary Unit of Measure Click on Find Responsibility = Kilogram Save and close the form Go to Mater Item form and check the default value at all levels Inventory Vision Operations ( USA ) Item Master Item M1 4) User level Select Responsibility = Inventory, Vision Operations (USA) Profile = INV: Default Primary Unit of Measure Click on Find Responsibility = Kilogram Save and close the form Go to Mater Item form and check the default value at all levels Inventory Vision Operations ( USA ) Item Master Item M1 To test the above create New User and Add the following responsibilities 1) Inventory Vision Operations ( USA )
2) Manufacturing and Distribution Manager Go to Master Item form for Testing Inventory Vision Operations ( USA ) Items Master Item M1 Manufacturing and Distribution Manager Inventory Items Master Item M1
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
252
Eg 2 : Default of Item Status in the Master Item Form at different levels
Item Status Level
Value
Site
Prod
Application ( INV )
Lease
Responsibility
Engineer
User
Active
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
253
Flex Fields : There are two types of flex fields 1) DFF ( Descriptive Flex fields ) 2) KFF ( Key Flex Fields ) In Oracle Applications Table contains 6 types of columns 1) Data Columns
2) Derived columns
3) Who Columns
4) Global Activity columns
5) Additional Columns 4) Key Columns
Additional Columns are used to store the DFF Data Key Columns are used to KFF Data Steps : 1) Obtain the profile as explained in previous example After opening Mater Item Form : Edit Preferences Profiles Query for the Profile name (INV: Default Item Status ) Follow the as in the previous example. 1) Site Level Eg: Users X1
MO : Operating Unit
Vision Operations
Y1
MO : Operating Unit
Vision Sweden
Z1
MO : Operating Unit
Vision Germany
Create the above users Create User X1 with following responsibility Application Developer System Administrator Purchasing, Vision Operations (USA) Create User Y1 with following responsibility Application Developer System Administrator
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
254
Purchasing, Vision Colombia Create User Z1 with following responsibility Application Developer System Administrator Purchasing Vision Australia Login as user X1 and purchase an item Purchasing, Vision Operations (USA) Requisitions Requisitions Login as user X1 and purchase an item Purchasing, Vision Operations (USA) Requisitions Requisitions How to get the user profiles Fnd_Profile.Get('ProfileName', local Variable); local Variable:= Fnd_Profile.Value('Profile Name'); Both API's will be used to retrieve the Profile value frombackend Get() is Procedure Value() is Function Oracle Has provided both Procedure and Function becuase in some of the areas we can not use procedure then we can use function. For Ex: in SELECT clause we can not use procedure we have to go for using the Function. Prepare the following report Submitted By :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
255
VendorId
VendorName
Cdate
TotalPO
Data Model Query: SELECT VENDOR_ID, VENDOR_NAME, CREATION_DATE FROM PO_VENDORS Take a formula at group level for TotalPO Name : TOTALPO PL/SQL Formula : function TOTALPOFormula return Number is l_total number(9); begin select count(*) into l_total from PO_HEADERS_ALL where Vendor_Id=:Vendor_Id; return l_total; end; First time check the report with out using Submitted User : Submitted By User To get current user ( profile ) fnd_profile.value(‘USERNAME); to get the user name we have need profiles multiorg flexfields Go to report builder and follow the following steps Step1: create a bind parameter by name P_CONC_REQUEST_ID ( name always same and mandatory ) Step2 : Create bind parameter to hold the user name P_USER ( as desired ) Step3:
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
256
Go to before report trigger and write the following code function BeforeReport return boolean is begin srw.user_exit('FND SRWINIT' ); -- it will initialize the profile values :P_USER:= fnd_profile.value('USERNAME'); return (TRUE); end; Step4: Go to after report trigger and write the following code function AfterReport return boolean is begin srw.user_exit('FNS SRWEXIT'); --it will remove the all profile values from memory and makes the memory as free return (TRUE); end; Layout Model Add the label and text field Submitted By : < Text _ field > Map to bind parameter ( P_USER )
Responsibility Name Take one more parameter (P_RESP ) Go to before report trigger and write the following code function BeforeReport return boolean is begin srw.user_exit('FND SRWINIT' ); -- it will initialize the profile values :P_USER := fnd_profile.value('USERNAME'); :P_RESP := fnd_profile.value('RESP_NAME'); -- It is added to previous. return (TRUE); end; Layout Model Add title responsibility name and text field
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
257
Responsibility Name : < text_field> map to P_RESP To get Name of the Operating Unit Add place holder column ( UNIT ) Go to before report trigger and write the following code function BeforeReport return boolean is l_id number(9); begin srw.user_exit('FND SRWINIT' ); -- it will initialize the profile values :P_USER:= fnd_profile.value('USERNAME'); :P_RESP:=
fnd_profile.value('RESP_NAME');
fnd_profile.Get('ORG_ID',l_id); select name into :UNIT from HR_OPERATING_UNITS where organization_id=l_id; return (TRUE); end; Layout Model : Add label Organization : < Text Filed > map to UNIT If login user is Operations then, display the Total field otherwise not requires Right click on POTOTAL field in the Layout Model and write PL/CODE as shown below. begin If( : P_USER = ‘OPERATIONS’) then return true; else return false; end if; end PL/SQL Program
Create or replace procedure test_param_proc( ErrBuff out varchar, RetCode out number, V_Id IN number, Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
258
V_Name IN varchar ) as l_id number(2); begin select Vendor_Id into l_id from PO_VENDORS where Vendor_ID=V_ID; update PO_VENDORS set Vendor_Name = V_name where Vendor_Id=V_Id; commit; FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor name has been updated successfully
'||
V_Name ); exception when NO_DATA_FOUND then FND_FILE.PUT_LINE(Fnd_File.Output, 'Vendor ID does not exits '|| V_Id ); when TOO_MANY_ROWS then FND_FILE.PUT_LINE(Fnd_File.Output, 'Duplicate Vendor Found '|| V_Id ); when OTHERS then FND_FILE.PUT_LINE(Fnd_File.Output, 'Other Errors '); end; 5) create executable method as PL/SQL Stored Procedure 2) Create concurrent program as PL/SQL Stored Procedure Out put format must be in text format only for PL/SQL Stored Procedure Parameters While supplying parameters Token is not necessary, as the parameters will be maintained in sequential order by the stored procedures. Input: Vendor Id : 1 Vendor Name : DELL India Pvt. Ltd. Important Questions 1) what is a profile 2) Which level most of the profile will be used 3) What are the important profiles 4) Tell some important profiles 5) How to get profiles from the back end. Predefined User Profile Options Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
259
USERNAME : Your user’s current Oracle Application Object Library username. 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 by M.Nageswar Rao, B.Tech, MBA
260
Working with FORMS Development Of A Form Vendor Id Vendor Name Cdate Total PO : From PO_VENDORS ( table name ) 1) Download the TEMPLETE.fmb from AU_TOP\Resource Folder D:\oracle\visappl\au\11.5.0\forms\US 2)Open with Forms6i builder and delete the existing Window, Canvas, Block Delete BLOCKNAME in Windows Create new window Properties Name : SUPPWIN Sub Class Information: Select property class : WINDOW Delete BLOCKNAME in Canvases Create new Canvas Properties Name : SUPPCAN Sub Class Information: Select property class : CANVAS Delete BLOCKNAME in Block Create new Block Table Name: PO_VENDORS Columns : Vendor Id, Vendor Name, Creation Date Layout Frame Properties Sub Class Information :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
261
Property Class : FRAME_RECT Text Fields Properties ( select all fields at a time ) Sub Class Information : Property Class : TEXT_ITEM Data Block Properties Name : VENDORSBLOCK Sub Class Information : Property Class : BLOCK Form Module Modify the following Triggers Pre-Form FND_STANDARD.FORM_INFO('$Revision: 115.12 $', 'Template Form', 'FND', '$Date: 2003/12/19 11:02 $', '$Author: appldev $'); app_standard.event('PRE-FORM'); app_window.set_window_position('BLOCKNAME', 'FIRST_WINDOW'); /* In place of 'BLOCKNAME' supply the new window name as shown below /* app_window.set_window_position('SUPPWIN', 'FIRST_WINDOW'); Compile and close WHEN-NEW-FROM-INSTANCE FDRCSID('$Header: TEMPLATE.fmb 115.12 2003/12/19 11:02 mzasowsk ship $'); FDRCSID('$Header: SUPPFORM.fmb 115.12 2003/12/19 11:02 mzasowsk ship $'); In the above statement replace the name TEMPLATE with FILENAME.fmb APP_STANDARD.EVENT('WHEN-NEW-FORM-INSTANCE'); --- app_folder.define_folder_block('template test', 'folder_block', 'prompt_block', 'stacked_canvas', 'window', 'disabled functions'); -- app_folder.event('VERIFY'); -Compile and close
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
262
Program Units APP_CUSTOM ( package body ) if (wnd = '') then replace the if (wnd = 'SUPPWIN’) then 3) Compile and create .fmx file To create fmx : File administration Compile File Create backup folder where the fmb file is located. When compiled any errors generated, then it will be logged into the backup folder. 4) move the fmb into the au_top D:\oracle \ visappl \ au \ 11.5.0 \ forms \US : SUPPFORM.fmb Move the fmx into the custom top Here for eg PO top:
D:\oracle\visappl\po\11.5.0\forms\US
5) Goto Applicaton Developer Create Form Application Developer Application form Name of FMX file name FORM
APPLICATION
USER FORM NAME
DESRIPTION
SUPPFORM
PURCHASING
SUPPFORM_DETAILS ( COPY )
AS DESIRED
Create Function FUNCTION
USER FUNCTION NAME
SUPPFUNCT (any name )
SUPPFUNCT1 ( any name ) ( COPY )
Type : form Form : SUPPFORM_DETAILS ( PASTE ) Create Menu Menu : SUPPMENU ( any name ) User Menu Name : SUPPMENU_USER ( copy ) SEQ
PROMPT
SUBMENU
FUNCTION
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
263
1
as desired
optional
SUPPFUNCT1 ( paste )
6) System Administrator create responsibility Menu : SUPPMENU_USER ( paste ) Here request group is not necessary 7) attach the responsibility to user Responsibility : RESP_SUPP. 8) go to responsibility RESP_SUPP. Adding Total PO to existing form Go to form layout and add label and text filed Text filed Properties : Name : TOTALPO Sub Class Property : Property Class : TEXT_ITEM. Write the trigger on the above text filed For non data base item edit the Block trigger called POST-QUERY ( block level ) begin select count(segment1) into :TOTALPO from PO_HEADERS_ALL where vendor_id=:vendor_id; end; Q. What is the reason to down load the existing TEMPLATE.fmb file and customize it Ans : to acquire AOL features into the new form such as open form, querying ( f11 ) and ctrl+f11 TEMPLATE.fmb is pre defined file which was developed to get the actions such as open form, querying ( f11 ) and ctrl+f11 . TEMPLATE.fmb was developed with triggers and packages to achieve the actions. Creation of New Tables ( User Own tables ) Steps 1) New Table
1) First connect to Schema ( INV ) and create the table Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
264
2) Grants to APPS 3) Create Synonym 2) Register table Using buil-in package AD_DD we can register the table 1) New Table connect to Schema ( INV ) and create the table go to SQL * PLUS User name : inv/inv@vis Or SQL> conn inv/inv@vis ; SQL> show user ; USER is "INV" Create table SQL> create table item_test ( item varchar2(100), item_desc varchar2(100), item_date date, item_price number(9,2) ) ; Grants SQL> grant all on item_test to apps ; SQL> CONN APPS/APPS@VIS SQL> show user ; USER is "APPS" SQL> CREATE PUBLIC SYNONYM ITEM_TEST FOR INV.ITEM_TEST ; 2) Registration of table Using AD_DD package we can register the table To see the contents of above package go to TOAD tool and AD_DD ( f4 ) AD_DD package provides register_table procedure to register the table register_column procedure to register the table columns go sql command prompt and register SQL> EXEC AD_DD.REGISTER_TABLE('INV', 'ITEM_TEST', 'T'); 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');
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
265
SQL> EXEC AD_DD.REGISTER_COLUMN('INV','ITEM_TEST','ITEM_PRICE',4,'NUMBER',9,'N','Y'); SQL> COMMIT ; To see the above table from the front end Go to application developer Application Database Table Query ( F11) Q. why the table should be register Ans : to get the AOL features such as WHO Columns, Table value sets, Flex Fields, Multi Args and Profiles Attaching Calendar to From : 1) Select the field Property List of values : ENABLE_LSIT_LAMP Validate list : no Write the item level trigger ( KEY_LISTVAL ) calendar.show(); /* API packaageName.procedure */ Attaching LOV on ITEM field of ITEM_TEST table : Create Record Group Based on Query : select segment1 from MTL_SYSTEM_ITEMS_B where ORGANIZATION_ID = fnd_profile.value('ORG_ID') ; Properties : Name : ITEM_RG Create LOV : Use the LOV Wizard Select Return Item : ITEM_TEST.ITEM Go to Properties of ITEM field List of values : ITEM_LOV Who Columns : Values of these columns will be populated automatically Table must be registered Select the columns into the datablock Eg : Table
ITEMS_INV
Contains 17 Clomns
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
266
1-7 Normal columns 8-11 Who Columns 12-17 DFF Columns Who Columns are
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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
267
Detailed Table : AP_INVOICES_ALL ( VENDOR_ID ( Join cond ), INVOICE_ID, INVOICE_TYPE_LOOKUP_CODE, INVOICE_DATE, INVOICE_AMOUNT, AMOUNT_PAID) Balance is a Non database Item. 1) Down load the form TEMPLATE.FMB
2) Remove old window, canvas, data block and Create new window, canvas, data block (master : PO_VENDORS ) as explained previously 3) Edit PRE-FORM and WHEN-NEW-FORM-INSTANCE 4) Edit program units APP_CUSTOM ( APCKAGE BODY )
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 Down load the template form and develop the form
O Yes O No
Fields Mapping Itemitem I t item i I item I In i
m
e
t
_
v
n
P u po_i R Y ( Gr e ao d u io p Y BRu e at d s t i o n Y No N Ap F D R
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
268
g t so e clicd ko u b l e (pac se 'I Descr i p t i v
Calling a form from another form Vendor Id : 1456 Vendor Name :
SITES When Click on Sites VendorId 1456
SiteCode ------
CreationDate ------
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
Address ----
City ---
269
1) Develop the Vendor Form with Vendor Id and Vendor Name and Sites ( button with out trigger ) Table Name : PO_VENDORS 2) Register the Vendor Form 3) Develop the Sites form with VendorId, SiteCode, CreationDate, Address, City Table Name : PO_VENDOR_SITES_ALL Data block fields are : Vendor_ID, Vendor_Site_Code , Creation_Date, Address_line1, City 4) Register the Sites form 5) Write the trigger on Button of the Vendor Form WHEN-BUTTON-PRESSED Fnd_FunCtion.execute(function_name => 'Second form function Name', open_flag => 'Y' , OTHER_PARAMS => 'P1 = '||:PO_VENDORS.VENDOR_ID ); Open Flag : Y Multiple forms can be opened N only single form can be opened. P1 is Second form parameter 6) Create the parameter ( P1) in the Sites form Properties : Name : P1 Data type : Number Maximum Length : 9 7) write the trigger in the sites form WHEN-NEW-FORM-INSTANCE GO_BLOCK ( 'PO_VENDOR_SITES_ALL'); EXECUTE_QUERY(); 8) Write the block level trigger PRE_QUERY :PO_VENDOR_SITES_ALL.VENDOR_ID := :PARAMETER.P1; --:Blockname .fieldname := :PARAMETER.Parametername Passing Parameters at the time of creating Functions: Form Form Function Parameters ( read only parameters ) Menu
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
270
Responsibility User Application developer Function :
Sites form make it as read only :
1)Develop the form ( eg : sites form ) 2)Register the form 3)Create Two functions for the same form. Application developer Application function
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
271
first function without parameters second function is with parameter called 'QUERY_0NLY="YES" ' Description Tab :
Properties Tab :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
272
Form Tab :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
273
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 ).
4) attach to menu
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
274
Call the function from following form
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
275
The read only report shows as below. Hence the records can not be modified
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
276
SUB MENU CREATION In the following + symbol is sub menu and with out + symbol it is a form
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
277
Eg: creation of sub menus in the following menu form
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
278
Application developer Application menu Copy the functions which are to be paced into a sub menu VENFUN1 SITESFUN1 Delete the functions which are deleted from the menu Create menu with above two functions
Copy the user menu name value (FUNCTIONS) and attach to main menu as submenu
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
279
Attaching System Administrator menu as sub menu of the above Go to System administrator and get name of the menu and attach to above menu To get the name of the menu System administrator Security responsibility define Query for the menu ( F 11 ) Responsibility Name : system administrator Copy the menu : Navigator Menu - System Administrator GUI Hiding the forms and Menus at Responsibility level Go to system administrator Security responsibility define Query for menu F11 -Responsibility Name : Supply the responsibility Go to menu exclusion Type : menu Name : submenu name
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
280
Hiding a form : Open the required form and get the name of function To get the function name : help About Oracle Applications Current Form Form name Application developer application Form ( F11 ) Form : supply the name of the form ( ctrl + F11 ) Copy the value from User Form name Select function : Form Tab : Form : paste the copied one Description Tab : Function : Copy ( 1st field ) Go to responsibility Menu Exclusion type : function Name : paste copied one
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
281
CUSTOMIZATION OF A FORM There are two ways to customize the form 1) Using Custom.pll used till 11.5.8 version 2) Forms personalization 11.5.9, 11.5.10.2, R12 - 12.0.0, 12.1.1, 12.1.1, 12.1.2 ( since last 6 years ) FORMS PERSONALIZATION Can be done to achieve the following 1) Changing Labels 2) Hiding Fields 3) Making as Mandatory / Optional Fields 4) Validate 5) LOVs The following Triggers can be modified 1) WHEN-NEW-FROM-INSTANCE 2) WHEN-NEW-BLCK-INSTANCE 3) WHEN-NEW-RECORD-INSTANCE 4) WHEN-NEW-ITEM-INSTANCE 5) WHEN-VALIDATE-RECORD 6) SPECIAL 7) ZOOM
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
282
Eg1: Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders
In the Form Client would like to change the title ( Order Number to Claim Number ) Get the Block Name : ORDER Get the filed name : ORDER_NUMBER Help Diagnostics Custom Code Personalize
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
283
Seq : 1 Description : Changing label Order Number to Claim Number Level : Function Check Enabled Target Event : WHEN-NEW-FORM-INSTANCE Processing Mode : Both Level : Responsibility Value : Order Management Super User, Vision Operations (USA) Actions ( Tab ) Seq : 1 Type : property Language : All
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
284
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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
285
Seq : 1 Description : Hiding the description field Conditions : Trigger Event : WHEN-NEW-FROM-INSTANCE Processing Mode : Both ( Only in Enter Query Mode i.e F11 ) ( Not in Enter Query Mode ) Level : Responsibility Actions :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
286
Seq : 1 Type : Property Language : All
( Check ) Enabled
Object Type : item Target Object : PO_HEADERS.COMMENTS ( name column in the database table, it can be obtained by examine ) Property Name : DISPLAYED Value : false ( true : field will be enabled, false : disabled ) Select Apply Now Save and call the form To enable the same field call the form To remove the specific personalization Help Diagnostics Custom Code Personalize deselect the Enable option ( check box ) To remove all personalizations on the form Help Diagnostics Custom Code Off To get back all personalizations
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
287
Help Diagnostics Custom Code Normal. Requirement : Making as Mandatory / Optional Fields In the following form Source filed as Optional field
Block : LINES Field : SOURCE_TYPE_DISP Help Diagnostics Custom Code Personalize
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
288
Seq :1 Description : Making Source Field as Optional Field Level : function Target Instance : WHEN-NEW-FORM-INSTANCE Processing Mode : Both Level : Responsibility Actions (tab) Type : Property Object Type : Item Target Object : LINES.SOURCE_TYPE_DISP Property Name : REQUIRED Value : false
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
289
Requirement : When the cursor enter to into lines block Description field enabled Conditions : Seq : 1 Description : Displaying the description field Trigger Even : WHEN-NEW-BLOCK-INSTANCE Target Object : PO_LINES Action : Seq : 1 Type : Property Object type : item Target Object : PO_HEADERS.COMMENTS Property Name : displayed Value : true Save and call the from Requirement : Setting default value to Supplier field Conditions : Seq : 1 Description : Default value for supplier field Trigger Even : WHEN-NEW-RECORD-INSTANCE Target Object : PO_HEADERS Action : Seq : 1 Type : Property Object type : item Target Object : PO_HEADERS.VENDOR_NAME Property Name : INITIAL_VALUE Value : GE Capital Save and call the from Note : Initial value can be set at WHEN-NEW-RECORD-INSTANCE level only Messages :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
290
Requirement : On sat and sun, user should not access the sales orders form Test the following in the TOAD select trim(to_char(sysdate, 'DAY')) from dual; Order Management Super User, Vision Operations ( USA ) Orders, Returns Sales Orders
Seq : 1 Description : Sat and Sun User Should Not Acces the Sales Order Form Level : Function Trigger Event : WHEN-NEW-FROM-INSTANCE Condition : trim(to_char(sysdate, 'DAY')) in ( 'SATURDAY', 'SUNDAY') Select Validate To validate the condition. Processing Mode : Both Level : Responsibility Value : Order Management Super User, Vision Operations (USA)
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
291
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
Requirement : When the cursor entered into the Ship-To field, Bill–To field should become null.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
292
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
FLEX FIELDS ==========
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
293
Flexfield are made up with Attribute columns or Segment columns . which are more flexible than the normal fields. Flex fields are two types 1)DFF (Descriptive Flex Field) 2)KFF (Key Flex Field) DFF: It will be used to capture the Additional information from the end user without change the code in the form and without Alter the DB object. ATTRIBUTE Columns will be used to Capture the DFF data. Eg : EMP Form(old )
Emp Table
Emp No :
empno
Emp Name :
ename
Sal
sal
:
Additional fields Project : Designation : Loc
: [ ] called as flex fields
Additional fields will be stored into attribute columns ( attr1, attr2, …..attr15) Data Type of attribute columns is varchar2 If DFF is available then need not down load the form and customize the form Pre-Requisite to create DFF: 1) Application Name
2) Form Name
Purchasing Vision Operations ( USA ) Items Master Item M1 Help Diagnostics Examine Password : apps Block : $DESCRIPTIVE_FLEXFIELD$ Filed : mtl_system_items.DF Value : Items (Inventory) Here Item is a title Inventory Application Copy the Value = Items (Inventory) into some notepad System Administrator Application Flex Fields Descriptive Segments
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
294
Enter the Application : Inventory
Title : Items
Query it ( ctrl + F11 )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
295
Un Check Freeze Flex Field definition Place the cursor at Global Data Elements and Select Segments Add the require Number
Name
Window Prompt
Column
Value Set
50
Company
Company
Attribut4
100 Characters
Select Open and Check Required ( as desired ) Save the above Check Freeze Flex Filed Definition OK Compile OK OK Warning OK Close the form
Checking for DFF
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
296
Purchasing Vision Operations ( USA ) Items Master Item M1 Removing existing DFF: ( Query with the following )
Enter the Application : Inventory
Title : Items
Query it ( ctrl + F11 )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
297
Un Check Freeze Flex Field definition Place the cursor at Global Data Elements and Select Segments Uncheck the Displayed and Enabled Save the above Check Freeze Flex Field definition OK Compile OK Warning OK
MENUS
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
298
Special triggers: Every menu option of Oracle Application forms, will have trigger Special Triggers : Menu Options Special1, Special2, Special3, …………………….. Special45. Tools Menu : Special1, Special2, Special3, …………………….. Special15 Inquiry Menu / Reports Menu : Special16, Special17, …………………….. Special30. Action Menu : Special41, Special17, …………………….. Special45. Adding new options to menu Conditions : Seq : 5 Description : Attach Menu Trigger Even : WHEN-NEW-FORM-INSTANCE Action : Seq : 1 Type : Menu Menu Entry : Special23 ( Inquiry menu ) ( as desired ) Menu Label : Procedure ( as desired ) Render line before menu : enable ( to get the separator ) Save and call the from GO to Inquiry menu and select Procedure option, then it shows Special23 on the status bar ( no such trigger ) Requirement : When selected the Procedure option, then Condition : Seq : 6 Description : Action Trigger Even : Special23 Action : Seq : 1 Type : Builtin Built Type : Execute Procedure , Argument : num_proc Save and call the from GO to Inquiry menu and select procedure , then num_proc will be executed automatically Create a table : num_test
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
299
create table num_test ( num number(9), descript varchar2(10) ) Create a procedure : num_proc create or replace procedure num_proc as begin insert into num_test values ( 1, 'hello'); commit; end ; 1) Built Type : Execute Procedure Argument : num_proc 2) Built Type : Launch URL, Argument : http://apps.ora.com:8000 Customization of a from by using CUSTOM.PLL We can implement Following actions by using CUSTOM.pll 1) Hide the Fields 2)Make the field as Mandatory or optional 3)change field prompt 4)Change the Visuval attaribute Dynamically. The trigger which are used in Customization of a from by using CUSTOM.PLL WHEN-NEW-BLOCK-INSTANCE WHEN-NEW-RECORD-INSTANCE WHEN-NEW-ITEM-INSTANCE WHEN-VALIDATE-RECORD ZOOM SPECIAL TRIGGERS Zoom Trigger will be used to call the another forms from the standard forms. Special triggers will be used to attach the menu options. CUSTOM.pll will be located in AU_TOP/11.5.0/Resource/ To work with the CUSTOM.pll the following are required
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
300
1) Form Name 2) Block Name 3) Field Name 4) What customization 5) When customization will be executed Eg: When the form is opened : WHEN-NEW-FORM-INSTANCE Steps to Customization of a from by using CUSTOM.PLL 1) down load the CUSTOM.PLL from the location AU_TOP/11.5.0/Resource/ 2) Open the CUSTOM.PLL with forms 6i 3) Go to PL/SQL Libraries CUSTOM Program units CUSTOM ( package body ) Goto Event Procedure Write the Following Code in the place of 'Real Code Starts Here' form_name
varchar2(30) := name_in('system.current_form');
block_name
varchar2(30) := name_in('system.cursor_block');
begin if (event_name = 'WHEN-NEW-FORM-INSTANCE') then if (form_name = 'APXWCARD' and block_name = 'CARDS') then APP_ITEM_PROPERTY2.SET_PROPERTY('CARDS.DEPARTMENT_NAME', -BlockName.FieldName DISPLAYED, PROPERTY_OFF); APP_ITEM_PROPERTY2.SET_PROPERTY('PO_HEADERS.SEGMENT1', PROMPT_TEXT, 'PO Number'); APP_ITEM_PROPERTY2.SET_PROPERTY('REGIONS.REGION_LONG_NAME', CASE_RESTRICTION, UPPERCASE); end if; end if; (attach the Library called APPCORE2.pll) as the APP_ITEM_PROPERTY2 is package form APPCORE2.pll SET_PROPERTY is a procedure from package called APP_ITEM_PROPERTY2
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
301
4)
Compile the Library we can get .pll
(Program link Library)
Execute the Library we will get .plx (Program Link Executable) (File ->Administration->Compile File) 5)Transfer both .pll and .plx files into the Resource folder in the AU top. (D:\oracle\visappl\au\11.5.0\resource ) (Note: before going to copy into the server close the complete Application) ZOOM Option : ZOOM Icon is used to To open a form from another from ZOOM Icon can not be used in the form personalization. ZOOM Trigger is similar to the Button It is a global to the Oracle Application, Using this any form can be invoked It is a global. It can be used for all forms. ZOOM Triggers are 1) Enable
2) Executable
Enabling ZOOM Trigger Custom ( package body ) function zoom_available return boolean is form_name varchar2(30) := name_in('system.current_form'); begin if (form_name = 'POXPOEPO' ) then return TRUE; end if; return FALSE; end zoom_available; Execute Custom ( package body ) Go to vent procedure and write the following code if (event_name = 'ZOOM') then if (form_name = 'POXPOEPO' ) then fnd_function.execute(FUNCTION_NAME=>'PO_POXPOEPO', OPEN_FLAG=>'Y',
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
302
SESSION_FLAG=>'Y' ); end if; end if; Note: When we are copying the custom.PLL in to the Resource folder we have to close the application because If application is opened CUSTOM.pll being used , All the forms in oracle applications developed with TEMPLETE.fmb contains CUSTOM.pll If file is being used by other program we can not Update the file. thats why we will close the application. When we are working in the project all the Users will be connected to Oracle apps we can not ask every one to close the application. for that we will get the Alternative Path(Link File Path), which will be provided by DBA, we will place the CUSTOM.pll in that folder only we have to reLogin we can find the Customization Other users no need to Logout
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
303
XML Publisher Oracle Reporting Tools are 1) SQL 2) PL/SQL 3) RDF 4) Discoverer 5) XML Publisher 6) BI Publisher 7) OBIEE Other Reporting Tools are Dataware Housing Tools 1) COGNOS 2) INFORMATICA Microsoft SQL Server MS-BI Oracle Reporting Tools SQL : Using SQL we can generate report in a ASCII format. We can not in a GUI format. Images can not be displayed as it is ASCII output SELECT statement is used to generate the report PL/SQL : Using SQL we can generate report in a ASCII format. We can not in a GUI format. Images can not be displayed as it is ASCII output Cursors are used to generate the report. RDF :
We can display out put in GUI format.
Images can also be displayed.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
304
We can not display the output at a time in multiple formats such as PDF, HTML, TEXT, EXCEL …
Layout designing is very complicated.
Discoverer :- Older one . it is not being used with current version Oracle Apps. XML Publisher : It is a mostly used one in the current version of Oracle Apps. It is an extension to RDF. Easy to design the layout BI Publisher and OBIEE: It is an extension to XML Publisher. XML is used to develop the reports. Working with XML Publisher Softwares used in XML Publisher 1) MS-WORD 2) MS-Excel
3) PDF
4) RDF
Features of XML Publisher 1) Good Look and Feel 2) Easy to design Layout Designing 3) Layout can be designed in a short time 4) Multiple Outputs Can be Generated 5) Sending Report as E-Mail is a Dynamic. 6) Less development time. 7) Platform Independent platforms such as Reports-6i, Discoverer, OBIEE and any one which can generate the XML files ) 8) Tool Independent ( MS-Word, MS-Excel, PDF )
9) XML Bursting Can handle E-Mail, FAX and FTP FTP through FTP Report can be sent to Server, that can be viewed by multiple users 10) Language Translation English text into local language by using XLIFF technology Just Mapping between English and local language. It will done at the on site by the language translator
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
305
in Oracle reports there is a option called CLSF ( Customer Language Specific Format ) to generate the language specific report. Disadvantages : XML Coding required. Development of Simple Report : Eg :
Empno
Ename
Sal
Deptno
TOTAL : 14 Steps : 1) Data Model Query SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP Take a Summary Column for TOTAL Properties : Name : TOTAL Function : count Source :
EMPNO
After Development of the above Generate the XML file File Generate to File XML Supply the name of the file with extension .xml 2) Design the Layout Using MS-Word It Can be designed in two ways 1) Automatically
2) Manually
1) Automatically Open MS-WORD Check for the Template Builder ( when the XML Publisher is installed this Option will be Enabled Automatically. Check for the Template Builder Tool Bar View Tools Bars Template Builder ( Enable ) When it is Enabled it shows the following Tools on the Tool Bar Data
Insert
Preview
Tools
Help
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
306
Step1: Go to Data Menu and Select Load XML Data Select the .xml from through the Browser Step2 : Go to Insert Menu Select All Fields Step3 : Go to Preview Menu and select Required output format ( PDF / HTML / EXCEL / RTF ) as desired Any Headings are required, it can be inserted Directly like Normal Word Document. 2) Manual Development 1) Open the new file 2) Adjust the Margins either by dragging the Margins or By Page Setup. 3) Save the file as .rtf file 4) Prepare the Header ( go to View Menu Header and Footer Option It will be displayed on the every page of the Report. 5) Insert the Table with Required No.of Columns ( as desired ) and Rows ( 2) 6) Place Headers on the First Row ( Select Row, Make them Bold and Rt.Click Center Align ) 7) Insert the Fields on by one into Columns in the Second Row View Tool Bars Enable the Form Place the cursor inside the Column Select text ( ab | ) Double Click on Filed Default Text : as desired Add Help Text : FIELD-NAME ?> FIELD-NAME Can be Obtained from the .rdf report or from the XML file. From the .rdf : Go to properties of the field and take XML Tag 8) Repeat the Same for Remaining Fields 9) Insert the Group to get All records in a group ( use for loop ) Place for loop Beg before the first field and place for loop end after the last filed. Beginning Eg: Ending
or Group-Name is an Optional
10 ) Load the XML data and save the rtf file
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
307
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
Developing Apps Report and Registering with Apps Application Eg :
Total Users : 16 Steps to develop the above report 1) 2)
Start report developer Go to data model Write the following Query SELECT
USER_ID, USER_NAME, CREATION_DATE
FROM 3)
FND_USER
Create Summary Column for Total Users;
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
308
4)
Properties : Function : count Source : user_id Generate XML file File Generate to file ( user.xml )
5)
Save as the report as .rdf file ( user.rdf )
6)
Start MS – OFFICE, Design the Layout as explained in the previous example
7)
Save the Word file as .rtf file ( user.rtf )
8)
Go to preview and select the required option such as HTML, PDF, EXCEL, RTF The above shows only one record as shown below User Id 2004
User Name AGENT02
Creation Date 08-JUL-99
Total No.of Users : 1851
XML Publisher front end Registration Steps : 1) develop the report ( .rdf ) file and move into server
Go to data model Write the following Query SELECT
USER_ID, USER_NAME, CREATION_DATE
FROM
FND_USER
Create Summary Column for Total Users; Properties : Function : count Source : user_id 2) Develop the .rtf and save it. 3) Register the .rdf file and take the following While Defining Concurrent Program Out put format must be XML
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
309
Concurrent Program Short Name : Application name 4) Register the .rtf file ( MS Office Doc ) Steps :
Users Information Report User Id
User Name
Description
Creation Date
FRO BEG USER ID
USER NAME
DESC
CREATION DATE FOR END
Total No of Users : TOTAL USERS Go to XML publisher Administrator responsibility Home Data Definition Select create data definition Name : any name ( User DD )
Code : CP Short Name (USER_SHORT)
Application : Purchasing
Starting Date : Today Date
Select Apply Select Template Create Template Name : any ( user_xx)
Code : Any One
Application : Purchasing
Data Definition : User DD
Type : RTF File : C:\XML\user_reports.rtf Browse Language : English Territory : united states Click on Apply
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
310
Result shows Name : user_XX ( .rtf file )
code : USER_SHORT ( .rdf file )
Close the window. Responsibility SRS Name : user_xx (automatically ) Lay out : user_xx (rtf file Template name automatically ) Submit
Select Options in the above for different Format outputs such PDF / XML / HTML / TEXT Report with parameters : Example :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
311
( parameters ) From Vendor Id To Vendor Id Vendor Id
Vendor Name Creation Date
PO
Invoice
Total Suppliers : Total No.of Pos: Total No.of Invoices : Create three parameter P_CONC_REQUEST_ID ( Optional ) P_From : number type (10) P_To
: number type (10)
Data Model Query : Select vendor_id, vendor_name, creation_date from po_vendors where vendor_id between :P_FROM and :P_TO take group level formula column for PO function POFormula return Number is l_total number (9) ; begin select count ( * ) into l_total from po_headers_all where vendor_id = :vendor_id ; return l_total ; end; Take group level formula column for Invoices function InvoiceFormula return Number is l_total number (9) ; begin select count ( * ) into l_total from ap_invoices_all where vendor_id = :vendor_id ; return l_total ; end; Take three summary columns 1) Suppliers ( CS_1) 2) Total PO ( CS_2)
: sum function source : Vendor_ID : sum function source : PO
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
312
3) Invoices ( CS_3)
: sum function source : invoice
Develop the .rtf file ( MS OFFICE doc ) as shown below
ID BEG VENDOR_ID
Vendor Name PO VENDOR_NAME PO
Creation date Invoices CREATION_DATE INVOICE END
Total Suppliers : CS_1 Total PO
: CS_2
Total Invoices : CS_3 Master and detailed relation ship beg-vendor-loop Vendor Id: vendor-id Vendor Name : vendor name Site Id
Site Code
Address
beg-sites-loop site-id
site-code
Address
City City
end-sites-loop
end-vendor-loop
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
313
INTERFACES Interface is a Connector or Bridge between two Applications. It is used to transfer data from Legacy Applications to Oracle Application and vice-versa Legacy Systems could be SAP, Main Frame, SIEBEL, JD Edwerds, BANN, People Soft Interface is one of the Program which is used to transfer the data from Oracle database tables in to flat file (or) Flat files
into Database tables
There are two types of Interfaces. 1)Inbound Interface 2)Outbound Interface Inbound Interface : Inbound Interface is used to upload the data from legacy system (Flat files) into Oracle Applications base tables. If it is Only one time of time data transfer, then it is called Conversion / Migration If it is Multiple times of data transfer ( i.e every day / week / month ), then it is inbound interface Outbound Interface: Outbound Interface is used to extract the data from oracle Database tables into the flat files. While developing the outbound Interface we use UTL_File to Extract the data. While Developing the Inbound interface we use SQL * loader to import the data into base tables. UTL_FILE Package : ================== This is One of the PL/SQL Package which will be used to transfer the data from table to files and from files to tables But when we are transferring data from file to table SQL *Loader can also be used. It is recommended.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
314
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
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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
315
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 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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
316
select USER_ID, USER_NAME, CREATION_DATE, DESCRIPTION from
fnd_user
where USER_ID between From_Uid and To_Uid; File_Handler
UTL_FILE.file_type;
l_rCount number default 0; begin File_Handler=UTL_FILE.fopen('D:\oracle\visdb\9.2.0\plsql\temp','users.txt','w'); for X in C1 loop UTL_FILE.PUT_LINE(File_Handler, X.USER_ID ||'#'|| X.USER_NAME ||'#'|| X.CREATION_DATE ||'#'||' X.DESCRIPTION ); l_rCount:=l_rCount+1; end loop; UTL_FILE.fclose(File_Handler); fnd_file.put_line("No of Records Written to the File :'||l_rCount); retCode:=0;
exception when utl_file.invalid_filehandle then fnd_file.put_line(fnd_file.log,'Invalid File Handler'); UTL_FILE.fclose_all; retCode:=2; when utl_file.invalid_path then fnd_file.put_line(fnd_file.log,'Invalid File Path');
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
317
UTL_FILE.fclose_all; retCode:=2; when utl_file.invalid_filename then fnd_file.put_line(fnd_file.log,'Invalid File Name'); UTL_FILE.fclose_all; retCode:=2; when utl_file.invalid_mode then fnd_file.put_line(fnd_file.log,'Invalid Mode'); 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,
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
318
from_orgid number, to_orgid number ) as cursor C1 is select msib.INVENTORY_ITEM_ID item_id, msib.SEGMENT1 item_name, msib.DESCRIPTION item_desc, msib.PRIMARY_UNIT_OF_MEASURE item_uom, mc.SEGMENT1||'.'||mc.SEGMENT2 item_cat_code, ood.ORGANIZATION_ID org_id, ood.ORGANIZATION_NAME org_name from mtl_system_items_b msib, mtl_item_categories mic, mtl_categories mc, org_organization_definitions ood where ood.ORGANIZATION_ID = msib.ORGANIZATION_ID and msib.INVENTORY_ITEM_ID=mic.INVENTORY_ITEM_ID and msib.ORGANIZATION_ID = mic.ORGANIZATION_ID and mic.CATEGORY_ID = mc.CATEGORY_ID and msib.PURCHASING_ITEM_FLAG='Y' and msib.ORGANIZATION_ID between from_orgid and to_orgid ; File_Handler utl_file.file_type; l_rCount number default 0; begin File_Handler:=utl_file.fopen('D:\oracle\visdb\9.2.0\plsql\temp','Inventory.txt','w'); for x in C1 loop l_rCount:=l_rCount+1; utl_file.put_line(File_Handler,x.item_id || '#' || x.item_name||'#'|| x.item_desc||'#'|| x.item_uom||'#'|| x.item_cat_code||'#'|| x.org_id ||'#'|| x.org_name); end loop; utl_file.fclose(File_Handler); fnd_file.put_line(fnd_file.output,'No of Records Transferred to file : '||l_rCount); fnd_file.put_line(fnd_file.output,' '); fnd_file.put_line(fnd_file.output,'Submitted User :'||fnd_profile.value('USERNAME')); fnd_file.put_line(fnd_file.output,' '); fnd_file.put_line(fnd_file.output,'Submitted Responsibility :'||fnd_profile.value('RESP_NAME'));
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
319
fnd_file.put_line(fnd_file.output,' '); fnd_file.put_line(fnd_file.output,'Submitted Date :'||sysdate); retCode:=0; exception when utl_file.invalid_filehandle then fnd_file.put_line(fnd_file.log,'Invalid File Handler'); utl_file.fclose_all; retCode:=2; when utl_file.invalid_path then fnd_file.put_line(fnd_file.log,'Invalid File Path'); utl_file.fclose_all; retCode:=2; when utl_file.invalid_filename then fnd_file.put_line(fnd_file.log,'Invalid File Name'); utl_file.fclose_all; retCode:=2; when utl_file.invalid_mode then fnd_file.put_line(fnd_file.log,'Invalid Mode'); utl_file.fclose_all; retCode:=2; when utl_file.invalid_operation then fnd_file.put_line(fnd_file.log,'Invalid Operation'); utl_file.fclose_all; retCode:=2; when utl_file.write_error then fnd_file.put_line(fnd_file.log,'Write Error'); utl_file.fclose_all; retCode:=2; when utl_file.internal_error then fnd_file.put_line(fnd_file.log,'Internal Error'); utl_file.fclose_all; retCode:=2; when others then fnd_file.put_line(fnd_file.log,'Unknown'); utl_file.fclose_all; retCode:=2; end; / 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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
320
It can be in methods 1) Using SQL * LOADER ( recommended ) 2) UTL FILE Package 3) Data Loader ( External / Third party tool ) Data Loader : in this Source file will be mapped to table columns. Steps involved in the Inbound Interface :
Flat File Bad file/ discard file
SQL * LOADER ( .ctl file )
Staging Table Error Tables
PL/SQL Program ( Procedure / Package )
Interface Tables Error tables/ Columns/Reports
Standard Program
Base Tables Staging table : It is a temporary table create by the user. It is called as pre-interface table Purpose of staging table if flat file structure is not similar to the base table, then we need create a table, which is similar to the structure of the Flat File, called as staging table. Eg : Flat file with the following data Empno, ename, deptno, hiredate, sal Table with the following columns Empno, ename, deptno, hiredate, sal, Comm, Tax Here comm and tax columns may be conditional data columns Eg :
if sal < 2000 Comm = 250 if sal
2000 to 5000 Comm = 450
if sal
5000 to 10000 comm = 600
if sal > 10000
comm. = 800
========================= if sal < 2000 Tax = NIL if sal
2000 to 5000 Tax = 12% of Sal
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
321
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
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 :
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
322
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. LOAD DATA INFILE ‘ Data File Path with file name ‘ INSERT INTO TABLE
FIELDS TERMINATED by ','
OPTIONALLY ENCLOSED BY ' " '
TRAILING NULLCOLS
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
323
(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 Eg2: if data is available in the format ( empno, ename, deptno, salary, comm.) 1001,Smith,20,5600,300 1002,Allen,10,4500,,
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
324
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 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.
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
325
-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 EmpNo
g
Enameb i s ce ase
enh es
re p
u byusingadatabase se p
u
Jdate sysdate
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
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 2) Develop the control file ( DEFAULTS.ctl ) LOAD DATA INFILE * INSERT INTO TABLE EMP_DEFAULT FIELDS TERMINATED by ',' TRAILING NULLCOLS ( empno "EMP_SEQ.nextval", ename "UPPER(:ename)", sal, location "DECODE ( :location, 'H','HYDERABD', 'B','BANGLORE', 'C','CHENNAI', 'MUMBAI')", COMM "(:sal*0.1)", jdate sysdate, deptno constant "10" ) begindata ,Saritha,12000,H Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
327
,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: Continuation: Path used:
64 rows, maximum of 256000 bytes none specified Conventional
Table EMP_DEFAULT, loaded from every logical record. Insert option in effect for this table: APPEND TRAILING NULLCOLS option in effect Column Name
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
328
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
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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
329
TOAD Login :
APPS/APPS@VIS
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 ',' 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 )
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
330
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 ','
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
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
331
“&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 :
Control file LOAD DATA INFILE
‘&1’
TRUNCATE INTO TABLE ITEM_TEST FIELDS TERMINATED by ',' TRAILING NULLCOLS ( Item_Code, Item_Name, Item_desc, Item_price )
4) Screate Q executable withexecutable method as 5) Scr Q eate the concurrent programwith executablemethodas Request Set : Request Set is used in the interfaces / conversions. Request set is group of concurrent programs. Using request set, multiple programs can be submitted at a time in SRS window either sequentially or in parallel.
Executable
Concurrent Program Request Set Request Group SQL * LOADER Responsibility Compiled and Developed by PL / SQL PROGRAM M.Nageswar Rao, B.Tech, MBA STANDARD PROGRAM
332
User
SRS Diff Between Inbound Interface and Conversion: Interface 1) Interface will be used to upload the data multiple times.
Conversion 1) Conversion is one-Time Data Transfer
Regularly every week or month or day 2) Client may be using Legacy system and also Oracle
2) Client will use Only Oracle Applications. once data has
Applications
been uploaded from legacy then legacy system will be closed.
3) We will not be knowing the Data file volume.
3) Here we will be knowing the data file volume exactly.
4) Interface we will be used in Customization and as well
4) conversions will be used in the Implementation Projects
as implementation Projects. 5) Interface will be used to load the current data.
5) Conversions are used to load old or historical data.
Difference between Apps 11i and R-12 Apps 11i
Apps R-12
There are four Executables
Same
PO – AP – GL PO_VENDORS PO_VENDOR_SITES_ALL PO_VENDOR_CONTACTS AP_INVOICES_ALL AP_INVOICE_DISTRIBUTIONS_ALL Profiles
AP_SUPPLIERS AP_SUPPLIER_SITES_ALL AP_SUPPLIER_CONTACT AP_INVOICES_ALL AP_INVOICE_LINES_ALL AP_INVOICE_DISTRIBUTIONS_ALL Same
Mutli Orgs
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA
333
BG Set Of Books LE OP IP GL_SETS_OF_BOOKS
-doLedgers ( Currencies, Calendar, Chart Of Accounts, Method ) -do-do-doGL_LEDGERS
Only one Operating Unit for one responsibility
MOAC ( Multi Org Access Control ) For single responsibility Multiple Operating Units
MO : Operating Unit
MO : Operating Unit MO: Security Profile
Flex Fields
Same
Forms
Same
Forms 6i
Forms 10g
To generate fmx F60GEN
FRMCRM
Interfaces
Same Same
OM-AR-GL TCA in AR Module Trading Community Architecture Banks Suppliers Customers Employees HZ_PARTIES
Compiled and Developed by M.Nageswar Rao, B.Tech, MBA