Lets take a case Food industry:

FG Foods Ltd. sell variety of Chicken which can have different weight. The superior quality of a chicken weighs to 4 Pound (on an average) but the deviation can be ±10%. This chicken is purchased on number basis and later it is sold on Number (Each) basis as well as on weight (Pound-Lbs) basis. So here Chicken is getting transacted based on two UOM and FG Foods want to track Qty on both UoM basis.
To satisfy this requirement we need to define an item which can be tracked on two UoM, define converser rate between these UoMs.

Item Definition:
UoM Conversion:
Also define Inter-class conversion that too item specific.
1 Unit = 4 Pound

Transactions:
Lets look at the transaction below, 100 Lbs comes to 25 chickens (as per tolerance), but if it goes beyond the tolerance then Oracle will not accept it.


In this case, based on tolerance defined it will accept values for secondary UoM ±2.5 (10% of 25).
So in below transactions one line is on –ve tolerance and other is on +ve tolerance.

On-hand and Availability:

Miscellaneous Issue:
Lets try doing issue transaction based on only Secondary UoM (Each). Oracle will automatically calculate quantity in other UoM based on the conversion rate.


On-hand Qty:
In above transaction, even though we did not give value in Lbs, Oracle deducted one chicken and 4 Pounds (refer the conversion).
51-1   = 50 Each
200-4 = 196 Lbs


Price List View:
Oracle accepts different price values for different UoM as shown below, and you can sell the product on any UoM.


Sales Order Lines 68097 :
Lets sell this product based on different UoM..
Oracle will pull the price based on UoM you mentioned on the Order line, also it asks to feed the secondary qty as well. But remember the final transaction will happen based on UoM added on Order line and then other qty will be calculated.


Now Process the Order: Book > Pick Release > Pick Confirm > Ship Confirm.

Observe the above shipping transactions,
Line 1.1: even though its showing Secondary Req Qty as 12 actual Secondary Shipped Qty is 11.5 (as per the conversion), as 46Lbs of chicken comes to 11.5 (46/4)
Line 1.2: Here we did not give qty in Lbs, so oracle calculated it based on conversion and populated.
At the end of this transaction the final On-Hand shall as below:
50 – (11.5+12) =  26.5
196 – (46+48)  = 102
Item Orderability – This is new feature introduced in Oracle R12.1.1.This is the rule that user can define to restrict the items/group of item (Category) that can be ordered from the Sales Order form.

Because of the complex business scenario in the Modern time organization want to control which customer are allowed to order which product.

Consider below scenarios:
• If a company is developing customer specific items, then specific item shall be sold to specific customer only.
• Few products may be banned in specific region.
• Few items may be sold thru specific channel only. Example: Online, Distributors, franchises, Sales Executive etc.

Now Order management Provide a new utility in R12.1.1 to define the rule to restrict the Item to be sold, based on rules, this utility is name as
Item Orderability Rules. It allows user to Order the Item based on the Rules. Item Orderability rules are defined at Operating Unit (OU) Level.


Now let’s have a deeper look at Item Orderability:

Level at which rule can be built:
As of Now Oracle has provided rules to control only at 11 attributes  


01. Customer

02. Customer Class
03. Customer Category
04. Region
05. Order Type
06. Ship To
07. Bill To
08. Deliver To
09. Sales Channel
10. Sales Representative
11. End Customer
Rule can be defined based on any combination of above attributes:
Example:


 
 Suppose one rule is built based on multiple attributes as done in above example:
The OR condition is applicable when evaluating multiple conditions. In the example above, either the ‘Customer Category’ OR ‘Customer’ OR ‘Sales Channel’ is taken into consideration.

Criteria for the rule:
Criteria can be ‘Item’ or ‘Item Category’


If you select Category as a criterion then you will see “Item Categories
Codes” from the Category Set which is assigned as ‘Default Category Set’
for Order Entry functional area for that OU.

Example:
In our case ‘Order Entry’ has ‘Inv.Item’ category set assigned so we
will be able see category codes from ‘Inv.Item’ Category set only.



Item Validation Organization is referred to validate ‘Item + Category’ combination

Generally Available Flag:
We can set up rules to define when an item or item category is generally not available (the Generally Available box is unselected)
with the conditions available for that rule. For example, Item X is
generally not available, however, since you have set up conditions at
the Rule Level, it is available for a particular customer, or region or
customer class.

Conclusion:
Generally Available box is unselected: Oracle will allow putting order for Criteria + ruling combination
Generally Available box is Selected:      Oracle will not allow putting order for Criteria + Rule combination

This is illustrated in the example below:

Case 1: Unselect Generally Available

This means, Item ‘AS54999’ is generally not available for all, but you want to sell it to Customer ‘A. C. Networks’ only.

So this rule allows putting order for Customer + Item combination.

Case 2: Select Generally Available


This means, Item ‘AS54999’ is generally available but you do not want Customer ‘A. C. Networks’ to order it.
So this rule does not allow putting order for Customer + Item combination



Effect of “OM: Use Materialized View for Items LOV (Honors Item Orderability Rules)”

