Tuesday, April 10, 2012

Multi Org

Multi Org Concept

Introduction
Any enterprise has several organization structures. These organizations interact with each other for various purposes. While interacting with other organizations data has to be secure and should be transferred to the correct organization.
What is Multi Org
Multi Org is a feature, which helps us to classify and define various organizations in such a way that hierarchy is maintained and data is secure across organizations. It also decides how transactions flow through different organizations and how those organizations interact with each other.
The various organizations that can be defined within Oracle Applications are as follows:
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. Oracle Apps provides with a predefined Business Group ‘Setup Business Group’. Reliance Group of Companies is an example of Business Group.
GRE/Legal Entity. The company for which we prepare tax returns. You assign tax identifiers and other legal entity information to this type of organization. If there are several subsidiary companies for which tax returns are filed, each company is a separate legal entity. Reliance Group of Companies consists of several companies like Reliance Industries ltd, Reliance Info-comm, Reliance Energy ltd etc. Each company is a separate Legal Entity.
Note: The Set of Book can contain multiple Legal Entities.
Operating Unit. Each group company will have several branch offices involved with purchasing, order management, shipping execution etc. Each such branch will be an Operating Unit.
It could be a sales office, a division, or a department. An operating unit is associated with a legal entity.
For implementing Oracle Cash Management, Order Management and Shipping Execution, Oracle Payables, Oracle Projects, Oracle Purchasing, Oracle Property Manager, Oracle Receivables and Sales and Marketing Operating Unit is required.
Information is secured by operating unit for these applications. Each user sees information only for their operating unit.
Inventory Organization. An organization for which you track inventory transactions and balances, and/or an organization that manufactures or distributes products. Inventory organization is generally assigned to a manufacturing plant. An operating unit can also be an Inventory Organization. Many branches (operating units) might be Manufacturing Plants and will be attached to an Inventory/Warehouse. Such inventory/warehouses will be Inventory Organizations.
HR Organization. HR organizations represent the basic work structure of any enterprise. They usually represent the functional management, or reporting groups that exist within a business group.
Asset Organization. An asset organization is an organization that allows you to perform asset–related activities for a specific Oracle Assets corporate depreciation book. Any organization (legal entity, operating unit, inventory organization), which has Fixed Assets can be classified as Asset Organization. For implementing Oracle Assets, this type of organization is used.

Secure Access within Multi Org
An individual Operating Unit is assigned to an individual application Responsibility. To see and work with data that is relevant to a specific Operating Unit, users choose the appropriate Responsibility after logging on to Oracle Applications.
The current Multi-Org architecture utilizes database objects like Views to build a security layer that allows you to logically partition all your application data in one database, instead of physically partitioning data with multiple instances and even multiple application installations.
In earlier versions of Oracle Applications data partitioning was done using multiple instances and therefore installation had to be done several times for various operating units.
Note: All Multi Org tables in the database will be suffixed with ‘_ALL’.
HRMS Organization Model
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.
Needless to say, HR does not require Operating Units, Inventory Organization and Asset Organization.

The following are the summarized steps for implementing Multi-Org in Oracle Applications or when converting from a Non Multi-Org environment to a Multi-Org environment.
1.1 Develop an Organization Structure
1.2 Define Set of Books
1.3 Define Locations
1.4 Define Business Groups (Optional)
1.5 Define Responsibilities
1.6 Associate Responsibilities with Business Groups
1.7 Define Organizations
1.8 Define Organization Relationships
1.9 Set MO: Operating Unit Profile Option
1.10 Convert to Multi-Org Architecture
1.11 Define Inventory Organization Security
1.12 Define Inter-company Relations
How to set Org_id at back-end
We have a API to set the org_id from the backend.

begin
fnd_client_info.set_org_context();
end;

Note:- Org_id indicates the "Operating Unit" in the Business Structure.

How to I know what Org_id is set at back-end

We can use userenv function to know the Org_id set at backend.

select userenv('CLIENT_INFO') from dual;

Why we need to set org_id at back-end

We usually, set org_id at back-end. So that we can get the org_id records from the Multi Organization views.

What happens if I try to query records from Multi-Origination views without setting Org_id at back-end
It will not fetch any records. As, "where" condition fails (org_id = Userenv('CLIENT_INFO'));

Note:- If you set org_id from back-end, then you get org_id value populated by above userenv function.

Is this Multi -Org concept is same for all the Oracle Application versions

Oracle Application History

About Oracle Application :

Oracle Application Story:-

-----------------------------
This article is design to explain what's all about the Oracle Applications