If the value of the profile option OM: Use Materialized View for Items LOV
(Honors Item Orderability Rules) is set to Yes, then the Ordered Item
LOV displays only those items which are based on the rules defined. The
Ordered Item LOV is then dynamically populated based on Item
Orderability Rules and the current attribute values on the line.


If the value of the profile option OM: Use Materialized View for Items LOV
(Honors Item Orderability Rules) is set to No, then the Ordered Items
LOV lists all the items of the item validation organization of the
current operating unit. This doesn’t consider the defined item
orderability rules, however if there is a defined rule that prevents the
item from being ordered, then an error message is displayed while
saving the order. You will not be able to save the order. Below is
Simple test case for Item Orderability feature.


Steps to Define the Item Orderability Rule- 

  1. Select the Criteria  (Item or Category. And Generally Available or not)
  2. Select criteria values (Item Number / Category Code)
  3. Select the Rules Level/s (by selecting any combinations of above 11 attributes)
  4. Select Rules Level value.
If you find a case where Shipped Quantity more than Ordered Quantity, then you may control it using the shipment tolerance setup given below.
Over or under shipment tolerance can be setup at at three levels.

1. Item Level (Highest precedence)

2. Customer Level

3. Profile Option (Lowest precedence): This can be setup at Site level.

This post will cover brief overview of steps required to configure Oracle Inventory.

There are some required, optional steps and for some steps you have to check some pre defined system default values that weather it suits your business needs or change them. Perform optional steps only if you are using that business functions.

Later on I will post about optional steps.

Before defining inventory items configuring item flexfield is necessary. On basis of your requirement specific no of segments with fixed length are defined. Once you define the structure of your flexfield and any applicable value sets, you must freeze and compile your flexfield definition.

For step by step demonstration look at..
Steps to Configure System Item Flexfield


Step-2. Define flexfield of item categories.
Before defining items must design and configure your Item Categories Flexfield as all items need to be assigned with categories. After defining compile the flexfield definition to enable the Categories Flexfield pop-up window. Multiple structures for Item Categories Flexfield can be defined.

For step by step demonstration look at..
Steps to Configure Item Categories Flexfield
Step-3.Define flexfield of item catalog group.
If you do not use catalog group still at least one segment must be enabled.
to group items according to certain descriptive elements, Item Catalog Group Flexfield need to be configured. Defining and Compiling the flexfield definition enables the Item Catalog Group Flexfield pop-up

Step-4. Define flexfield of stock locators.
In order to keep track record of locators for inventory items stock locators need to be

configured. e.g. bin, row indicators. Must compile stock locator flexfield even locator control is not implemented

Step-5. Define flexfield of account aliases.
If you want to define logical references to frequently used account number and combinations and use them as transaction source types,you need to configure your account aliases flexfield and define account aliases.

Step-6. Define flexfield of sales orders.
Sales order flexfield must be configured if items will be shipped from inventory.


Step-7. Define Organization Calendar.
If you want to predict needs of your material or to plan material requirement then you can configure workday calendar for this.Work day calendar provide lot of flexibility in terms of shifts, pattern for working days also you can configure exceptions.

For step by step demonstration look at..
How to Define Work Day Calendar.

Step-8. Define organizations.
Organization define different entities in company which may have different manufacturing facilities, warehouses, distribution centers, and branch offices.
Step-9. Setup Change Organizations.
This setup enables you to change organization you define in oracle inventory.using the Change Organization window you can log out and log back in to Oracle Inventory.


Step-10. Define Inventory Relations.

For inter company relations between two operating units (typically the Shipping and Selling organizations) in a multi-organization environment, you must define the relationship in the Intercompany Relations window.

Step-11. Define unit of measure classes.
 All items having similar characteristics fall under same UOM class like Kilogram or Length.

Step-12. Define Sub inventories.

Sub inventory groups inventory logically or physically, at least one sub inventory must be assigned to each organization.

Step-13. Define Item attribute controls.
Attributes are detail information about items.Each attribute is maintained at master level or organization level.If an attribute is defined as master level then it can only be updated at item master level and attributes maintained at item/organization level can only be updated at this level only.
Step-14. Define Categories.

Categories are defined to manage items having same characteristics.

Step-15. Define Category Set and default Category Set.
Sets are defined to further group categories more functionally.Also define at least one default category set.

Step-16. Define statuses.
Statuses are defined to restrict or enable item for different functional areas.
Step-17. Define Cost Types.
Some predefined types are already defined but you can also define your own cost type.
Step-18. Define Accounting Periods.
Periods are defined in oracle General Ledger and in oracle inventory can be opened using inventory periods.

Step-19. Set profile options.

After defining System item flexfield next step to do is to define Item categories flexfield .
1. Go to Inventory responsibility and open Key Fleffield 
    Flexfield -> Key -> Segments

Key Flex Field

In flexfield title search for Item Categories.

Item Categories

2. Enter new record in this case ORK Item Categories. Now click on segments to enter segments summary.

3. You can define any number of segments according to your business requirement  here is this example we   will define three segments.

4. Enter first segment as Super Category. assign column and value set to this segment.
5. Repeatedly do above step for both next segments.Column indicates the database fields that will hold entered value for specific segment. Now enter your desired item segments name and their corresponding value sets.
6. Now freeze flexfield and compile it.