Suppose you are running a small grocery shop named “XYZ Grocery”, so the typical operation as a shop owner is you basically buy groceries from some big seller and stock it in your shop. Now people come to your shop for day-to-day needs and buy stuff from your shop at a slightly higher price than what you originally bought and stocked it in your shop. Occasionally you may not be carrying items or run out of stock that people ask for so you make a note of it and promise the person to come back tomorrow and they will get their item. So far so good, now let’s name some entities before we proceed and things get complicated. The big seller from whom you buy stock is called as Vendor or Supplier (Vendors are define in the Purchasing Module), the people who come to your shop to buy things are known as customers (Customer are define in the Receivable Module), the stock in your shop is known as inventory.

So far we have identified few entities that play an active role in your day-to-day operations. As time goes by, your business expands and now you take orders over the phone and provide service to deliver the items to your customers, so you hire people to help you out in maintaining the inventory, do the delivery part and all the necessary stuff to keep the business running smoothly. The people you hire are known as Employees. Employees are define in the HRMS Module.

So in this small shop, you typically manage the bookkeeping activities by hand using a notepad or something similar. Now imagine the same setup on a larger scale where you have more than 1, 00,000 customers, have more than 1000 vendors, have more than 1000 employees and have a huge warehouse to maintain your inventory. Now, it is impossible to manage all that information using pen and paper. And if you try to do that, then your business will come to a sudden stop sign.

To facilitate big businesses, companies like Oracle Corporation have created huge software known in the category of ERP (Enterprise Resource Planning) as Oracle Applications. Now coming to think of it, Oracle Application is not one huge software, instead it is a collection of software known as modules (GL, PO, AP, AR or FA etc) that are integrated and talk to each other. Now what is meant by integrated? First let us identify the modules by entities. For e.g. Purchasing and Account Payables deal with the vendors since you typically purchase from vendors and eventually have to pay the dues. Oracle Purchasing handles all the requisitions and purchase orders to the vendors whereas Oracle Accounts Payables handles all the payments to the vendors.

Similarly Oracle Inventory deals with the items you maintain in stock, warehouse etc. Dealing with customers is handled collectively with the help of Oracle Receivables and Oracle Order Management. Order Management helps you collect all the information that your customer is ordering over the phone or web store etc where as Receivables help you collect the money for the orders that are delivered to the customers.

Now who maintains the paychecks, benefits of the 1000 employees? Right! It is managed by Oracle Human Resources. So you get the idea by now that for each logical function there is a separate module that helps to execute and maintain that function.
So all the individual functions are being taken care but how do I know if I am making profit or loss? That’s where integration comes into play. There is another module known as Oracle General Ledger. This module receives information from all the different transaction modules and summarizes them in order to help you create profit and loss statements, reports for paying Taxes etc.

Just to simplify the explanation, when you pay your employees that payment is reported back to General Ledgers as cost i.e. money going out, when you purchase inventory items the information is transferred to GL as money going out, and so is the case when you pay your vendors. Similarly when you receive items in your inventory it is transferred to GL as money coming in, when your customer sends payment it is transferred to GL as money coming in, so all the different transaction modules report to GL (General Ledger) as either “money going in” or “money going out”, the net result will tell you if you are making a profit or loss.

All the equipment, shops, warehouses, computers can be termed as Assets and they are managed by Oracle Fixed Assets. Initially Oracle Applications started as bunch of modules and as time passed by they added new modules for different and new functions growing out of the need for today’s internet world.

So if you come across a module that you are trying to learn and work on, first try to understand what business need it is trying to fulfill and then try to understand what the immediate modules that it interacts with. For e.g. lets say you come across Oracle Cost Management module, you will learn that it helps to maintain the costs of items in your inventory and the immediate modules that it interacts with are Oracle Inventory (of course), Oracle Bills of Material, Order Management and so on..

I have listed few modules description:-

Oracle Purchasing handles all the requisitions and purchase orders to the vendors.

Oracle Payables handles all the payments to the vendors.

Oracle Inventory deals with the items you maintain in stock, warehouse etc.

Order Management helps you collect all the information that your customers order.

Oracle Receivables help you collect the money for the orders that are delivered to the customers.

Oracle Human Resources helps maintain the Employee information, helps run paychecks etc.

Oracle General Ledger receives information from all the different transaction modules or sub ledgers and summarizes them in order to help you create profit and loss statements, reports for paying Taxes etc. For Example: when you pay your employees in your organization then that payment is reported back to General Ledgers as cost i.e. money going out, when you purchase inventory items and the information is transferred to GL as money going out, and so is the case when you pay your vendors. Similarly when you receive items into your inventory, it is transferred to GL as money coming in, when your customer sends payment, it is transferred to GL as money coming in. so all the different transaction modules report to GL (General Ledger) as either “money going in” or “money going out”, the net result will tell you if you are making a profit or loss.

Oracle Fixed Assets All the equipment, shops, warehouses, computers can be termed as ASSETS and they are managed by Oracle Fixed Assets Module.

There are lot of modules keep adding everyday in Oracle Application. Oracle application is
acquiring other EPR software and Integrating all the software in one software. They want to name it as Oracle Fusion. But, this is not ending. This is starting point to new World of ERP.